forked from luck/tmp_suning_uos_patched
KVM: SVM: Trap all debug register accesses
To enable proper debug register emulation under all conditions, trap access to all DR0..7. This may be optimized later on. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
This commit is contained in:
parent
c76de350c8
commit
727f5a23e2
@ -554,13 +554,19 @@ static void init_vmcb(struct vcpu_svm *svm)
|
||||
control->intercept_dr_read = INTERCEPT_DR0_MASK |
|
||||
INTERCEPT_DR1_MASK |
|
||||
INTERCEPT_DR2_MASK |
|
||||
INTERCEPT_DR3_MASK;
|
||||
INTERCEPT_DR3_MASK |
|
||||
INTERCEPT_DR4_MASK |
|
||||
INTERCEPT_DR5_MASK |
|
||||
INTERCEPT_DR6_MASK |
|
||||
INTERCEPT_DR7_MASK;
|
||||
|
||||
control->intercept_dr_write = INTERCEPT_DR0_MASK |
|
||||
INTERCEPT_DR1_MASK |
|
||||
INTERCEPT_DR2_MASK |
|
||||
INTERCEPT_DR3_MASK |
|
||||
INTERCEPT_DR4_MASK |
|
||||
INTERCEPT_DR5_MASK |
|
||||
INTERCEPT_DR6_MASK |
|
||||
INTERCEPT_DR7_MASK;
|
||||
|
||||
control->intercept_exceptions = (1 << PF_VECTOR) |
|
||||
@ -2319,11 +2325,17 @@ static int (*svm_exit_handlers[])(struct vcpu_svm *svm) = {
|
||||
[SVM_EXIT_READ_DR1] = emulate_on_interception,
|
||||
[SVM_EXIT_READ_DR2] = emulate_on_interception,
|
||||
[SVM_EXIT_READ_DR3] = emulate_on_interception,
|
||||
[SVM_EXIT_READ_DR4] = emulate_on_interception,
|
||||
[SVM_EXIT_READ_DR5] = emulate_on_interception,
|
||||
[SVM_EXIT_READ_DR6] = emulate_on_interception,
|
||||
[SVM_EXIT_READ_DR7] = emulate_on_interception,
|
||||
[SVM_EXIT_WRITE_DR0] = emulate_on_interception,
|
||||
[SVM_EXIT_WRITE_DR1] = emulate_on_interception,
|
||||
[SVM_EXIT_WRITE_DR2] = emulate_on_interception,
|
||||
[SVM_EXIT_WRITE_DR3] = emulate_on_interception,
|
||||
[SVM_EXIT_WRITE_DR4] = emulate_on_interception,
|
||||
[SVM_EXIT_WRITE_DR5] = emulate_on_interception,
|
||||
[SVM_EXIT_WRITE_DR6] = emulate_on_interception,
|
||||
[SVM_EXIT_WRITE_DR7] = emulate_on_interception,
|
||||
[SVM_EXIT_EXCP_BASE + DB_VECTOR] = db_interception,
|
||||
[SVM_EXIT_EXCP_BASE + BP_VECTOR] = bp_interception,
|
||||
|
Loading…
Reference in New Issue
Block a user