diff options
| -rw-r--r-- | arch/s390/kvm/kvm-s390.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c index b4d2030c22eb..18965f91d39e 100644 --- a/arch/s390/kvm/kvm-s390.c +++ b/arch/s390/kvm/kvm-s390.c | |||
| @@ -778,15 +778,18 @@ long kvm_arch_vm_ioctl(struct file *filp, | |||
| 778 | static int kvm_s390_query_ap_config(u8 *config) | 778 | static int kvm_s390_query_ap_config(u8 *config) |
| 779 | { | 779 | { |
| 780 | u32 fcn_code = 0x04000000UL; | 780 | u32 fcn_code = 0x04000000UL; |
| 781 | u32 cc; | 781 | u32 cc = 0; |
| 782 | 782 | ||
| 783 | memset(config, 0, 128); | ||
| 783 | asm volatile( | 784 | asm volatile( |
| 784 | "lgr 0,%1\n" | 785 | "lgr 0,%1\n" |
| 785 | "lgr 2,%2\n" | 786 | "lgr 2,%2\n" |
| 786 | ".long 0xb2af0000\n" /* PQAP(QCI) */ | 787 | ".long 0xb2af0000\n" /* PQAP(QCI) */ |
| 787 | "ipm %0\n" | 788 | "0: ipm %0\n" |
| 788 | "srl %0,28\n" | 789 | "srl %0,28\n" |
| 789 | : "=r" (cc) | 790 | "1:\n" |
| 791 | EX_TABLE(0b, 1b) | ||
| 792 | : "+r" (cc) | ||
| 790 | : "r" (fcn_code), "r" (config) | 793 | : "r" (fcn_code), "r" (config) |
| 791 | : "cc", "0", "2", "memory" | 794 | : "cc", "0", "2", "memory" |
| 792 | ); | 795 | ); |
