Commit 403c8648 authored by Eric Farman's avatar Eric Farman Committed by Christian Borntraeger

KVM: s390: Vector exceptions

A new exception type for vector instructions is introduced with
the new processor, but is handled exactly like a Data Exception
which is already handled by the system.
Signed-off-by: default avatarEric Farman <farman@linux.vnet.ibm.com>
Reviewed-by: default avatarDavid Hildenbrand <dahi@linux.vnet.ibm.com>
Acked-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
parent 68c55750
...@@ -276,6 +276,7 @@ struct kvm_vcpu_stat { ...@@ -276,6 +276,7 @@ struct kvm_vcpu_stat {
#define PGM_SPECIAL_OPERATION 0x13 #define PGM_SPECIAL_OPERATION 0x13
#define PGM_OPERAND 0x15 #define PGM_OPERAND 0x15
#define PGM_TRACE_TABEL 0x16 #define PGM_TRACE_TABEL 0x16
#define PGM_VECTOR_PROCESSING 0x1b
#define PGM_SPACE_SWITCH 0x1c #define PGM_SPACE_SWITCH 0x1c
#define PGM_HFP_SQUARE_ROOT 0x1d #define PGM_HFP_SQUARE_ROOT 0x1d
#define PGM_PC_TRANSLATION_SPEC 0x1f #define PGM_PC_TRANSLATION_SPEC 0x1f
......
...@@ -165,6 +165,7 @@ static void __extract_prog_irq(struct kvm_vcpu *vcpu, ...@@ -165,6 +165,7 @@ static void __extract_prog_irq(struct kvm_vcpu *vcpu,
pgm_info->mon_class_nr = vcpu->arch.sie_block->mcn; pgm_info->mon_class_nr = vcpu->arch.sie_block->mcn;
pgm_info->mon_code = vcpu->arch.sie_block->tecmc; pgm_info->mon_code = vcpu->arch.sie_block->tecmc;
break; break;
case PGM_VECTOR_PROCESSING:
case PGM_DATA: case PGM_DATA:
pgm_info->data_exc_code = vcpu->arch.sie_block->dxc; pgm_info->data_exc_code = vcpu->arch.sie_block->dxc;
break; break;
......
...@@ -544,6 +544,7 @@ static int __must_check __deliver_prog(struct kvm_vcpu *vcpu) ...@@ -544,6 +544,7 @@ static int __must_check __deliver_prog(struct kvm_vcpu *vcpu)
rc |= put_guest_lc(vcpu, pgm_info.mon_code, rc |= put_guest_lc(vcpu, pgm_info.mon_code,
(u64 *)__LC_MON_CODE); (u64 *)__LC_MON_CODE);
break; break;
case PGM_VECTOR_PROCESSING:
case PGM_DATA: case PGM_DATA:
rc = put_guest_lc(vcpu, pgm_info.data_exc_code, rc = put_guest_lc(vcpu, pgm_info.data_exc_code,
(u32 *)__LC_DATA_EXC_CODE); (u32 *)__LC_DATA_EXC_CODE);
......
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