Messages in this thread | | | Date | Thu, 09 Apr 2009 13:59:32 +0900 | From | Hidetoshi Seto <> | Subject | Re: [PATCH] [3/4] x86: MCE: Improve mce_get_rip |
| |
Andi Kleen wrote: > Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> writes: > >> Andi Kleen wrote: >>> From: Huang Ying <ying.huang@intel.com> >>> >>> Return rip/cs if MCG_STATUS_EIPV is set in mce_get_rip(). Remain m->cs >>> if RIP is read from rip_msr. >> It means we use "Error IP" as "Return IP" if RIPV=0 but EIPV=1 ...? >> Sounds strange. > > It's not return IP, but "reported IP" in this case.
Wait, I'm ashamed to say, it seems we missed the name of instruction pointer register: The 64bit one is RIP, and the 32bit one is EIP.
Anyway we have proved a major point - It is confusing expression.
>> I guess it would make much sense if we stop mixing RIP and EIP and rename >> the mce_get_rip() to mce_get_eip(), and the rip_msr to eip_msr too. > > Ok fair enough. I admit the code was always a bit dubious. > >> And then it would be acceptable if we print RIP with "!INEXACT!" annotation >> instead of printing precise EIP in case of RIPV=0 but EIPV=1. > > Please send a patch to do all that.
I will.
A trivial question is if you unified 32/64bit mce codes, would you like to print only "IP %02x:<%016Lx>", or "RIP ..." and "EIP ..." ?
Thanks, H.Seto
| |