|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 02/10] xen: make GUEST_HANDLE_64() and uint64_aligned_t available everywhere
>>> On 25.06.13 at 16:48, David Vrabel <david.vrabel@xxxxxxxxxx> wrote:
> I want the structure to be identical for 32-bit and 64-bit guests so
> compat code is not required in the hypervisor.
>
> Without a macro like XEN_GUEST_HANDLE_64() how do you suggest the
> structure is defined so the field is sized correctly (i.e., 8 bytes)?
>
> Are you suggesting something like?
>
> typedef struct xen_kexec_load {
> uint8_t type; /* One of KEXEC_TYPE_* */
> uint8_t _pad;
> uint16_t arch; /* ELF machine type (EM_*). */
> uint32_t nr_segments;
> union {
> XEN_GUEST_HANDLE(xen_kexec_segment_t) segments;
> uint64_t _qword;
> } u;
> uint64_t entry_maddr; /* image entry point machine address. */
> } xen_kexec_load_t;
Yes - there are already other cases similar to this in the public
headers, for example struct vcpu_register_runstate_memory_area
and struct vcpu_register_time_memory_area.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |