|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [Draft C] Boot ABI for HVM guests without a device-model
>>> On 04.09.15 at 14:11, <roger.pau@xxxxxxxxxx> wrote:
> * cs: must be a 32-bit read/execute code segment with an offset of â0â
> and a limit of â0xFFFFFFFFâ. The selector value is unspecified.
>
> * ds, es: must be a 32-bit read/write data segment with an offset of
> â0â and a limit of â0xFFFFFFFFâ. The selector values are all unspecified.
In both cases s/offset/base/.
> * tr: must be a 32-bit TSS (active) with a base of '0' and a limit of '0xFF'.
Already on the previous version I asked about this strange 0xFF,
and I don't recall any answer.
> * eflags: bit 17 (VM) must be cleared. Bit 9 (IF) must be cleared.
> Other bits are all unspecified.
At the very least I'd also require TF to be clear.
> The format of the structure passed in the %ebx register is the following:
Even if it may sound like splitting hair: Please use precise wording. It's
not the structure that's contained in %ebx, but %ebx hold the address
of that structure.
> struct hvm_start_info {
> #define HVM_START_MAGIC_VALUE 0x336ec578
> uint32_t magic; /* Contains the magic value 0x336ec578
> */
> /* ("xEn3" with the 0x80 bit of the "E"
> set).*/
> uint32_t flags; /* SIF_xxx flags.
> */
Do really mean to re-use the SIF_* flags here?
> AP startup
> ==========
>
> AP startup is performed using hypercalls. The following VCPU operations
> are used in order to bring up secondary vCPUs:
>
> * VCPUOP_initialise is used to set the initial state of the vCPU. The
> argument passed to the hypercall must be of the type vcpu_hvm_context.
VCPUOP_initialise takes a struct vcpu_guest_context; I don't think
we can or should change that.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |