diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/kvm.h | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/include/linux/kvm.h b/include/linux/kvm.h index 8a3ceadb1366..8a16b083df2e 100644 --- a/include/linux/kvm.h +++ b/include/linux/kvm.h | |||
| @@ -311,9 +311,13 @@ struct kvm_s390_interrupt { | |||
| 311 | 311 | ||
| 312 | /* This structure represents a single trace buffer record. */ | 312 | /* This structure represents a single trace buffer record. */ |
| 313 | struct kvm_trace_rec { | 313 | struct kvm_trace_rec { |
| 314 | __u32 event:28; | 314 | /* variable rec_val |
| 315 | __u32 extra_u32:3; | 315 | * is split into: |
| 316 | __u32 cycle_in:1; | 316 | * bits 0 - 27 -> event id |
| 317 | * bits 28 -30 -> number of extra data args of size u32 | ||
| 318 | * bits 31 -> binary indicator for if tsc is in record | ||
| 319 | */ | ||
| 320 | __u32 rec_val; | ||
| 317 | __u32 pid; | 321 | __u32 pid; |
| 318 | __u32 vcpu_id; | 322 | __u32 vcpu_id; |
| 319 | union { | 323 | union { |
| @@ -327,6 +331,13 @@ struct kvm_trace_rec { | |||
| 327 | } u; | 331 | } u; |
| 328 | }; | 332 | }; |
| 329 | 333 | ||
| 334 | #define TRACE_REC_EVENT_ID(val) \ | ||
| 335 | (0x0fffffff & (val)) | ||
| 336 | #define TRACE_REC_NUM_DATA_ARGS(val) \ | ||
| 337 | (0x70000000 & ((val) << 28)) | ||
| 338 | #define TRACE_REC_TCS(val) \ | ||
| 339 | (0x80000000 & ((val) << 31)) | ||
| 340 | |||
| 330 | #define KVMIO 0xAE | 341 | #define KVMIO 0xAE |
| 331 | 342 | ||
| 332 | /* | 343 | /* |
