mbox series

[v4,0/3] Support 64-bit address of initrd

Message ID 20241120153935.24706-1-jim.shu@sifive.com (mailing list archive)
Headers show
Series Support 64-bit address of initrd | expand

Message

Jim Shu Nov. 20, 2024, 3:39 p.m. UTC
Support to load DTB after 3GB on RV64 system, so that larger initrd
doesn't be overlapped to DTB. DTB loading now will check if overlapping
to kernel/initrd and report this error.

Verify the patch via running 4GB initramfs on the virt machine.


Changes for v4:

  - Update the comments of loading DTB in 64-bit CPU
  - Align image_[low|high]_addr's type with initrd_start (hwaddr)
  - Fix commit 2 to avoid unnecessary change .h file of board

Changes for v3:

  - Change struct RISCVBootInfo from machine state to local variables.

Changes for v2:

  - Add DTB overlapping checking and struct RISCVBootInfo
  - Remove the commit to change #address-cell of 'initrd-[start|end]'

Jim Shu (3):
  hw/riscv: Support to load DTB after 3GB memory on 64-bit system.
  hw/riscv: Add a new struct RISCVBootInfo
  hw/riscv: Add the checking if DTB overlaps to kernel or initrd

 hw/riscv/boot.c            | 100 +++++++++++++++++++++++++------------
 hw/riscv/microchip_pfsoc.c |  13 +++--
 hw/riscv/opentitan.c       |   4 +-
 hw/riscv/sifive_e.c        |   4 +-
 hw/riscv/sifive_u.c        |  14 +++---
 hw/riscv/spike.c           |  14 +++---
 hw/riscv/virt.c            |  13 +++--
 include/hw/riscv/boot.h    |  28 ++++++++---
 8 files changed, 127 insertions(+), 63 deletions(-)