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

Re: [Xen-devel] PCI Pass-through in Xen ARM: Draft 4



On Wed, 2015-09-02 at 13:59 +0100, Julien Grall wrote:

(I'm not caught up on my mail, so just commenting on this one aspect)

> Anyway, I think this logic should be done in the toolstack and not in
> the hypervisor. Only the toolstack is in charge of the memory layout.
> Xen appears to know the memory layout on ARM because it's statically 
> define.

The domU address space GUEST_* #defines in xen/include/public/arch-arm.h
are really just a convenience used when the toolstack and hypervisor need
to agree on a value and that value happens, right now, to be static.

The _correct_ interface would be a hypercall (or several) where the
toolstack tells Xen what the values are, but that's code and faff etc so
where the value which the toolstack is static we take a short cut and add
one of these #defines.

So everyone should just think of every GUEST_FOO in there as being
equivalent to:
    struct xen_arch_domainconfig {
        //.... other stuff
        uint64_t foo;
    };
i.e. passed to XEN_DOMCTL_createdomain during domain build (obviously and a
field foo in struct arch_domain where Xen stashes the value and uses that
instead of GUEST_FOO etc).

The actual value of foo would be in tools/libx?/something.h, or decided at
runtime.

Obviously for FOO which is a static value that's a pain, hence the #defines
instead.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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