diff options
author | jhb <jhb@FreeBSD.org> | 2009-07-24 13:50:29 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2009-07-24 13:50:29 +0000 |
commit | 44220d7e1e07bbf1c88215543c5877abcdb88d29 (patch) | |
tree | 9a9fb32ead80921ec7937e7a600e46e446366436 /sys/vm/vm_pager.c | |
parent | 4064b20ecefb589d0b9290e558c0abfc5229c120 (diff) | |
download | FreeBSD-src-44220d7e1e07bbf1c88215543c5877abcdb88d29.zip FreeBSD-src-44220d7e1e07bbf1c88215543c5877abcdb88d29.tar.gz |
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
Diffstat (limited to 'sys/vm/vm_pager.c')
-rw-r--r-- | sys/vm/vm_pager.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/vm/vm_pager.c b/sys/vm/vm_pager.c index 3758d2b..473d518 100644 --- a/sys/vm/vm_pager.c +++ b/sys/vm/vm_pager.c @@ -160,7 +160,8 @@ struct pagerops *pagertab[] = { &vnodepagerops, /* OBJT_VNODE */ &devicepagerops, /* OBJT_DEVICE */ &physpagerops, /* OBJT_PHYS */ - &deadpagerops /* OBJT_DEAD */ + &deadpagerops, /* OBJT_DEAD */ + &sgpagerops /* OBJT_SG */ }; static const int npagers = sizeof(pagertab) / sizeof(pagertab[0]); |