|
89 | 89 | * Sub-leaf 2: EAX: host tsc frequency in kHz |
90 | 90 | */ |
91 | 91 |
|
| 92 | +#define XEN_CPUID_TSC_EMULATED (1u << 0) |
| 93 | +#define XEN_CPUID_HOST_TSC_RELIABLE (1u << 1) |
| 94 | +#define XEN_CPUID_RDTSCP_INSTR_AVAIL (1u << 2) |
| 95 | + |
| 96 | +#define XEN_CPUID_TSC_MODE_DEFAULT (0) |
| 97 | +#define XEN_CPUID_TSC_MODE_ALWAYS_EMULATE (1u) |
| 98 | +#define XEN_CPUID_TSC_MODE_NEVER_EMULATE (2u) |
| 99 | +#define XEN_CPUID_TSC_MODE_PVRDTSCP (3u) |
| 100 | + |
92 | 101 | /* |
93 | 102 | * Leaf 5 (0x40000x04) |
94 | 103 | * HVM-specific features |
95 | 104 | * Sub-leaf 0: EAX: Features |
96 | 105 | * Sub-leaf 0: EBX: vcpu id (iff EAX has XEN_HVM_CPUID_VCPU_ID_PRESENT flag) |
| 106 | + * Sub-leaf 0: ECX: domain id (iff EAX has XEN_HVM_CPUID_DOMID_PRESENT flag) |
97 | 107 | */ |
98 | 108 | #define XEN_HVM_CPUID_APIC_ACCESS_VIRT (1u << 0) /* Virtualized APIC registers */ |
99 | 109 | #define XEN_HVM_CPUID_X2APIC_VIRT (1u << 1) /* Virtualized x2APIC accesses */ |
|
102 | 112 | #define XEN_HVM_CPUID_VCPU_ID_PRESENT (1u << 3) /* vcpu id is present in EBX */ |
103 | 113 | #define XEN_HVM_CPUID_DOMID_PRESENT (1u << 4) /* domid is present in ECX */ |
104 | 114 | /* |
105 | | - * Bits 55:49 from the IO-APIC RTE and bits 11:5 from the MSI address can be |
106 | | - * used to store high bits for the Destination ID. This expands the Destination |
107 | | - * ID field from 8 to 15 bits, allowing to target APIC IDs up 32768. |
| 115 | + * With interrupt format set to 0 (non-remappable) bits 55:49 from the |
| 116 | + * IO-APIC RTE and bits 11:5 from the MSI address can be used to store |
| 117 | + * high bits for the Destination ID. This expands the Destination ID |
| 118 | + * field from 8 to 15 bits, allowing to target APIC IDs up 32768. |
108 | 119 | */ |
109 | 120 | #define XEN_HVM_CPUID_EXT_DEST_ID (1u << 5) |
110 | | -/* Per-vCPU event channel upcalls */ |
| 121 | +/* |
| 122 | + * Per-vCPU event channel upcalls work correctly with physical IRQs |
| 123 | + * bound to event channels. |
| 124 | + */ |
111 | 125 | #define XEN_HVM_CPUID_UPCALL_VECTOR (1u << 6) |
112 | 126 |
|
113 | 127 | /* |
|
0 commit comments