It works by running QEMU inside Linux inside a modified JSLinux, and then running Win2K inside QEMU.
JSLinux was modified to incorporate AMD's hardware-assisted virtualization instructions/extensions, so that QEMU could use KVM. This means that actual x86 emulation gets done in JavaScript layer, and you have (JavaScript (JSLinux(QEMU)) <-> Win2K) instead of (JavaScript(JSLinux(QEMU(Win2K))))), which would be... well I tried running Mini vMac (Mac 128K emulator) inside Basilisk II (PowerPC Mac emulator) one day... it was pretty much unusable, even though Classic Mac OS was designed for a 7.8MHz CPU.
So basically this wouldn't have been possible without implementing virtualization. Despite the fact that said virtualization is actually fake, and it's really emulation.
It works by running QEMU inside Linux inside a modified JSLinux, and then running Win2K inside QEMU.
JSLinux was modified to incorporate AMD's hardware-assisted virtualization instructions/extensions, so that QEMU could use KVM. This means that actual x86 emulation gets done in JavaScript layer, and you have (JavaScript (JSLinux(QEMU)) <-> Win2K) instead of (JavaScript(JSLinux(QEMU(Win2K))))), which would be... well I tried running Mini vMac (Mac 128K emulator) inside Basilisk II (PowerPC Mac emulator) one day... it was pretty much unusable, even though Classic Mac OS was designed for a 7.8MHz CPU.
So basically this wouldn't have been possible without implementing virtualization. Despite the fact that said virtualization is actually fake, and it's really emulation.