Hi,
I was very happy to see that grant-tables were
implemented and even had a nice text file to explain what to do.. however, being
new to Xen, i'm missing a few key pieces of information to make it
work:
it says that to make it work on the domA side, you
have to do the following:
domA: #include
<asm-xen/gnttab.h>
grant_ref_t gref[BATCH_SIZE];
for ( i
= 0; i < BATCH_SIZE; i++
) gref[i]
= gnttab_grant_foreign_access( domBid, mfn, (readonly ? 1 : 0)
);
1) how do you get domBid ? (i'm assuming it's the
same ID that appears in the "xm list"), is there some API that can retrieve it?
2) mfn -- i've seen people post stuff about
virt_to_machine(), but I could not get it to work.. are there any special
include files or compiler directives that one needs to add to be able to work
with that? also, if this page was previously allocated by kmalloc() is that
address considered virtual or physical? what do i need to do to get the mfn from
the pointer?
3) to transfer gref to domB, would you use
event_channel_op() ? if so, how?
if anyone knows these answers, please point me at
some implementation example.. i wish there were some compilable skeleton
examples of using the various xen mechanisms...... the documentation seems to
contain only an index of the available features, without detailed manual-style
explanation of the various include files,parameters,return values, bugs,
etc..
Thanks,
Tzvika.
|