All of lore.kernel.org
 help / color / mirror / Atom feed
* confusion over vcpumask in mmuext_op
@ 2007-01-04  1:43 John Levon
  2007-01-04  2:41 ` Mark Williamson
  0 siblings, 1 reply; 5+ messages in thread
From: John Levon @ 2007-01-04  1:43 UTC (permalink / raw)
  To: xen-devel


vcpumask is now a guest handle, but it seems the Linux code still sets
it directly instead of using set_xen_guest_handle(). What am I missing?

regards
john

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: confusion over vcpumask in mmuext_op
  2007-01-04  1:43 confusion over vcpumask in mmuext_op John Levon
@ 2007-01-04  2:41 ` Mark Williamson
  2007-01-04  9:44   ` Keir Fraser
  2007-01-04 14:32   ` John Levon
  0 siblings, 2 replies; 5+ messages in thread
From: Mark Williamson @ 2007-01-04  2:41 UTC (permalink / raw)
  To: xen-devel; +Cc: John Levon

> vcpumask is now a guest handle, but it seems the Linux code still sets
> it directly instead of using set_xen_guest_handle(). What am I missing?

It's a result of some version-fu in the interface:

Linux's drivers/xen/Kconfig defines:
if XEN
config XEN_INTERFACE_VERSION
	hex
	default 0x00030203

xen.h defines:
struct mmuext_op {
    unsigned int cmd;
    union {
        /* [UN]PIN_TABLE, NEW_BASEPTR, NEW_USER_BASEPTR */
        xen_pfn_t     mfn;
        /* INVLPG_LOCAL, INVLPG_ALL, SET_LDT */
        unsigned long linear_addr;
    } arg1;
    union {
        /* SET_LDT */
        unsigned int nr_ents;
        /* TLB_FLUSH_MULTI, INVLPG_MULTI */
        XEN_GUEST_HANDLE_00030205(void) vcpumask; /* MW:note the macro name */
    } arg2;
};


typedef struct
And xen-compat.h defines:
/* Fields defined as a Xen guest handle since 0x00030205. */
#if __XEN_INTERFACE_VERSION__ >= 0x00030205
#define XEN_GUEST_HANDLE_00030205(type) XEN_GUEST_HANDLE(type)
#else
#define XEN_GUEST_HANDLE_00030205(type) type *
#endif

So actually the field vcpumask is currently being compiled as a void *.

Cheers,
Mark


-- 
Dave: Just a question. What use is a unicyle with no seat?  And no pedals!
Mark: To answer a question with a question: What use is a skateboard?
Dave: Skateboards have wheels.
Mark: My wheel has a wheel!

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: confusion over vcpumask in mmuext_op
  2007-01-04  2:41 ` Mark Williamson
@ 2007-01-04  9:44   ` Keir Fraser
  2007-01-04 14:32   ` John Levon
  1 sibling, 0 replies; 5+ messages in thread
From: Keir Fraser @ 2007-01-04  9:44 UTC (permalink / raw)
  To: Mark Williamson, xen-devel; +Cc: John Levon




On 4/1/07 02:41, "Mark Williamson" <mark.williamson@cl.cam.ac.uk> wrote:

> So actually the field vcpumask is currently being compiled as a void *.

And we get away with this because, on x86, there is no ABI difference
between a guest handle and a plain pointer. This was done just as an
interface cleanup, and because I think it makes Jan's 32-on-64 work easier.

 -- Keir

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: confusion over vcpumask in mmuext_op
  2007-01-04  2:41 ` Mark Williamson
  2007-01-04  9:44   ` Keir Fraser
@ 2007-01-04 14:32   ` John Levon
  2007-01-04 14:53     ` Keir Fraser
  1 sibling, 1 reply; 5+ messages in thread
From: John Levon @ 2007-01-04 14:32 UTC (permalink / raw)
  To: Mark Williamson; +Cc: xen-devel

On Thu, Jan 04, 2007 at 02:41:47AM +0000, Mark Williamson wrote:

> Linux's drivers/xen/Kconfig defines:
> if XEN
> config XEN_INTERFACE_VERSION
> 	hex
> 	default 0x00030203

Ah thanks. I must admit to being a bit confused though. If
xen-unstable's sparse tree isn't using the latest interface, what is?
Just us ? :)

john

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: confusion over vcpumask in mmuext_op
  2007-01-04 14:32   ` John Levon
@ 2007-01-04 14:53     ` Keir Fraser
  0 siblings, 0 replies; 5+ messages in thread
From: Keir Fraser @ 2007-01-04 14:53 UTC (permalink / raw)
  To: John Levon, Mark Williamson; +Cc: xen-devel




On 4/1/07 14:32, "John Levon" <levon@movementarian.org> wrote:

> On Thu, Jan 04, 2007 at 02:41:47AM +0000, Mark Williamson wrote:
> 
>> Linux's drivers/xen/Kconfig defines:
>> if XEN
>> config XEN_INTERFACE_VERSION
>> hex
>> default 0x00030203
> 
> Ah thanks. I must admit to being a bit confused though. If
> xen-unstable's sparse tree isn't using the latest interface, what is?
> Just us ? :)

The tools and Xen itself use the latest version, and minios too I think. We
haven't got round to moving Linux off of dom0_ops, hence the interface
version hasn't yet been bumped there.

 -- Keir

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2007-01-04 14:53 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-04  1:43 confusion over vcpumask in mmuext_op John Levon
2007-01-04  2:41 ` Mark Williamson
2007-01-04  9:44   ` Keir Fraser
2007-01-04 14:32   ` John Levon
2007-01-04 14:53     ` Keir Fraser

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.