[HN Gopher] A new path: vm86-based venix emulator
___________________________________________________________________
A new path: vm86-based venix emulator
Author : ecliptik
Score : 36 points
Date : 2021-08-29 14:43 UTC (8 hours ago)
(HTM) web link (bsdimp.blogspot.com)
(TXT) w3m dump (bsdimp.blogspot.com)
| monocasa wrote:
| > So vm86 mode is a special mode in 32-bit CPUs that lets you
| execute old 16-bit code in the context of a normal process.
|
| It's in 64 bit processors as well. Windows didn't cut 16-bit
| execution due to the processors not supporting it from long mode.
| The issue was software constructs like an increase in max HANDLE
| table size increasing in the transition to 64bit.
| jeroenhd wrote:
| Yeah, as far as I know, the real problem is that Microsoft
| would either develop the 16 but compatibility layer all over
| again, or run NTVDM on top of the 32 bit compatibility mode
| (WOW64) which would also be a tonne of work.
|
| I wonder if you could write something like a program loader
| that uses a hypervisor to execute 16 bit programs natively (as
| opposed to using dosbox with its inefficient emulation) with
| some kind of disk level compatibility layer.
| toast0 wrote:
| There is winevdm, but I don't know how that works, just that
| it does seem to mostly work.
| monocasa wrote:
| You can in fact. Michael Steil talks about his adventures
| using hypervisor.framework to run DOS applications here:
| https://www.pagetable.com/?p=764
| Teknoman117 wrote:
| Executing real mode instructions inside virtualization
| extensions wasn't supported until Sandy Bridge/Westmere
| (called "Unrestricted Guest"). AMD Zen has it as well, not
| sure if any of the FX processors had it. Before then, the
| real mode init of a virtual machine had to be handled via
| software emulation.
|
| edit - remove nitpick about this not being vm86 mode
| because I missed the hypervisor bit in the parent comment.
| monocasa wrote:
| All of the AMD SVM cores supported real mode in guests as
| far as I know, and Sandy Bridge is a decade old at this
| point. But yeah, that was really annoying, retconned
| "restricted guest" would happily let you put real mode
| segment info into the VMCS, but just silently would be
| broken in goofy ways. I tore my hair out for a while
| writing a hypervisor back then that was intending on
| running some real mode code until I figured out what was
| going on.
| rnd0 wrote:
| My question is -are these extentions part of the features
| in newer CPUs that are being exploited like Spectre etc
| or is it completely unrelated. I ask because if it is,
| then it may be a feature (or set of features) that's
| going to be going away.
|
| [edited in hopes of being clearer]
| monocasa wrote:
| It's unrelated to spectre-like vulnerabilities.
___________________________________________________________________
(page generated 2021-08-29 23:02 UTC)