Index: sys/arch/xen/conf/files.xen =================================================================== RCS file: /cvsroot/src/sys/arch/xen/conf/files.xen,v retrieving revision 1.53.2.1 diff -u -r1.53.2.1 files.xen --- sys/arch/xen/conf/files.xen 10 Jun 2007 20:48:44 -0000 1.53.2.1 +++ sys/arch/xen/conf/files.xen 18 Feb 2008 04:04:52 -0000 @@ -337,4 +337,9 @@ file arch/xen/xen/xennet_checksum.c (xvif & xen3) | xennet_xenbus file arch/xen/xen/xbdback_xenbus.c xbdback & xen3 +file arch/x86/x86/powernow_common.c powernow_k8 | powernow_k7 +file arch/x86/x86/powernow_k8.c powernow_k8 +file arch/x86/x86/msr_ipifuncs.c powernow_k8 +file arch/i386/i386/powernow_k7.c powernow_k7 + include "arch/i386/conf/majors.i386" Index: sys/arch/xen/i386/identcpu.c =================================================================== RCS file: /cvsroot/src/sys/arch/xen/i386/Attic/identcpu.c,v retrieving revision 1.12 diff -u -r1.12 identcpu.c --- sys/arch/xen/i386/identcpu.c 27 May 2006 20:48:40 -0000 1.12 +++ sys/arch/xen/i386/identcpu.c 18 Feb 2008 04:04:59 -0000 @@ -51,6 +51,7 @@ #include #include #include +#include static const struct x86_cache_info intel_cpuid_cache_info[] = { @@ -1339,4 +1340,29 @@ } else i386_use_fxsave = 0; #endif /* I686_CPU */ +#if defined(POWERNOW_K7) || defined(POWERNOW_K8) + printf("%s:%4d:%s vendor(%x) AMD(%x) \n", + __func__,__LINE__,__FILE__, vendor, CPUVENDOR_AMD); + if (vendor == CPUVENDOR_AMD && powernow_probe(ci)) { + printf("%s:%4d:%s CPUID2FAMILYD(%x) \n", + __func__,__LINE__,__FILE__, CPUID2FAMILY(ci->ci_signature)); + switch (CPUID2FAMILY(ci->ci_signature)) { +#ifdef POWERNOW_K7 + case 6: + printf("%s:%4d:%s\n", __func__,__LINE__,__FILE__); + k7_powernow_init(); + break; +#endif +#ifdef POWERNOW_K8 + case 15: + printf("%s:%4d:%s\n", __func__,__LINE__,__FILE__); + k8_powernow_init(); + break; +#endif + default: + break; + } + } +#endif /* POWERNOW_K7 || POWERNOW_K8 */ + }