Hi, Jeremy and all This small patch is to pass mcg_cap information from XEN to DOM0 since now new pv-ops kernel''s mce data structure is changed and need this mcg_cap information. Thanks& Regards, Criping>From 475b637e8dabb32446ee28e6b1235729e4b0f4bb Mon Sep 17 00:00:00 2001From: Liping Ke <liping.ke@intel.com> Date: Mon, 19 Apr 2010 16:42:48 +0800 Subject: [PATCH] Update MCE LOG data More mce data is provided in new DOM0 kernel, we need to pass mcg_cap information from XEN to DOM0 in vIRQ accordingly. --- drivers/xen/mce.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/drivers/xen/mce.c b/drivers/xen/mce.c index b354dc8..8758e75 100644 --- a/drivers/xen/mce.c +++ b/drivers/xen/mce.c @@ -72,6 +72,7 @@ static int convert_log(struct mc_info *mi) m.socketid = g_physinfo[i].mc_chipid; m.cpu = m.extcpu = g_physinfo[i].mc_cpunr; m.cpuvendor = (__u8)g_physinfo[i].mc_vendor; + m.mcgcap = g_physinfo[i].mc_msrvalues[0].value; x86_mcinfo_lookup(&mic, mi, MC_TYPE_BANK); do { if (mic == NULL || mic->size == 0) @@ -83,6 +84,7 @@ static int convert_log(struct mc_info *mi) m.addr = mc_bank->mc_addr; m.tsc = mc_bank->mc_tsc; m.bank = mc_bank->mc_bank; + m.finished = 1; /*log this record*/ mce_log(&m); } -- 1.6.0. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Attach the changed file also. Thanks! criping -----Original Message----- From: Ke, Liping Sent: Monday, April 19, 2010 4:55 PM To: ''Jeremy Fitzhardinge''; Jiang, Yunhong Cc: xen-devel@lists.xensource.com; Ke, Liping Subject: [pvops-dom0]Update MCE LOG data Hi, Jeremy and all This small patch is to pass mcg_cap information from XEN to DOM0 since now new pv-ops kernel''s mce data structure is changed and need this mcg_cap information. Thanks& Regards, Criping>From 475b637e8dabb32446ee28e6b1235729e4b0f4bb Mon Sep 17 00:00:00 2001From: Liping Ke <liping.ke@intel.com> Date: Mon, 19 Apr 2010 16:42:48 +0800 Subject: [PATCH] Update MCE LOG data More mce data is provided in new DOM0 kernel, we need to pass mcg_cap information from XEN to DOM0 in vIRQ accordingly. --- drivers/xen/mce.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/drivers/xen/mce.c b/drivers/xen/mce.c index b354dc8..8758e75 100644 --- a/drivers/xen/mce.c +++ b/drivers/xen/mce.c @@ -72,6 +72,7 @@ static int convert_log(struct mc_info *mi) m.socketid = g_physinfo[i].mc_chipid; m.cpu = m.extcpu = g_physinfo[i].mc_cpunr; m.cpuvendor = (__u8)g_physinfo[i].mc_vendor; + m.mcgcap = g_physinfo[i].mc_msrvalues[0].value; x86_mcinfo_lookup(&mic, mi, MC_TYPE_BANK); do { if (mic == NULL || mic->size == 0) @@ -83,6 +84,7 @@ static int convert_log(struct mc_info *mi) m.addr = mc_bank->mc_addr; m.tsc = mc_bank->mc_tsc; m.bank = mc_bank->mc_bank; + m.finished = 1; /*log this record*/ mce_log(&m); } -- 1.6.0. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 04/19/2010 01:55 AM, Ke, Liping wrote:> Hi, Jeremy and all > This small patch is to pass mcg_cap information from XEN to DOM0 since now > new pv-ops kernel''s mce data structure is changed and need this mcg_cap information. >Is this forwards and backwards compatible? J> Thanks& Regards, > Criping > > > > > From 475b637e8dabb32446ee28e6b1235729e4b0f4bb Mon Sep 17 00:00:00 2001 > From: Liping Ke <liping.ke@intel.com> > Date: Mon, 19 Apr 2010 16:42:48 +0800 > Subject: [PATCH] Update MCE LOG data > More mce data is provided in new DOM0 kernel, we need to pass > mcg_cap information from XEN to DOM0 in vIRQ accordingly. > > --- > drivers/xen/mce.c | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) > > diff --git a/drivers/xen/mce.c b/drivers/xen/mce.c > index b354dc8..8758e75 100644 > --- a/drivers/xen/mce.c > +++ b/drivers/xen/mce.c > @@ -72,6 +72,7 @@ static int convert_log(struct mc_info *mi) > m.socketid = g_physinfo[i].mc_chipid; > m.cpu = m.extcpu = g_physinfo[i].mc_cpunr; > m.cpuvendor = (__u8)g_physinfo[i].mc_vendor; > + m.mcgcap = g_physinfo[i].mc_msrvalues[0].value; > x86_mcinfo_lookup(&mic, mi, MC_TYPE_BANK); > do { > if (mic == NULL || mic->size == 0) > @@ -83,6 +84,7 @@ static int convert_log(struct mc_info *mi) > m.addr = mc_bank->mc_addr; > m.tsc = mc_bank->mc_tsc; > m.bank = mc_bank->mc_bank; > + m.finished = 1; > /*log this record*/ > mce_log(&m); > } >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Hi, Jeremy It''s compatible with Andi''s future newer mce structure. And also it should be also compatible with old mcelog version, I noticed mcgcap is put at the tail of new mce structure in kernel. It should have same behavior as kernel. Re-Paste the patch for adding sign off info. Thanks& Regards, criping -----Original Message----- From: Jeremy Fitzhardinge [mailto:jeremy@goop.org] Sent: Tuesday, April 20, 2010 3:54 AM To: Ke, Liping Cc: Jiang, Yunhong; xen-devel@lists.xensource.com Subject: Re: [pvops-dom0]Update MCE LOG data On 04/19/2010 01:55 AM, Ke, Liping wrote:> Hi, Jeremy and all > This small patch is to pass mcg_cap information from XEN to DOM0 since now > new pv-ops kernel''s mce data structure is changed and need this mcg_cap information. >Is this forwards and backwards compatible? J> Thanks& Regards, > Criping > > > > > From 475b637e8dabb32446ee28e6b1235729e4b0f4bb Mon Sep 17 00:00:00 2001 > From: Liping Ke <liping.ke@intel.com> > Date: Mon, 19 Apr 2010 16:42:48 +0800 > Subject: [PATCH] Update MCE LOG data > More mce data is provided in new DOM0 kernel, we need to pass > mcg_cap information from XEN to DOM0 in vIRQ accordingly. > > --- > drivers/xen/mce.c | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) > > diff --git a/drivers/xen/mce.c b/drivers/xen/mce.c > index b354dc8..8758e75 100644 > --- a/drivers/xen/mce.c > +++ b/drivers/xen/mce.c > @@ -72,6 +72,7 @@ static int convert_log(struct mc_info *mi) > m.socketid = g_physinfo[i].mc_chipid; > m.cpu = m.extcpu = g_physinfo[i].mc_cpunr; > m.cpuvendor = (__u8)g_physinfo[i].mc_vendor; > + m.mcgcap = g_physinfo[i].mc_msrvalues[0].value; > x86_mcinfo_lookup(&mic, mi, MC_TYPE_BANK); > do { > if (mic == NULL || mic->size == 0) > @@ -83,6 +84,7 @@ static int convert_log(struct mc_info *mi) > m.addr = mc_bank->mc_addr; > m.tsc = mc_bank->mc_tsc; > m.bank = mc_bank->mc_bank; > + m.finished = 1; > /*log this record*/ > mce_log(&m); > } >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel