lkml.org 
[lkml]   [2009]   [Jun]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [tip:perfcounters/core] perf_counter: x86: Fix call-chain support to use NMI-safe methods

    * Avi Kivity <avi@redhat.com> wrote:

    > On 06/15/2009 09:55 PM, H. Peter Anvin wrote:
    >> Ingo Molnar wrote:
    >>
    >>>> I wouldn't actually expect that, *as long as* there is
    >>>> serialization between the cr2 write and the cr2 read.
    >>>>
    >>> Well, is there any OS that heavily relies on cr2 writes and which
    >>> uses them from NMI context, and which CPU makers care about?
    >>> (Meaning: Windows, pretty much.)
    >>>
    >>> If not then i agree that in theory it should work fine, but in
    >>> practice we only know that we dont know the unknown risk here ;-)
    >>>
    >>>
    >>
    >> I think you can drop "uses them from NMI context" from that statement;
    >> writing to %cr2 is independent of the context.
    >>
    >> I can try to find out internally what Intel's position on writing
    >> %cr2 is, but it'll take a while; however, KVM should be able to
    >> tell you if any random OS uses %cr2 writes (as should a static
    >> disassembly of their kernel.)
    >
    > Linux is one such OS. When acting as a hypervisor it writes cr2
    > to present its guests with their expected environment (any
    > hypervisor that uses virtualization extensions will of course need
    > to do this).

    Ah, it does save/restore it in svm_vcpu_run. VMX can do this via its
    context structure (without explicit CR manipulations in host space),
    right?

    Ingo


    \
     
     \ /
      Last update: 2009-06-16 10:39    [W:3.737 / U:0.056 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site