seoul: avoid corrupted cr0 and GP on debug wrmsr

- fix bug in instruction emulator on clts - mark cr0 as changed
- don't cause GP on debug control wrmsr

Issue 
This commit is contained in:
Alexander Boettcher 2019-05-05 14:33:34 +02:00 committed by Christian Helmuth
parent 761e312219
commit b3f288c035
3 changed files with 4 additions and 3 deletions
repos/ports

@ -1 +1 @@
66a1a29b0ee5e2407cb27b46fb515b0d1a0d951f
dd8fd8837e8047c6261811c46047fc1003169b04

@ -4,7 +4,7 @@ DOWNLOADS := seoul.git
URL(seoul) := https://github.com/alex-ab/seoul.git
# branch PARAM
REV(seoul) := de0192662cfeda6b6dfcdaaf667ba652c1c5b282
REV(seoul) := e89e0eaa4712c372391e1eea72529613afbbe9a1
DIR(seoul) := src/app/seoul
#

@ -324,7 +324,8 @@ class Vcpu : public StaticReceiver<Vcpu>
switch (exit) {
case 0x00 ... 0x1f: /* _svm_cr */
mtd = MTD_RIP_LEN | MTD_CS_SS | MTD_GPR_ACDB | MTD_GPR_BSD | MTD_CR;
mtd = MTD_RIP_LEN | MTD_CS_SS | MTD_GPR_ACDB | MTD_GPR_BSD |
MTD_CR | MTD_IRQ;
break;
case 0x72: /* _svm_cpuid */
mtd = MTD_RIP_LEN | MTD_GPR_ACDB | MTD_IRQ;