Thread (72 messages) flat view 72 messages, 8 authors, 2013-01-07

[PATCH v4 14/24] xen/arm: initialize grant_table on ARM

From: Ian Campbell <hidden>
Date: 2012-09-14 15:34:57
Also in: lkml, xen-devel

On Fri, 2012-09-14 at 16:29 +0100, Stefano Stabellini wrote:
On Fri, 14 Sep 2012, Ian Campbell wrote:
quoted
On Fri, 2012-09-14 at 15:56 +0100, Stefano Stabellini wrote:
quoted
On Fri, 14 Sep 2012, Konrad Rzeszutek Wilk wrote:
quoted
On Fri, Sep 14, 2012 at 12:13:16PM +0100, Stefano Stabellini wrote:
quoted
Initialize the grant table mapping at the address specified at index 0
in the DT under the /xen node.
After the grant table is initialized, call xenbus_probe (if not dom0).
So we don't really care about the grant's size then? The DT xen.txt
talks about it..
I am assuming that the size of the memory region specified in the device
tree is sufficiently large to map the entire grant table, given that both
the device tree hypervisor entry and the grant table size comes from Xen.
Actually, the grant table can grow dynamically under the control of the
guest, I think you just pass GNTTABOP_setup_table with some more frames.
See drivers/xen/grant_table.c:gnttab_expand().
gnttab_expand can return error if the new size exceeds
gnttab_max_grant_frames(), that is implemented using
GNTTABOP_query_size.
I hadn't spotted / wasn't aware that this gives you the max too.
quoted
quoted
The grant table size is currently queried to Xen directly via an
hypercall (GNTTABOP_query_size). Basically the size in the device tree
is redundant information.
This size is the size of the physical address space where the guest
could chose map grant table frames. It could be either larger or smaller
than the actual grant table. (smaller because the guest could use
physical addresses not within this region, if it wanted to for some
reason).
Right.

What I am saying is that I assume that the memory region specified in
the device tree is greater or equal than gnttab_max_grant_frames().
Makes sense.

(note that gnttab_max_grant_frames can be set on the hypervisor command
line though)
Maybe I should add this to the device tree doc.
No harm in being explicit. 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help