Andrei Warkentin
Andrei Warkentin
You mentioned "_but there are still many more details to fix before we achieve hypervisor spec compliance. Performance improvements are also needed_" in the README, but do you happen to...
More silent corruption due to lack of reentrance. But it's not enough to wrap uc_mem_protect...interrupts can be re-enabled inside JITted code (or really anytime) due to TPL manipulation, so need...
Maybe venid/devid based, maybe signature or name based. Basically provide an escape hatch for integrators to deal with crazy issues like https://github.com/intel/MultiArchUefiPkg/issues/48. This would also need a way to negotiate...
If an emulated image crashes and gets unloaded, it may have left event handlers behind which will of course bomb out. This is a good reason for always enabling MAU_WRAPPED_ENTRY_POINTS...
Another mechanism could be to simply ignore reads/writes to bottom 64k, going on the theory this isn't the first or the last bit of code that accidentally scribbles something around...
https://github.com/intel/MultiArchUefiPkg/blob/5596cb031c88dab1b620afd116d7a3b55f0d4403/Drivers/Emulator/Cpu.c#L313 AArch64 has a 16-byte red zone.
https://github.com/intel/MultiArchUefiPkg/blob/5596cb031c88dab1b620afd116d7a3b55f0d4403/Drivers/Emulator/Image.c#L169 Nece_sss_ary
Make it match reality. https://github.com/intel/MultiArchUefiPkg/blob/5596cb031c88dab1b620afd116d7a3b55f0d4403/Drivers/Emulator/Image.c#L157
These are not used by anything, and thus can cause a potential conflict. https://github.com/intel/MultiArchUefiPkg/blob/5596cb031c88dab1b620afd116d7a3b55f0d4403/Drivers/Emulator/RISCV64/Emulator.c#L263
https://github.com/intel/MultiArchUefiPkg/blob/5596cb031c88dab1b620afd116d7a3b55f0d4403/Drivers/Emulator/RISCV64/Emulator.c#L33