[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Minios-devel] [UNIKRAFT PATCH 0/4] Streamline x86 early boot code.



These patches provide some readibility improvements and streamlining to
the x86 kvm entry code. They are designed both to make the early boot
code more easily understandable, as well as minimizing the time spent in
32 bit protected mode, going to 64-bit long mode as quickly as possible
and deferring as much of the setup until then. The added side effect is
that VMMs that drop the OS off in long mode already (e.g., Firecracker
is doing that) can use the same entry code, just skipping the
_libkvmplat_start32 part.

Because this early boot code tends to be brittle and slightly harder to
debug than other code, I've made the changes very small and incremental.
For example, patch 1 introduces additional labels and replaces magic
values with calculations based on those labels; Then, patch 2 removes
some code, including some of those labels just introduced. In case any
of those patches ever break some platform code on some VMM or in some
unikraft configuration, this will aid the bisecting process.


Florian Schmidt (4):
  plat/kvm: readibility fixes
  plat/kvm: remove 32-bit GDT entry
  plat/kvm: streamline protected mode early boot code
  plat/kvm: Remove superfluous pushes in early boot code

 plat/kvm/include/kvm-x86/traps.h | 14 ++++----
 plat/kvm/x86/entry64.S           | 61 ++++++++++++++++----------------
 2 files changed, 38 insertions(+), 37 deletions(-)

-- 
2.21.0


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.