Messages in this thread | | | Subject | Re: [PATCH v1 00/15] Add support for Nitro Enclaves | From | Alexander Graf <> | Date | Thu, 23 Apr 2020 22:56:08 +0200 |
| |
On 23.04.20 19:51, Paolo Bonzini wrote: > > On 23/04/20 19:42, Paraschiv, Andra-Irina wrote: >>> >>>>> - the initial CPU state: CPL0 vs. CPL3, initial program counter, etc. >> >> The enclave VM has its own kernel and follows the well-known Linux boot >> protocol, in the end getting to the user application after init finishes >> its work, so that's CPL3. > > CPL3 is how the user application run, but does the enclave's Linux boot > process start in real mode at the reset vector (0xfffffff0), in 16-bit > protected mode at the Linux bzImage entry point, or at the ELF entry point?
There is no "entry point" per se. You prepopulate at target bzImage into the enclave memory on boot which then follows the standard boot protocol. Everything before that (enclave firmware, etc.) is provided by the enclave environment.
Think of it like a mechanism to launch a second QEMU instance on the host, but all you can actually control are the -smp, -m, -kernel and -initrd parameters. The only I/O channel you have between your VM and that new VM is a vsock channel which is configured by the host on your behalf.
Alex
Amazon Development Center Germany GmbH Krausenstr. 38 10117 Berlin Geschaeftsfuehrung: Christian Schlaeger, Jonathan Weiss Eingetragen am Amtsgericht Charlottenburg unter HRB 149173 B Sitz: Berlin Ust-ID: DE 289 237 879
| |