[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Xen-devel] Grant table version
On 28/10/13 18:06, Vladimir
'Ï-coder/phcoder' Serbinenko wrote:
Hello, all. I'm working on pvgrub2 and my problem is following:
When you first use grant tables you commit yourself to a particular
grant table version. GRUB has to read from disk and hence use grant
tables. By doing so it commits anything that it loads to the same version.
Would it be possible to have a hypercall to reset grant table version?
Of course, before doing such a call one would need to revoke all grants
or this call would discard all current grants.
You can change back and forth with grant table versions using the
GNTTABOP_set_version hypercall, so long as you have no active
grants.
It is not possible to revoke a grant, as the grant ABI guarantees
that a successful grant stays mapped until explicitly unmapped.Â
Otherwise, a reset would cause unexpected pagefaults in the mapper
domain.
For compatibility reasons it is not strictly required, but it is
certainly expected that a new kernel explicitly chooses a gnttab
version using the hypercall. There is certainly an area for
problems if pvgrub2 uses grant v2, then leaves v2 active and hands
off to an older kernel who expects v1 and doesn't explicitly set the
version.
From this point of view, the safe course of action is to use
whichever type of grants you want, then tear down all the front/back
pairs, and reset the version to v1 before handing off.
~Andrew
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|