lkml.org 
[lkml]   [2015]   [Aug]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRE: [PATCH 1/2] KVM: x86: set TMR when the interrupt is accepted
    Date
    Paolo Bonzini wrote on 2015-07-31:
    >
    >
    > On 31/07/2015 01:26, Zhang, Yang Z wrote:
    >>>> Do not compute TMR in advance. Instead, set the TMR just before
    >>>> the interrupt is accepted into the IRR. This limits the coupling
    >>>> between IOAPIC and LAPIC.
    >>
    >> Uh.., it back to original way which is wrong. You cannot modify the
    >> apic page(here is the TMR reg) directly when the corresponding VMCS
    >> may be used at same time.
    >
    > Where is this documented? The TMR is not part of the set of virtualized
    > APIC registers (TPR, PPR, EOI, ISR, IRR, ICR+ICR2; SDM 29.1.1).
    >
    > Only virtualized APIC register reads use the virtual TMR registers (SDM
    > 29.4.2 or 29.5), but these just read data from the corresponding field
    > in the virtual APIC page.

    It's not only for virtual apic page. All data structures that is used by VMCS(either directly inside in VMCS or referenced by pointer in a VMCS) need follow this rule:

    24.11.4 Software Access to Related Structures
    In addition to data in the VMCS region itself, VMX non-root operation can be controlled by data structures that are
    referenced by pointers in a VMCS (for example, the I/O bitmaps). While the pointers to these data structures are
    parts of the VMCS, the data structures themselves are not. They are not accessible using VMREAD and VMWRITE
    but by ordinary memory writes.
    Software should ensure that each such data structure is modified only when no logical processor with a current
    VMCS that references it is in VMX non-root operation. Doing otherwise may lead to unpredictable behavior
    (including behaviors identified in Section 24.11.1).

    >
    > Paolo


    Best regards,
    Yang




    \
     
     \ /
      Last update: 2015-08-03 05:01    [W:4.687 / U:0.116 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site