[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] x86/hpet: warn about and clear reserved set config register bits
# HG changeset patch # User Jan Beulich <jbeulich@xxxxxxxx> # Date 1332946742 -7200 # Node ID 74d2af0b56ea7e6072bdfd6e493be5f108808bb7 # Parent d35a117afa2f71ce67af2306940a47ed7734b9e4 x86/hpet: warn about and clear reserved set config register bits Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Acked-by: Keir Fraser <keir@xxxxxxx> --- diff -r d35a117afa2f -r 74d2af0b56ea xen/arch/x86/hpet.c --- a/xen/arch/x86/hpet.c Tue Mar 27 15:25:07 2012 +0200 +++ b/xen/arch/x86/hpet.c Wed Mar 28 16:59:02 2012 +0200 @@ -755,6 +755,13 @@ void hpet_resume(u32 *boot_cfg) if ( boot_cfg ) *boot_cfg = cfg; cfg &= ~(HPET_CFG_ENABLE | HPET_CFG_LEGACY); + if ( cfg ) + { + printk(XENLOG_WARNING + "HPET: reserved bits %#x set in global config register\n", + cfg); + cfg = 0; + } hpet_write32(cfg, HPET_CFG); hpet_id = hpet_read32(HPET_ID); @@ -765,6 +772,13 @@ void hpet_resume(u32 *boot_cfg) if ( boot_cfg ) boot_cfg[i + 1] = cfg; cfg &= ~HPET_TN_ENABLE; + if ( cfg & HPET_TN_RESERVED ) + { + printk(XENLOG_WARNING + "HPET: reserved bits %#x set in channel %u config register\n", + cfg & HPET_TN_RESERVED, i); + cfg &= ~HPET_TN_RESERVED; + } hpet_write32(cfg, HPET_Tn_CFG(i)); } diff -r d35a117afa2f -r 74d2af0b56ea xen/arch/x86/hvm/hpet.c --- a/xen/arch/x86/hvm/hpet.c Tue Mar 27 15:25:07 2012 +0200 +++ b/xen/arch/x86/hvm/hpet.c Wed Mar 28 16:59:02 2012 +0200 @@ -42,7 +42,8 @@ (hvm_get_guest_time(vhpet_vcpu(hpet)) / STIME_PER_HPET_TICK) #define HPET_TN_INT_ROUTE_CAP_SHIFT 32 -#define HPET_TN_CFG_BITS_READONLY_OR_RESERVED 0xffff80b1U +#define HPET_TN_CFG_BITS_READONLY_OR_RESERVED (HPET_TN_RESERVED | \ + HPET_TN_PERIODIC_CAP | HPET_TN_64BIT_CAP | HPET_TN_FSB_CAP) /* can be routed to IOAPIC.redirect_table[23..20] */ #define HPET_TN_INT_ROUTE_CAP (0x00f00000ULL \ diff -r d35a117afa2f -r 74d2af0b56ea xen/include/asm-x86/hpet.h --- a/xen/include/asm-x86/hpet.h Tue Mar 27 15:25:07 2012 +0200 +++ b/xen/include/asm-x86/hpet.h Wed Mar 28 16:59:02 2012 +0200 @@ -43,6 +43,7 @@ #define HPET_TN_ROUTE 0x3e00 #define HPET_TN_FSB 0x4000 #define HPET_TN_FSB_CAP 0x8000 +#define HPET_TN_RESERVED 0xffff0081 #define HPET_TN_ROUTE_SHIFT 9 _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |