On 2/24/26 00:39, Mohamed Mediouni wrote:
It's a bit of a misnomer, but didn't rename this series to not cause more
confusion... should
probably have been named more like:
whpx, target/i386/emulate: fixes for target/i386/emulate and move WHPX x86 to
it + WHPX misc fixes
Should have probably put a bit less faith in the state of target/i386/emulate
from the get-go...
In guest OSes compatibility: Win9x works now (but is not too stable...). I
probably recommend using -M kernel-irqchip=off
for that case though as it apparently raises stability (a bit). Win9x didn't
work with winhvemulate.
32-bit Haiku didn't work for me with or without this, with an invalid bit being
there in the PTEs, but 64-bit Haiku works.
On the bright side, this series should fix a lot on x86 HVF too...
Some questions/notes for mshv:
- On the model of the "whpx: i386: inject exceptions" commit, also have
injection of raised exceptions for
the MSHV backend for this all to work as expected.
- I removed the reliance on the Hyper-V GVA translate call, which is a very
slow one. If you want to add it
back instead of using the QEMU target/i386/emulate page table walker, there
probably ought to be a way to reduce
the number of calls to that...
- but emul_ops has a new mmu_gva_to_gpa call to enable this case to be
implemented
- la57 code is not exactly tested
And in missing things that are probably a better fit for a separate patch
(series) instead of this continously-growing one:
- I don't handle privileges for the page walker in target/i386/emulate
- and SMAP/SMEP for it, with complexity they might add to the picture
- and the same applies to putting the reserved bit on error_code for erroneous
PTEs
Yes, these can come later; maybe the TCG page walker could even be
shared with target/i386/emulate.
I'm queuing this thing but please take a look at my remark to patch 25
and I can squash the diff.
Paolo