On 8/1/25 11:52 AM, Mohamed Mediouni wrote:


On 1. Aug 2025, at 19:22, Pierrick Bouvier <pierrick.bouv...@linaro.org> wrote:

On 8/1/25 5:43 AM, Mohamed Mediouni wrote:
On 1. Aug 2025, at 03:15, Pierrick Bouvier <pierrick.bouv...@linaro.org> wrote:

Hi Mohamed,

On 7/30/25 10:27 PM, Mohamed Mediouni wrote:
This one took way longer for me to publish than I should have.
There are a number of lingering bugs in this one including u-boot not working.
Interrupt controller save/restore is entirely missing in this RFC, and some 
other state
bits are likely still missing too.
ITS not blocked by default yet, remember to use its=off when testing this 
series.
You might also want the GICv3 + GICv2m support patch as part of the HVF vGIC 
patch series, which
is not duplicated here.
PS: on both this and HVF, interrupt controller initialisation needs to be done 
early so I ended
up with hardcoded addresses. Wonder if the right way to go might be to defer 
virt and vCPU initialisation
until late in the process post-gic_realize...
Other than that, this boots both EDK2 and Linux in SMP, when using devicetree 
or ACPI.

thanks for posting this, that's an exciting series!

I applied it on top of your other series 
(20250728134114.77545-1-moha...@unpredictable.fr) and solved the conflicts.
However, it would really help if you could push that exact branch somewhere, so 
people can easily pull it and try.
I'm fine if you want to duplicate gic patches in this series as well.
Hello,
My branches are at https://github.com/mediouni-m/qemu


Thanks, it's worth adding it in cover letter for next versions.

whpx-v1 corresponding to this RFC, but latest rev of the whpx branch has some 
fixes
Have some additional notes and binaries here too: 
https://github.com/mediouni-m/qemu/releases/tag/whpx-v1.1
Thank you,
-Mohamed
I tried to direct boot a kernel (6.15 defconfig) and ran into this error [1]:
$ ./build/qemu-system-aarch64.exe -M virt,its=off -cpu cortex-a76 -m 2G 
-nographic -accel whpx -kernel out/Image.gz out/host.ext4
Syntax that I use is -M virt,accel=whpx,its=off -m 2048-cpu cortex-a72 -bios 
share/edk2-aarch64-code.fd.
And on some kernel versions, you’ll also need irqchip.gicv3_nolpi=1.
Could you please share your exact command line?
Does it work with direct kernel boot also?

Kind Regards,
Pierrick

[1] Error when booting:
[    1.381525] Internal error: Oops: 0000000096000002 [#1]  SMP
[    1.458060] Modules linked in:
[    1.461172] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 
6.15.0-00001-g7797e43a2520 #1 PREEMPT
[    1.470502] Hardware name: linux,dummy-virt (DT)
[    1.475102] pstate: 204000c5 (nzCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[    1.482023] pc : pci_generic_config_read+0x38/0xb8
[    1.486970] lr : pci_generic_config_read+0x24/0xb8
I don’t think I saw this particular one before… which Windows version and 
hardware are you testing this on?


I see the same error as before.

I tried also binaries from 
https://github.com/mediouni-m/qemu/releases/tag/whpx-v1.1, when directly 
booting kernel, I still see the same pci issue with both binaries and my 
compiled whpx-v1.3.
When booting edk2 provided, I ran into this other error instead with both 
binaries [1].

I'm running latest Windows 11 (stable channel, fully updated), on a microsoft 
volterra (devkit). It might be an issue specific to this platform.

I didn’t test anything on the stable branch for now but only on Canary so far.
Just cursorily tested (EDK2 only) an X Elite device on prod (26100.4652) and 
this issue doesn’t appear.

I have 8cx Gen 3 and 8cx Gen 1 (SQ1) devices around, will test on those older 
SoCs later and see.

Random idea for testing: what if you put -M highmem=off, does that change 
anything?


Good guess, it solves the problem with edk2, and direct boots linux kernel successfully now.

Thanks,
-Mohamed

In case you're interested, we can arrange an access to the machine, but I 
understand if it's not your priority now.

[1]
Windows Hypervisor Platform accelerator is operational
UEFI firmware (version edk2-stable202408-prebuilt.qemu.org built at 16:28:50 on 
Sep 12 2024)
ArmTrngLib could not be correctly initialized.
Error: Image at 000BFDB6000 start failed: 00000001
Error: Image at 000BFD6D000 start failed: Not Found
MapGcdMmioSpace: failed to add GCD memory space for region 
[0x4010000000+0x10000000)
ASSERT_EFI_ERROR (Status = Unsupported)
ASSERT [PciHostBridgeDxe] 
/home/kraxel/projects/qemu/roms/edk2/OvmfPkg/Fdt/FdtPciHostBridgeLib/FdtPciHostBridgeLib.c(326):
 !(((INTN)(RETURN_STATUS)(Status)) < 0)

(Message was sent from the wrong email alias on mobile, resending)
Thank you,
-Mohamed

Thanks,
Pierrick



Reply via email to