qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

tcg emulation of arm64, running windows, emulating x86


From: Jason A. Donenfeld
Subject: tcg emulation of arm64, running windows, emulating x86
Date: Sun, 17 Oct 2021 22:35:35 -0600

Hi,

QEMU appears to successfully run Windows on ARM64. This works
especially well with kvm when there's real hardware, but it also works
using TCG.

Windows on ARM64 itself has an emulator for x86 inside of it, which is
more or less essential, as the OS hasn't been fully ported to ARM64
(e.g. .NET 4.5 binaries). This emulator works fine in KVM with real
hardware. It worked fine in TCG, through Windows build 1709, but after
that Windows build it no longer works. Instead, x86 programs hang with
100% cpu usage at some point during their emulation. Presumably some
new feature is being used that TCG does not implement or implements
incorrectly. I would like to find out what that is.

There are a number of things I could investigate to better understand this:
- Debugging the Windows emulator at runtime and seeing where it's
stuck in a loop.
- Debugging QEMU and seeing what the TCG code gen is doing.
- Carefully diff'ing xtajit.dll from 1709 and from after 1709.

But I thought it'd be helpful if I asked here first about potential
"hints". For example, does anybody know of some feature TCG doesn't
implement that an x86 emulator on arm64 is likely to use? Any pointers
or intuitions?

Thank you,
Jason



reply via email to

[Prev in Thread] Current Thread [Next in Thread]