if ( page->shadow_flags & SHF_L2_PAE )
result |= SHADOW_INTERNAL_NAME(sh_map_and_validate_gl2e, 3)
(v, gmfn, entry, size);
- if ( page->shadow_flags & SHF_L2H_PAE )
- result |= SHADOW_INTERNAL_NAME(sh_map_and_validate_gl2he, 3)
- (v, gmfn, entry, size);
if ( page->shadow_flags & SHF_L1_64 )
result |= SHADOW_INTERNAL_NAME(sh_map_and_validate_gl1e, 4)
1, /* SH_type_l1_pae_shadow */
1, /* SH_type_fl1_pae_shadow */
1, /* SH_type_l2_pae_shadow */
- 1, /* SH_type_l2h_pae_shadow */
1, /* SH_type_l1_64_shadow */
1, /* SH_type_fl1_64_shadow */
1, /* SH_type_l2_64_shadow */
SHADOW_INTERNAL_NAME(sh_unhook_32b_mappings, 2)(d, smfn, user_only);
break;
case SH_type_l2_pae_shadow:
- case SH_type_l2h_pae_shadow:
SHADOW_INTERNAL_NAME(sh_unhook_pae_mappings, 3)(d, smfn, user_only);
break;
case SH_type_l4_64_shadow:
SHADOW_INTERNAL_NAME(sh_destroy_l1_shadow, 3)(d, smfn);
break;
case SH_type_l2_pae_shadow:
- case SH_type_l2h_pae_shadow:
SHADOW_INTERNAL_NAME(sh_destroy_l2_shadow, 3)(d, smfn);
break;
SHADOW_INTERNAL_NAME(sh_rm_write_access_from_l1, 3), /* l1_pae */
SHADOW_INTERNAL_NAME(sh_rm_write_access_from_l1, 3), /* fl1_pae */
NULL, /* l2_pae */
- NULL, /* l2h_pae */
SHADOW_INTERNAL_NAME(sh_rm_write_access_from_l1, 4), /* l1_64 */
SHADOW_INTERNAL_NAME(sh_rm_write_access_from_l1, 4), /* fl1_64 */
NULL, /* l2_64 */
SHADOW_INTERNAL_NAME(sh_rm_mappings_from_l1, 3), /* l1_pae */
SHADOW_INTERNAL_NAME(sh_rm_mappings_from_l1, 3), /* fl1_pae */
NULL, /* l2_pae */
- NULL, /* l2h_pae */
SHADOW_INTERNAL_NAME(sh_rm_mappings_from_l1, 4), /* l1_64 */
SHADOW_INTERNAL_NAME(sh_rm_mappings_from_l1, 4), /* fl1_64 */
NULL, /* l2_64 */
break;
case SH_type_l1_pae_shadow:
case SH_type_l2_pae_shadow:
- case SH_type_l2h_pae_shadow:
SHADOW_INTERNAL_NAME(sh_clear_shadow_entry, 3)(d, vaddr, pmfn);
break;
case SH_type_l1_64_shadow:
NULL, /* l1_pae */
NULL, /* fl1_pae */
SHADOW_INTERNAL_NAME(sh_remove_l1_shadow, 3), /* l2_pae */
- SHADOW_INTERNAL_NAME(sh_remove_l1_shadow, 3), /* l2h_pae */
NULL, /* l1_64 */
NULL, /* fl1_64 */
SHADOW_INTERNAL_NAME(sh_remove_l1_shadow, 4), /* l2_64 */
SHF_L2_32, /* l1_32 */
0, /* fl1_32 */
0, /* l2_32 */
- SHF_L2H_PAE | SHF_L2_PAE, /* l1_pae */
+ SHF_L2_PAE, /* l1_pae */
0, /* fl1_pae */
0, /* l2_pae */
- 0, /* l2h_pae */
SHF_L2H_64 | SHF_L2_64, /* l1_64 */
0, /* fl1_64 */
SHF_L3_64, /* l2_64 */
DO_UNSHADOW(SH_type_l2_32_shadow);
DO_UNSHADOW(SH_type_l1_32_shadow);
- DO_UNSHADOW(SH_type_l2h_pae_shadow);
DO_UNSHADOW(SH_type_l2_pae_shadow);
DO_UNSHADOW(SH_type_l1_pae_shadow);
DO_UNSHADOW(SH_type_l4_64_shadow);
NULL, /* l1_pae */
NULL, /* fl1_pae */
NULL, /* l2_pae */
- NULL, /* l2h_pae */
NULL, /* l1_64 */
NULL, /* fl1_64 */
NULL, /* l2_64 */
SHADOW_INTERNAL_NAME(sh_audit_l1_table, 3), /* l1_pae */
SHADOW_INTERNAL_NAME(sh_audit_fl1_table, 3), /* fl1_pae */
SHADOW_INTERNAL_NAME(sh_audit_l2_table, 3), /* l2_pae */
- SHADOW_INTERNAL_NAME(sh_audit_l2_table, 3), /* l2h_pae */
SHADOW_INTERNAL_NAME(sh_audit_l1_table, 4), /* l1_64 */
SHADOW_INTERNAL_NAME(sh_audit_fl1_table, 4), /* fl1_64 */
SHADOW_INTERNAL_NAME(sh_audit_l2_table, 4), /* l2_64 */
#define SH_type_l1_pae_shadow (4U) /* shadowing a pae L1 page */
#define SH_type_fl1_pae_shadow (5U) /* L1 shadow for pae 2M superpg */
#define SH_type_l2_pae_shadow (6U) /* shadowing a pae L2-low page */
-#define SH_type_l2h_pae_shadow (7U) /* shadowing a pae L2-high page */
-#define SH_type_l1_64_shadow (8U) /* shadowing a 64-bit L1 page */
-#define SH_type_fl1_64_shadow (9U) /* L1 shadow for 64-bit 2M superpg */
-#define SH_type_l2_64_shadow (10U) /* shadowing a 64-bit L2 page */
-#define SH_type_l2h_64_shadow (11U) /* shadowing a compat PAE L2 high page */
-#define SH_type_l3_64_shadow (12U) /* shadowing a 64-bit L3 page */
-#define SH_type_l4_64_shadow (13U) /* shadowing a 64-bit L4 page */
-#define SH_type_max_shadow (13U)
-#define SH_type_p2m_table (14U) /* in use as the p2m table */
-#define SH_type_monitor_table (15U) /* in use as a monitor table */
-#define SH_type_oos_snapshot (16U) /* in use as OOS snapshot */
-#define SH_type_unused (17U)
+#define SH_type_l1_64_shadow (7U) /* shadowing a 64-bit L1 page */
+#define SH_type_fl1_64_shadow (8U) /* L1 shadow for 64-bit 2M superpg */
+#define SH_type_l2_64_shadow (9U) /* shadowing a 64-bit L2 page */
+#define SH_type_l2h_64_shadow (10U) /* shadowing a compat PAE L2 high page */
+#define SH_type_l3_64_shadow (11U) /* shadowing a 64-bit L3 page */
+#define SH_type_l4_64_shadow (12U) /* shadowing a 64-bit L4 page */
+#define SH_type_max_shadow (12U)
+#define SH_type_p2m_table (13U) /* in use as the p2m table */
+#define SH_type_monitor_table (14U) /* in use as a monitor table */
+#define SH_type_oos_snapshot (15U) /* in use as OOS snapshot */
+#define SH_type_unused (16U)
/*
* What counts as a pinnable shadow?
* persist even when not currently in use in a guest CR3 */
if ( t == SH_type_l2_32_shadow
|| t == SH_type_l2_pae_shadow
- || t == SH_type_l2h_pae_shadow
|| t == SH_type_l4_64_shadow )
return 1;
#define SHF_L1_PAE (1u << SH_type_l1_pae_shadow)
#define SHF_FL1_PAE (1u << SH_type_fl1_pae_shadow)
#define SHF_L2_PAE (1u << SH_type_l2_pae_shadow)
-#define SHF_L2H_PAE (1u << SH_type_l2h_pae_shadow)
#define SHF_L1_64 (1u << SH_type_l1_64_shadow)
#define SHF_FL1_64 (1u << SH_type_fl1_64_shadow)
#define SHF_L2_64 (1u << SH_type_l2_64_shadow)
#define SHF_L4_64 (1u << SH_type_l4_64_shadow)
#define SHF_32 (SHF_L1_32|SHF_FL1_32|SHF_L2_32)
-#define SHF_PAE (SHF_L1_PAE|SHF_FL1_PAE|SHF_L2_PAE|SHF_L2H_PAE)
+#define SHF_PAE (SHF_L1_PAE|SHF_FL1_PAE|SHF_L2_PAE)
#define SHF_64 (SHF_L1_64|SHF_FL1_64|SHF_L2_64|SHF_L2H_64|SHF_L3_64|SHF_L4_64)
#define SHF_L1_ANY (SHF_L1_32|SHF_L1_PAE|SHF_L1_64)