- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
My question is on the ICR offset of the local apic.
X2APIC normal operation:
From table 10.6:
MSR 0x830 - ICR
This msr covers both offsets 0x300(ICR_LO) and 0x310(ICR_HI) in the xapic mode.
Footnote at the bottom of the table seems to indicate any access to MSR
0x831 will cause general-protection violations.
X2APIC in vmx non-root
section 29.5 - virtualizing msr based accesses :
If APIC-register virtualization is 1 and ECX contains a value in the range
800H-8FFH, the instruction reads the 8 bytes from offset X on the virtual-APIC page into EDX:EAX,
where X = (ECX & FFH) « 4. This occurs even if the local APIC is not in x2APIC mode.
1. If I do a rdmsr to msr 0x830 in vmx non-root and if the virtual apic page is at
address X then the result I get is from offset X+0x300 in EAX and X+0x304 from
EDX.
2. If I do a rdmsr to msr 0x830 outside of a virtual machine, the result I get
is memory-mapped offset of 0x300 in EAX and memory-mapped offset of 0x310 in
EDX.
It seems to me that the normal x2apic operation and the operation with apic
register virtualization differ in their results returned for this msr. Am I
interpreting the content of section 29.5 correctly?
If the documentation is correct then any ideas on how to handle it in software?
Thank you.
- Balises:
- Virtualization
Lien copié
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié

- S'abonner au fil RSS
- Marquer le sujet comme nouveau
- Marquer le sujet comme lu
- Placer ce Sujet en tête de liste pour l'utilisateur actuel
- Marquer
- S'abonner
- Page imprimable