Commit b2312f05 authored by Hollis Blanchard's avatar Hollis Blanchard Committed by Avi Kivity

KVM: ppc: Add DCR access information to struct kvm_run

Device Control Registers are essentially another address space found on PowerPC
4xx processors, analogous to PIO on x86. DCRs are always 32 bits, and can be
identified by a 32-bit number. We forward most DCR accesses to userspace for
emulation (with the exception of CPR0 registers, which can be read directly
for simplicity in timebase frequency determination).
Signed-off-by: default avatarHollis Blanchard <hollisb@us.ibm.com>
Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
parent 4baacfb0
...@@ -82,6 +82,7 @@ struct kvm_irqchip { ...@@ -82,6 +82,7 @@ struct kvm_irqchip {
#define KVM_EXIT_TPR_ACCESS 12 #define KVM_EXIT_TPR_ACCESS 12
#define KVM_EXIT_S390_SIEIC 13 #define KVM_EXIT_S390_SIEIC 13
#define KVM_EXIT_S390_RESET 14 #define KVM_EXIT_S390_RESET 14
#define KVM_EXIT_DCR 15
/* for KVM_RUN, returned by mmap(vcpu_fd, offset=0) */ /* for KVM_RUN, returned by mmap(vcpu_fd, offset=0) */
struct kvm_run { struct kvm_run {
...@@ -161,6 +162,12 @@ struct kvm_run { ...@@ -161,6 +162,12 @@ struct kvm_run {
#define KVM_S390_RESET_CPU_INIT 8 #define KVM_S390_RESET_CPU_INIT 8
#define KVM_S390_RESET_IPL 16 #define KVM_S390_RESET_IPL 16
__u64 s390_reset_flags; __u64 s390_reset_flags;
/* KVM_EXIT_DCR */
struct {
__u32 dcrn;
__u32 data;
__u8 is_write;
} dcr;
/* Fix the size of the union. */ /* Fix the size of the union. */
char padding[256]; char padding[256];
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment