|
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