@@ -160,15 +160,15 @@ shared_entry_header(struct grant_table *
struct active_grant_entry {
uint32_t pin; /* Reference count information. */
domid_t domid; /* Domain being granted access. */
- struct domain *trans_domain;
+ unsigned int start:15; /* For sub-page grants, the start offset
+ in the page. */
+ bool is_sub_page:1; /* True if this is a sub-page grant. */
+ unsigned int length:16; /* For sub-page grants, the length of the
+ grant. */
grant_ref_t trans_gref;
+ struct domain *trans_domain;
unsigned long frame; /* Frame being granted. */
unsigned long gfn; /* Guest's idea of the frame being granted. */
- unsigned is_sub_page:1; /* True if this is a sub-page grant. */
- unsigned start:15; /* For sub-page grants, the start offset
- in the page. */
- unsigned length:16; /* For sub-page grants, the length of the
- grant. */
spinlock_t lock; /* lock to protect access of this entry.
see docs/misc/grant-tables.txt for
locking protocol */
While benign to 32-bit arches, this shrinks the size from 56 to 48 bytes on 64-bit ones (while still leaving a 16-bit hole). Signed-off-by: Jan Beulich <jbeulich@suse.com>