diff -r f827181eadd4 xen/arch/x86/oprofile/nmi_int.c --- a/xen/arch/x86/oprofile/nmi_int.c Mon Dec 15 11:37:14 2008 +0000 +++ b/xen/arch/x86/oprofile/nmi_int.c Tue Dec 16 17:44:47 2008 +0800 @@ -65,6 +65,8 @@ int type, index; struct vpmu_struct *vpmu = vcpu_vpmu(current); + if ( model == NULL ) + return 0; if ( model->is_arch_pmu_msr == NULL ) return 0; if ( !model->is_arch_pmu_msr((u64)regs->ecx, &type, &index) ) @@ -366,11 +368,10 @@ case 14: *cpu_type = "i386/core"; break; - case 15: case 23: - *cpu_type = "i386/core_2"; - ppro_has_global_ctrl = 1; - break; + case 15: + case 23: case 26: + case 29: *cpu_type = "i386/core_2"; ppro_has_global_ctrl = 1; break;