Commit graph

4 commits

Author SHA1 Message Date
Rian Quinn
fd7e6bee3c Fix fail handler logic, TLB flushing, Windows support
This patch:
- Fixes some bugs with Windows. It is working again
- Fixes a long-time issue with Linux on some Intel CPUs that
  would cause any attempt to load the driver to crash due to
  the GDT being marked as read only, and the Linux APIs
  for this will triple fault your system if these APIs are
  not used very quickly (a bug that probably should be
  reported to Linux).
- Fixes issues with how the fail logic worked. You can not
  fail inside the fail handler. New integration tests were
  added to ensure that this case works as expected. In
  general, the hypervisor has less assembly, and should be
  more robust as a result.
- Fixes how TLB flushing is done, and adds TLB flushing APIs.
  A future PR will use this code to implement free_page and
  free_huge.
- Continued work on removing the heap logic that is no longer
  supported.
2021-10-05 16:43:10 -06:00
Rian Quinn
e6ab83751b Syscall/ABI changes to support the execution of Guest VMs.
This patch provides
- A change to the way advance IP worked. It now also runs the
  the VS.
- Added two new ABIs to support changing the active VM. This
  allows exit handlers to determine which VM they want to
  work with, without having to run the VM to make this change
  occur
- Adds some sanity checks to some of the registers to ensure
  they are configured properly by extensions.
2021-09-24 06:43:39 -06:00
Rian Quinn
76fabc5f47 Move the IOCTL logic to Lib so that it can be used by MicroV 2021-09-12 19:20:59 -06:00
Rian Quinn
6850437bb9 Updates to match the changes to the BSL
This patch addresses the following:
- Adds a number of addition hypercall that are needed for MicroV
- Updates the code to support the changes made to the BSL including
  better checking of safe integrals and narrow contracts
- Adds a lib folder to contain code shared between the kernel and
  extensions where possible.
- Minor initial additions for Rust. Still lots of work to do here
2021-09-08 15:47:38 -06:00