struct domain is always a page aligned allocation. Update it's type to reflect this, so we can safely reuse the lower bits in the pointer for auxiliary information.
No functional change. Signed-off-by: Andrew Cooper <[email protected]> --- CC: Anthony PERARD <[email protected]> CC: Michal Orzel <[email protected]> CC: Jan Beulich <[email protected]> CC: Julien Grall <[email protected]> CC: Roger Pau Monné <[email protected]> CC: Stefano Stabellini <[email protected]> CC: Dario Faggioli <[email protected]> CC: Juergen Gross <[email protected]> CC: George Dunlap <[email protected]> v2: * New Interestingly this does cause two changes in the resulting binary, both caused by GCC electing to use a more complicated addressing mode to save one ADD instruction. --- xen/include/xen/sched.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h index 037c83fda219..8412b45178ca 100644 --- a/xen/include/xen/sched.h +++ b/xen/include/xen/sched.h @@ -645,7 +645,7 @@ struct domain unsigned int num_llc_colors; const unsigned int *llc_colors; #endif -}; +} __aligned(PAGE_SIZE); static inline struct page_list_head *page_to_list( struct domain *d, const struct page_info *pg) -- 2.39.5
