diff --git a/src/dev/arm/gic_v3_cpu_interface.cc b/src/dev/arm/gic_v3_cpu_interface.cc
index f00a86a..3f6c23f 100644
--- a/src/dev/arm/gic_v3_cpu_interface.cc
+++ b/src/dev/arm/gic_v3_cpu_interface.cc
@@ -388,7 +388,7 @@
       case MISCREG_ICC_PMR_EL1: // Priority Mask Register
         if ((currEL() == EL1) && !inSecureState() &&
                 (hcr_imo || hcr_fmo)) {
-            return isa->readMiscRegNoEffect(MISCREG_ICV_PMR_EL1);
+            return readMiscReg(MISCREG_ICV_PMR_EL1);
         }
 
         if (haveEL(EL3) && !inSecureState() &&
@@ -406,6 +406,14 @@
 
         break;
 
+      case MISCREG_ICV_PMR_EL1: { // Priority Mask Register
+          RegVal ich_vmcr_el2 =
+              isa->readMiscRegNoEffect(MISCREG_ICH_VMCR_EL2);
+
+          value = ich_vmcr_el2 >> ICH_VMCR_EL2_VPMR_SHIFT;
+          break;
+      }
+
       case MISCREG_ICC_IAR0:
       case MISCREG_ICC_IAR0_EL1: { // Interrupt Acknowledge Register 0
           if ((currEL() == EL1) && !inSecureState() && hcr_fmo) {
@@ -1268,7 +1276,7 @@
       case MISCREG_ICC_PMR_EL1: { // Priority Mask Register
           if ((currEL() == EL1) && !inSecureState() &&
                   (hcr_imo || hcr_fmo)) {
-              return isa->setMiscRegNoEffect(MISCREG_ICV_PMR_EL1, val);
+              return setMiscReg(MISCREG_ICV_PMR_EL1, val);
           }
 
           val &= 0xff;
@@ -1295,6 +1303,19 @@
           break;
       }
 
+      case MISCREG_ICV_PMR_EL1: { // Priority Mask Register
+          RegVal ich_vmcr_el2 =
+             isa->readMiscRegNoEffect(MISCREG_ICH_VMCR_EL2);
+          ich_vmcr_el2 = insertBits(
+              ich_vmcr_el2,
+              ICH_VMCR_EL2_VPMR_SHIFT + ICH_VMCR_EL2_VPMR_LENGTH - 1,
+              ICH_VMCR_EL2_VPMR_SHIFT, val);
+
+          isa->setMiscRegNoEffect(MISCREG_ICH_VMCR_EL2, ich_vmcr_el2);
+          virtualUpdate();
+          return;
+      }
+
       case MISCREG_ICC_IGRPEN0:
       case MISCREG_ICC_IGRPEN0_EL1: { // Interrupt Group 0 Enable Register
           if ((currEL() == EL1) && !inSecureState() && hcr_fmo) {
