There's no need for it to be 64 bits wide - only the low twelve bits
of CR3 hold the PCID.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
void switch_cr3_cr4(unsigned long cr3, unsigned long cr4)
{
- unsigned long flags, old_cr4, old_pcid;
+ unsigned long flags, old_cr4;
+ unsigned int old_pcid;
u32 t;
/* This non-reentrant function is sometimes called in interrupt context. */
return cr3 & X86_CR3_ADDR_MASK;
}
-static inline unsigned long cr3_pcid(unsigned long cr3)
+static inline unsigned int cr3_pcid(unsigned long cr3)
{
return cr3 & X86_CR3_PCID_MASK;
}