Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 148925
b: refs/heads/master
c: 1b2797d
h: refs/heads/master
i:
  148923: 6364b5f
v: v3
  • Loading branch information
Huang Ying authored and H. Peter Anvin committed Jun 3, 2009
1 parent d8f59d5 commit 5f99632
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 7 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: ac9603754dc7e286e62ae4f1067958d5b0075f99
refs/heads/master: 1b2797dcc9f0ad89bc382ace26c6baafbc7e33c2
13 changes: 7 additions & 6 deletions trunk/arch/x86/kernel/cpu/mcheck/mce.c
Original file line number Diff line number Diff line change
Expand Up @@ -306,21 +306,22 @@ int mce_available(struct cpuinfo_x86 *c)
return cpu_has(c, X86_FEATURE_MCE) && cpu_has(c, X86_FEATURE_MCA);
}

/*
* Get the address of the instruction at the time of the machine check
* error.
*/
static inline void mce_get_rip(struct mce *m, struct pt_regs *regs)
{
if (regs && (m->mcgstatus & MCG_STATUS_RIPV)) {

if (regs && (m->mcgstatus & (MCG_STATUS_RIPV|MCG_STATUS_EIPV))) {
m->ip = regs->ip;
m->cs = regs->cs;
} else {
m->ip = 0;
m->cs = 0;
}
if (rip_msr) {
/* Assume the RIP in the MSR is exact. Is this true? */
m->mcgstatus |= MCG_STATUS_EIPV;
if (rip_msr)
m->ip = mce_rdmsrl(rip_msr);
m->cs = 0;
}
}

#ifdef CONFIG_X86_LOCAL_APIC
Expand Down

0 comments on commit 5f99632

Please sign in to comment.