Message ID | 20240118113123.1672939-1-gaosong@loongson.cn (mailing list archive) |
---|---|
Headers | show |
Series | Add boot LoongArch elf kernel with FDT | expand |
Ping ! 在 2024/1/18 下午7:31, Song Gao 写道: > Hi, All > > We already support boot efi kernel with bios, but not support boot elf kernel. > This series adds boot elf kernel with FDT. > > 'LoongArch supports ACPI and FDT. The information that needs to be passed > to the kernel includes the memmap, the initrd, the command line, optionally > the ACPI/FDT tables, and so on' see [1]. > > Patch 2-8 : Create efi system table, and three efi configuration table > boot_memmap, initd, FDT. > Patch 9-17 : Fixes FDT problems. > > Test: > - Start kernel > See [2] start_kernel.sh > - Start qcow2 > See [2] start_qcow2.sh > > V4: > - patch 3 change slave_boot_code[] to const, and 'static void *p ' to > 'void *p'; > - patch 4 fixes build error; > - patch 10-13, add project and commit link. > > V3: > - Load initrd at kernel_high + 4 * kernel_size; > - Load 'boot_rom' at [0 - 1M], the 'boot_rom' includes > slave_boot_code, cmdline_buf and systab_tables; > - R-b and rebase. > > V2: > - FDT pcie node adds cells 'msi-map'; > > > [1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arch/loongarch/booting.rst?h=v6.7-rc4 > > [2]: https://github.com/gaosong-loongson/loongarch-binary/releases > > Please review! > > Thanks. > Song Gao > > Song Gao (17): > hw/loongarch: Move boot fucntions to boot.c > hw/loongarch: Add load initrd > hw/loongarch: Add slave cpu boot_code > hw/loongarch: Add init_cmdline > hw/loongarch: Init efi_system_table > hw/loongarch: Init efi_boot_memmap table > hw/loongarch: Init efi_initrd table > hw/loongarch: Init efi_fdt table > hw/loongarch: Fix fdt memory node wrong 'reg' > hw/loongarch: fdt adds cpu interrupt controller node > hw/loongarch: fdt adds Extend I/O Interrupt Controller > hw/loongarch: fdt adds pch_pic Controller > hw/loongarch: fdt adds pch_msi Controller > hw/loongarch: fdt adds pcie irq_map node > hw/loongarch: fdt remove unused irqchip node > hw/loongarch: Add cells missing from uart node > hw/loongarch: Add cells missing from rtc node > > include/hw/intc/loongarch_extioi.h | 1 + > include/hw/loongarch/boot.h | 109 +++++++++ > include/hw/loongarch/virt.h | 14 ++ > include/hw/pci-host/ls7a.h | 2 + > target/loongarch/cpu.h | 2 + > hw/loongarch/boot.c | 330 ++++++++++++++++++++++++++ > hw/loongarch/virt.c | 364 ++++++++++++++++------------- > hw/loongarch/meson.build | 1 + > 8 files changed, 661 insertions(+), 162 deletions(-) > create mode 100644 include/hw/loongarch/boot.h > create mode 100644 hw/loongarch/boot.c >