13 #ifndef INCLUDED_BOOTKERNEL_H
14 #define INCLUDED_BOOTKERNEL_H
36 #define KERNEL_CMDLINE_SIZE (2 * KB)
38 #define IMAGE_MAGIC "BOOT_IMAGE!"
39 #define IMAGE_MAGIC_SIZE 12
40 #define CMDLINE_BUF_SIZE 40
43 #define VIRTUALIZED_BOOT 2
86 #define RECOVERY_KERNEL_BIT (1 << 31)
87 #define UPDATE_KERNEL_BIT (1 << 29)
112 const NvS8 *pKernelPartName,
113 const NvS8 *pRamdiskPartName,
114 const NvS8 *pDtbPartName);
138 const NvS8 *pKernName,
139 const NvS8 *pRamdiskName,
140 const NvS8 *pDtbPartName,
141 NvUPtr *pBootAddrVirt,
142 NvUPtr *pRamDiskAddrVirt,
143 NvUPtr **pDtAddrVirt,
144 NvU32 *pKernelUnCompressSize,
145 NvU32 *pRamdiskUncompressSize);
158 #ifdef CONFIG_HYPERVISOR_SUPPORT
165 NvError QbStoreGuestCmdLine(
void);
167 #ifdef CONFIG_SUPPORT_BOOTDATA
175 NvError AddBootDataToSysInfo(
void);
191 #ifdef CONFIG_SUPPORT_BOOTDATA
198 void AddBootDataToDT(
void);
260 if (!pRemains || !pPtr || (*pRemains <= len))
277 NvError
QbQueryMemInfo(NvU8 **pData, NvU32 *pDataSize, NvU64 ReserveMemSize);
292 NvUPtr KernelStartAddr);
297 #endif //INCLUDED_BOOTKERNEL_H
void KernelCmdLine(NvU32 RatchetFuseBurnStatus)
Prepares the kernel command line to be passed to the kernel.
void QbPerformHandOff(NvUPtr *pKernelRegs, NvU32 NumKernelRegs, NvUPtr KernelStartAddr)
Performs any necessary operations before kernel handoff.
NvBool QbIsHypervisorBoot(void)
Determines whether hypervisor is to be booted.
void AppendBoardDT(void)
Appends the board-specific DT support.
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...
void KernelDT(void)
Updates the device tree with architecture-specific and board-specific changes.
NvError QbBoardLoadAndBootKernel(void)
Adds board-specific boot policy.
static void AdjustPointers(NvS32 *pRemains, NvS8 **pPtr, NvS32 len)
Adjusts pointers in a buffer to process appending new string to the buffer.
BootImageType s_g_BootImageType
NvBool QbIsAndroidBoot(void)
Determines whether android is to be booted.
NVIDIA Quickboot Interface: Debugging
BootImageStreamValidation
NvError QbGetSerialNum(NvU8 **pSerialNum, NvU32 *DataSize)
Gets the serial number of the board.
NvError QbDefaultLoadAndBootKernel(void)
Adds a default boot policy.
NvError QbQueryMemInfo(NvU8 **pData, NvU32 *pDataSize, NvU64 ReserveMemSize)
Queries memory info to be passed to kernel.
NvError QbLoadAndBootKernel(const NvS8 *pKernelPartName, const NvS8 *pRamdiskPartName, const NvS8 *pDtbPartName)
(Top-level function) Loads the kernel image from a specific partition.