Hi Phillipe, I needed to test some Xen things on a model I could debug so I took the liberty of re-basing you patches from a 2 years ago. Most of the changes involve dropping patches since merged and dealing with the resultant merging fallout. The fix I posted on Friday for the calculation of the ram base for kernel loading is included. Other tweaks involve moving the location of peri_base to what is indicated by the DTBs (I'm still not sure where the Linux addresses come from, does it re-map the physical address space somewhere?).
My testing ended at getting Xen to boot up and at least echo some stuff to the console: ./qemu-system-aarch64 -machine raspi4b -serial mon:stdio -kernel ~/lsrc/xen/xen-only.cross.arm64/xen/xen -append "dom0_mem=1G,max:1G loglvl=all guest_loglvl=all console=d tuart dtuart=serial0 sync_console" -display none -dtb ./bcm2711-rpi-4-b.dtb - UART enabled - - Boot CPU booting - - Current EL 00000008 - - Initialize CPU - - Turning on paging - - Zero BSS - - Ready - (XEN) Checking for initrd in /chosen (XEN) RAM: 0000000000000000 - 000000003bffffff (XEN) (XEN) MODULE[0]: 0000000000200000 - 000000000034d0c8 Xen (XEN) MODULE[1]: 0000000008000000 - 000000000801cea4 Device Tree (XEN) RESVD[0]: 0000000000000000 - 0000000000001000 (XEN) (XEN) (XEN) Command line: <NULL> (XEN) Domain heap initialised (XEN) Booting using Device Tree (XEN) Platform: Raspberry Pi 4 (XEN) No dtuart path configured (XEN) Bad console= option 'dtuart' My next steps involve debugging Xen so I thought I'd post where I am for the next person that wants to properly wire up the Pi4. Alex Bennée (1): hw/arm: fix the position of vcram for raspi Philippe Mathieu-Daudé (6): hw/misc/bcm2835_property: Add FIXME comment for uninitialized memory hw/misc/bcm2835_property: Handle the 'domain state' property hw/arm/bcm2835_peripherals: Map various BCM2711 blocks hw/arm/bcm2836: Add the BCM2711 which uses a GICv2 hw/arm/bcm2838: Map the PCIe memory space hw/arm/raspi: Add the Raspberry Pi 4B board include/hw/arm/bcm2835_peripherals.h | 9 ++- include/hw/arm/bcm2836.h | 3 + include/hw/arm/raspi_platform.h | 14 +++++ hw/arm/bcm2835_peripherals.c | 38 +++++++++--- hw/arm/bcm2836.c | 89 ++++++++++++++++++++++++++++ hw/arm/raspi.c | 34 ++++++++--- hw/misc/bcm2835_property.c | 10 ++++ 7 files changed, 179 insertions(+), 18 deletions(-) -- 2.30.2