U-Boot: pass a copy of the FDT to the kernel

This commit is contained in:
François Revol 2013-04-21 01:15:43 +02:00
parent 048f079571
commit 247db0d169
2 changed files with 8 additions and 2 deletions

View File

@ -22,8 +22,8 @@ typedef struct {
void *openfirmware_entry;
char rtc_path[128];
// TODO: add FDT
char dummy;
// Flattened Device Tree blob
void *fdt;
} platform_kernel_args;
#endif /* KERNEL_BOOT_PLATFORM_UBOOT_KERNEL_ARGS_H */

View File

@ -105,6 +105,12 @@ platform_start_kernel(void)
addr_t stackTop
= gKernelArgs.cpu_kstack[0].start + gKernelArgs.cpu_kstack[0].size;
if (gFDT) {
// clone the Flattened Device Tree blob
gKernelArgs.platform_args.fdt = kernel_args_malloc(fdt_totalsize(gFDT));
memcpy(gKernelArgs.platform_args.fdt, gFDT, fdt_totalsize(gFDT));
}
// smp_init_other_cpus();
serial_cleanup();
mmu_init_for_kernel();