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

Re: [Xen-devel] hypercall_xlat_continuation()





Mukesh Rathor wrote:


Ian Campbell wrote:
On Sat, 2009-05-23 at 06:17 -0400, Keir Fraser wrote:
On 22/05/2009 22:58, "Mukesh Rathor" <mukesh.rathor@xxxxxxxxxx> wrote:

Ok. Even if I can't make it clearer, at least I'll add few lines of comments
explaining what's going on, after (and if) I figure it out.

Jan,

It seems assumption is made that a 64bit dom0 will not have a 32bit app making
hypercall?

BUG_ON(*reg != (unsigned int)*reg);  <====
You know that all the 'xlat' stuff in Xen is for 32-bit guests running on
64-bit hypervisor, right? 64-bit dom0 would never execute this logic.

It's worth noting though that I don't believe a 32 bit dom0 toolstack on
a 64 bit kernel on a 64 bit hypervisor will work. In particular the
privcmd "make a hypercall" ioctl doesn't do any compat translation so 32
bit xend and friends can't make hypercalls that way and I think the
MMAPBATCH privcmd doesn't work either.

I'm sure there are other cases too (blktap user<->kernel ring layout
maybe?).

Ian.

Thanks Ian for good explanation of hypercall_xlat_continuation().

yeah, I'm just exploring that right now. There is MMAPBATCH_32, btw, in
dom0 that looks like was implemented by PPC folks. Also, MMAP_32.
I was able to start PV guest without network. Not sure if that was
because of compatibility or some other issue. I'm just looking at MMAP
stuff right now, think I finally figured out the chain of calls from
libxc to hyp to dom0 ... ia32_sys_call_table to compat_sys_ioctl to
handler to do_ioctl32_pointer .. whew!!

Thanks,
Mukesh


yeah, looks like privcmd_ioctl_32() only fixes the wrapper struct. The
PFN array still is 32bit pfn's, and privcmd_ioctl() expects 64bits. So,
in a dilemma now, not sure if I should fix it up in privcmd_ioctl_32()
or change privcmd_ioctl() which will take some time to reverse engineer.
Not sure how many things I'll discover, if it's too many, it may
not be worth it in the end.

Thanks,
Mukesh



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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