NVIDIA DRIVE OS Linux API Reference5.1.0.2 Release |
NVIDIA Quickboot Interface: Kernel Boot
Description: This file declares APIs and data structures required for kernel booting.
Definition in file bootkernel.h.
Go to the source code of this file.
Macros | |
#define | KERNEL_CMDLINE_SIZE (2 * KB) |
#define | IMAGE_MAGIC "BOOT_IMAGE!" |
#define | IMAGE_MAGIC_SIZE 12 |
#define | CMDLINE_BUF_SIZE 40 |
#define | NATIVE_BOOT 1 |
#define | VIRTUALIZED_BOOT 2 |
#define | RECOVERY_KERNEL_BIT (1 << 31) |
#define | UPDATE_KERNEL_BIT (1 << 29) |
Enumerations | |
enum | BootImageType { BootImageType_Linux = 1, BootImageType_Qnx = 2, BootImageType_Android = 3, BootImageType_Integrity = 4, BootImageType_Mods = 5, BootImageType_Ramdisk = 6, BootImageType_Hypervisor = 7, BootImageType_Force = 0x7FFFFFFF } |
enum | BootImage_Compression { BootImage_CompressionNone = 0, BootImage_CompressionLz4 = 3, BootImage_Force = 0x7FFFFFFF } |
enum | BootImageStreamValidation { BootImageStreamValidation_No = 0, BootImageStreamValidation_Yes = 1, BootImageStreamValidation_Force = 0x7FFFFFFF } |
enum | BootImageLoading { BootImageLoading_NoCompression_NoStreamValidation, BootImageLoading_NoCompression_StreamValidation, BootImageLoading_CompressionLz4_NoStreamValidation, BootImageLoading_CompressionLz4_StreamValidation, BootImageLoading_Force = 0x7FFFFFFF } |
enum | BootGuidType { BootGuidType_Windows = 0, BootGuidType_Linux, BootGuidType_Qnx } |
Functions | |
NvError | QbLoadAndBootKernel (const NvS8 *pKernelPartName, const NvS8 *pRamdiskPartName, const NvS8 *pDtbPartName) |
(Top-level function) Loads the kernel image from a specific partition. More... | |
NvError | QbLoadBootImages (const NvS8 *pKernName, const NvS8 *pRamdiskName, const NvS8 *pDtbPartName, NvUPtr *pBootAddrVirt, NvUPtr *pRamDiskAddrVirt, NvUPtr **pDtAddrVirt, NvU32 *pKernelUnCompressSize, NvU32 *pRamdiskUncompressSize) |
Internal function invoked by QbLoadAndBootKernel to load the images from storage in case of cold boot and from RAM in case of RCM boot. More... | |
void | KernelCmdLine (NvU32 RatchetFuseBurnStatus) |
Prepares the kernel command line to be passed to the kernel. More... | |
void | KernelDT (void) |
Updates the device tree with architecture-specific and board-specific changes. More... | |
void | AppendBoardDT (void) |
Appends the board-specific DT support. More... | |
NvError | QbDefaultLoadAndBootKernel (void) |
Adds a default boot policy. More... | |
NvError | QbBoardLoadAndBootKernel (void) |
Adds board-specific boot policy. More... | |
NvError | QbGetSerialNum (NvU8 **pSerialNum, NvU32 *DataSize) |
Gets the serial number of the board. More... | |
NvBool | QbIsHypervisorBoot (void) |
Determines whether hypervisor is to be booted. More... | |
NvBool | QbIsAndroidBoot (void) |
Determines whether android is to be booted. More... | |
static void | AdjustPointers (NvS32 *pRemains, NvS8 **pPtr, NvS32 len) |
Adjusts pointers in a buffer to process appending new string to the buffer. More... | |
NvError | QbQueryMemInfo (NvU8 **pData, NvU32 *pDataSize, NvU64 ReserveMemSize) |
Queries memory info to be passed to kernel. More... | |
void | QbPerformHandOff (NvUPtr *pKernelRegs, NvU32 NumKernelRegs, NvUPtr KernelStartAddr) |
Performs any necessary operations before kernel handoff. More... | |
Variables | |
BootImageType | s_g_BootImageType |
BootImageType s_g_BootImageType |