From 44220d7e1e07bbf1c88215543c5877abcdb88d29 Mon Sep 17 00:00:00 2001 From: jhb Date: Fri, 24 Jul 2009 13:50:29 +0000 Subject: Add a new type of VM object: OBJT_SG. An OBJT_SG object is very similar to a device pager (OBJT_DEVICE) object in that it uses fictitious pages to provide aliases to other memory addresses. The primary difference is that it uses an sglist(9) to determine the physical addresses for a given offset into the object instead of invoking the d_mmap() method in a device driver. Reviewed by: alc Approved by: re (kensmith) MFC after: 2 weeks --- sys/i386/i386/pmap.c | 2 +- sys/i386/xen/pmap.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'sys/i386') diff --git a/sys/i386/i386/pmap.c b/sys/i386/i386/pmap.c index cbcb937..c8d6025 100644 --- a/sys/i386/i386/pmap.c +++ b/sys/i386/i386/pmap.c @@ -3448,7 +3448,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, int pat_mode; VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); - KASSERT(object->type == OBJT_DEVICE, + KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); if (pseflag && (addr & (NBPDR - 1)) == 0 && (size & (NBPDR - 1)) == 0) { diff --git a/sys/i386/xen/pmap.c b/sys/i386/xen/pmap.c index 051685a..a7c1b2a 100644 --- a/sys/i386/xen/pmap.c +++ b/sys/i386/xen/pmap.c @@ -3093,7 +3093,7 @@ pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_page_t p; VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); - KASSERT(object->type == OBJT_DEVICE, + KASSERT(object->type == OBJT_DEVICE || object->type == OBJT_SG, ("pmap_object_init_pt: non-device object")); if (pseflag && ((addr & (NBPDR - 1)) == 0) && ((size & (NBPDR - 1)) == 0)) { -- cgit v1.1