[PATCH v7 0/3] hw/riscv: clear kernel_entry high bits with 32bit CPUs

Daniel Henrique Barboza posted 3 patches 1 year, 3 months ago
Failed in applying to current master (apply log)
There is a newer version of this series
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(-)
[PATCH v7 0/3] hw/riscv: clear kernel_entry high bits with 32bit CPUs
Posted by Daniel Henrique Barboza 1 year, 3 months ago
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