Now in order to run VM86, I need a way to access user mode ring 3.
So this solves my problem. Theres only one catch.Suffice to say that if you've chosen to put your kernel in the bottom half and your applications in the top half, you're stuck (unless you re-map the first megabyte so that it's accessible to ring 3 and make sure there's nothing important there
Where do I run my vm86 code from? I suppose its in the kernel space, but if this is so; will I be able to access the vm86 code from the memory space outside of the kernel?
Second point: Can I have a kernel space from 1MB - 1GB and have the Vm86, ISA/DMA code inside of it?
Third point: If the vm86 code is in the kernel, is there a way to prevent the code from enterfering with other drivers and stuff found in the kernel?