VCPI Support
Hello, me again!
After working on dos64stb before, I spent some more time trying to add VCPI support to dos32pae, this time without confining the application to EMS memory.
EMS is still used, but this time it's only to create a buffer for page tables, which are copied from/to XMS memory using the copy2x function. It's less efficient than using Unreal Mode for sure, but it's only used during page table setup, which shouldn't represent a large proportion of any actual workload…
Also, it only works if there's a page frame, which I guess is better than nothing!
This PR also includes a TSS (mandatory for VCPI), and makes the double-fault exception handler into a Task Gate, to prevent triple faults when the stack is messed up.
I've now enhanced it so that the EMS page frame is no longer mandatory…