Hi,
In this version I followed Bin Meng's suggestion and reverted patch 1
back from what it was in the v5, acks included, and added a new patch
(3) to fix the problem detected with the Xvisor use case. I believe this
reflects that there is nothing particularly wrong with what we
did in the v5 patch and we're going an extra mile to fix what, at first
glance, is a bug somewhere else.
In patch 3 I also followed Phil's idea and used a translate_fn()
callback to do the bit clearing.
Changes from v6:
- patch 1:
- restored to the state it was in v5, acks included
- patch 3 (new):
- clear the higher bits from the result of load_elf_ram_sym() using a
translate_fn() callback for 32 bit CPUs
v6 link: https://lists.gnu.org/archive/html/qemu-devel/2023-01/msg02630.html
Daniel Henrique Barboza (3):
hw/riscv/boot.c: consolidate all kernel init in riscv_load_kernel()
hw/riscv/boot.c: make riscv_load_initrd() static
hw/riscv: clear kernel_entry higher bits in load_elf_ram_sym()
hw/riscv/boot.c | 111 ++++++++++++++++++++++++-------------
hw/riscv/microchip_pfsoc.c | 12 +---
hw/riscv/opentitan.c | 3 +-
hw/riscv/sifive_e.c | 4 +-
hw/riscv/sifive_u.c | 12 +---
hw/riscv/spike.c | 13 +----
hw/riscv/virt.c | 12 +---
include/hw/riscv/boot.h | 3 +-
8 files changed, 89 insertions(+), 81 deletions(-)
--
2.39.0