@@ -246,6 +246,8 @@ vie_read_register(struct vcpu *vcpu, enum cpu_reg_name reg, uint64_t *rval)
246
246
int error ;
247
247
248
248
error = vm_get_register (vcpu , reg , rval );
249
+ ASSERT (error == 0 , "%s: error (%d) happens when getting reg" ,
250
+ __func__ , error );
249
251
250
252
return error ;
251
253
}
@@ -351,6 +353,9 @@ vie_update_register(struct vcpu *vcpu, enum cpu_reg_name reg,
351
353
}
352
354
353
355
error = vm_set_register (vcpu , reg , val );
356
+ ASSERT (error == 0 , "%s: Error (%d) happens when update reg" ,
357
+ __func__ , error );
358
+
354
359
return error ;
355
360
}
356
361
@@ -696,7 +701,6 @@ emulate_movs(struct vcpu *vcpu, __unused uint64_t gpa, struct vie *vie,
696
701
697
702
if (repeat != 0 ) {
698
703
error = vie_read_register (vcpu , CPU_REG_RCX , & rcx );
699
- ASSERT (error == 0 , "%s: error %d getting rcx" , __func__ , error );
700
704
701
705
/*
702
706
* The count register is %rcx, %ecx or %cx depending on the
@@ -725,13 +729,8 @@ emulate_movs(struct vcpu *vcpu, __unused uint64_t gpa, struct vie *vie,
725
729
(void )memcpy_s ((char * )dstaddr , 16U , (char * )srcaddr , opsize );
726
730
727
731
error = vie_read_register (vcpu , CPU_REG_RSI , & rsi );
728
- ASSERT (error == 0 , "%s: error %d getting rsi" , __func__ , error );
729
-
730
732
error = vie_read_register (vcpu , CPU_REG_RDI , & rdi );
731
- ASSERT (error == 0 , "%s: error %d getting rdi" , __func__ , error );
732
-
733
733
error = vie_read_register (vcpu , CPU_REG_RFLAGS , & rflags );
734
- ASSERT (error == 0 , "%s: error %d getting rflags" , __func__ , error );
735
734
736
735
if ((rflags & PSL_D ) != 0U ) {
737
736
rsi -= opsize ;
@@ -743,17 +742,14 @@ emulate_movs(struct vcpu *vcpu, __unused uint64_t gpa, struct vie *vie,
743
742
744
743
error = vie_update_register (vcpu , CPU_REG_RSI , rsi ,
745
744
vie -> addrsize );
746
- ASSERT (error == 0 , "%s: error %d updating rsi" , __func__ , error );
747
745
748
746
error = vie_update_register (vcpu , CPU_REG_RDI , rdi ,
749
747
vie -> addrsize );
750
- ASSERT (error == 0 , "%s: error %d updating rdi" , __func__ , error );
751
748
752
749
if (repeat != 0 ) {
753
750
rcx = rcx - 1 ;
754
751
error = vie_update_register (vcpu , CPU_REG_RCX ,
755
752
rcx , vie -> addrsize );
756
- ASSERT (error == 0 , "%s: error %d updating rcx" , __func__ , error );
757
753
758
754
/*
759
755
* Repeat the instruction if the count register is not zero.
@@ -783,7 +779,6 @@ emulate_stos(struct vcpu *vcpu, uint64_t gpa, struct vie *vie,
783
779
784
780
if (repeat != 0 ) {
785
781
error = vie_read_register (vcpu , CPU_REG_RCX , & rcx );
786
- ASSERT (error == 0 , "%s: error %d getting rcx" , __func__ , error );
787
782
788
783
/*
789
784
* The count register is %rcx, %ecx or %cx depending on the
@@ -795,18 +790,14 @@ emulate_stos(struct vcpu *vcpu, uint64_t gpa, struct vie *vie,
795
790
}
796
791
797
792
error = vie_read_register (vcpu , CPU_REG_RAX , & val );
798
- ASSERT (error == 0 , "%s: error %d getting rax" , __func__ , error );
799
793
800
794
error = memwrite (vcpu , gpa , val , opsize , arg );
801
795
if (error != 0 ) {
802
796
return error ;
803
797
}
804
798
805
799
error = vie_read_register (vcpu , CPU_REG_RDI , & rdi );
806
- ASSERT (error == 0 , "%s: error %d getting rdi" , __func__ , error );
807
-
808
800
error = vie_read_register (vcpu , CPU_REG_RFLAGS , & rflags );
809
- ASSERT (error == 0 , "%s: error %d getting rflags" , __func__ , error );
810
801
811
802
if ((rflags & PSL_D ) != 0U ) {
812
803
rdi -= opsize ;
@@ -816,13 +807,11 @@ emulate_stos(struct vcpu *vcpu, uint64_t gpa, struct vie *vie,
816
807
817
808
error = vie_update_register (vcpu , CPU_REG_RDI , rdi ,
818
809
vie -> addrsize );
819
- ASSERT (error == 0 , "%s: error %d updating rdi" , __func__ , error );
820
810
821
811
if (repeat != 0 ) {
822
812
rcx = rcx - 1 ;
823
813
error = vie_update_register (vcpu , CPU_REG_RCX ,
824
814
rcx , vie -> addrsize );
825
- ASSERT (error == 0 , "%s: error %d updating rcx" , __func__ , error );
826
815
827
816
/*
828
817
* Repeat the instruction if the count register is not zero.
@@ -1318,13 +1307,9 @@ emulate_stack_op(struct vcpu *vcpu, uint64_t mmio_gpa, struct vie *vie,
1318
1307
}
1319
1308
1320
1309
error = vie_read_register (vcpu , CPU_REG_CR0 , & cr0 );
1321
- ASSERT (error == 0 , "%s: error %d getting cr0" , __func__ , error );
1322
-
1323
1310
error = vie_read_register (vcpu , CPU_REG_RFLAGS , & rflags );
1324
- ASSERT (error == 0 , "%s: error %d getting rflags" , __func__ , error );
1325
-
1326
1311
error = vie_read_register (vcpu , CPU_REG_RSP , & rsp );
1327
- ASSERT ( error == 0 , "%s: error %d getting rsp" , __func__ , error );
1312
+
1328
1313
if (pushop != 0 ) {
1329
1314
rsp -= size ;
1330
1315
}
@@ -1379,7 +1364,6 @@ emulate_stack_op(struct vcpu *vcpu, uint64_t mmio_gpa, struct vie *vie,
1379
1364
if (error == 0 ) {
1380
1365
error = vie_update_register (vcpu , CPU_REG_RSP , rsp ,
1381
1366
stackaddrsize );
1382
- ASSERT (error == 0 , "error %d updating rsp" , error );
1383
1367
}
1384
1368
return error ;
1385
1369
}
@@ -1478,7 +1462,6 @@ emulate_bittest(struct vcpu *vcpu, uint64_t gpa, struct vie *vie,
1478
1462
}
1479
1463
1480
1464
error = vie_read_register (vcpu , CPU_REG_RFLAGS , & rflags );
1481
- ASSERT (error == 0 , "%s: error %d getting rflags" , __func__ , error );
1482
1465
1483
1466
error = memread (vcpu , gpa , & val , vie -> opsize , memarg );
1484
1467
if (error != 0 ) {
@@ -1500,7 +1483,6 @@ emulate_bittest(struct vcpu *vcpu, uint64_t gpa, struct vie *vie,
1500
1483
}
1501
1484
size = 8U ;
1502
1485
error = vie_update_register (vcpu , CPU_REG_RFLAGS , rflags , size );
1503
- ASSERT (error == 0 , "%s: error %d updating rflags" , __func__ , error );
1504
1486
1505
1487
return 0 ;
1506
1488
}
0 commit comments