Index: sys/dev/xen/bus/xenpv.c =================================================================== --- sys/dev/xen/bus/xenpv.c +++ sys/dev/xen/bus/xenpv.c @@ -125,7 +125,7 @@ phys_addr = rman_get_start(res); error = vm_phys_fictitious_reg_range(phys_addr, phys_addr + size, - VM_MEMATTR_DEFAULT); + VM_MEMATTR_XEN_SHARED); if (error) { bus_release_resource(child, SYS_RES_MEMORY, *res_id, res); return (NULL); Index: sys/dev/xen/console/xen_console.c =================================================================== --- sys/dev/xen/console/xen_console.c +++ sys/dev/xen/console/xen_console.c @@ -273,7 +273,7 @@ xencons_early_init_ring(struct xencons_priv *cons) { cons->intf = pmap_mapdev_attr(ptoa(xen_get_console_mfn()), PAGE_SIZE, - VM_MEMATTR_WRITE_BACK); + VM_MEMATTR_XEN_SHARED); cons->evtchn = xen_get_console_evtchn(); } Index: sys/dev/xen/grant_table/grant_table.c =================================================================== --- sys/dev/xen/grant_table/grant_table.c +++ sys/dev/xen/grant_table/grant_table.c @@ -541,7 +541,7 @@ #elif defined(__aarch64__) pmap_kenter_arm64((vm_offset_t) shared, (end_idx - start_idx + 1) << PAGE_SHIFT, resume_frames, - VM_MEMATTR_DEFAULT); + VM_MEMATTR_XEN_SHARED); #else #error "Unsupported architecture" #endif Index: sys/dev/xen/xenstore/xenstore.c =================================================================== --- sys/dev/xen/xenstore/xenstore.c +++ sys/dev/xen/xenstore/xenstore.c @@ -1130,7 +1130,7 @@ } else { xs.gpfn = xen_get_xenstore_mfn(); xen_store = pmap_mapdev_attr(ptoa(xs.gpfn), PAGE_SIZE, - PAT_WRITE_BACK); + VM_MEMATTR_XEN_SHARED); xs.initialized = true; } Index: sys/x86/include/xen/xen-os.h =================================================================== --- sys/x86/include/xen/xen-os.h +++ sys/x86/include/xen/xen-os.h @@ -30,6 +30,9 @@ #ifndef _MACHINE_X86_XEN_XEN_OS_H_ #define _MACHINE_X86_XEN_XEN_OS_H_ +/* x86 is lucky and can simply use the default */ +#define VM_MEMATTR_XEN_SHARED VM_MEMATTR_DEFAULT + /* Everything below this point is not included by assembler (.S) files. */ #ifndef __ASSEMBLY__ Index: sys/x86/xen/xenpv.c =================================================================== --- sys/x86/xen/xenpv.c +++ sys/x86/xen/xenpv.c @@ -125,7 +125,7 @@ phys_addr = rman_get_start(res); error = vm_phys_fictitious_reg_range(phys_addr, phys_addr + size, - VM_MEMATTR_DEFAULT); + VM_MEMATTR_XEN_SHARED); if (error) { bus_release_resource(child, SYS_RES_MEMORY, *res_id, res); return (NULL);