summaryrefslogtreecommitdiffstats
path: root/sys/pci
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2002-07-21 04:07:26 +0000
committeralc <alc@FreeBSD.org>2002-07-21 04:07:26 +0000
commit906268112515f095a55e5f88b629b3219003c274 (patch)
treecf8f5d0c457341d9ddc0430dc7ac229da4820211 /sys/pci
parent30ec4e72722c97aebb1484546143c06ce494b330 (diff)
downloadFreeBSD-src-906268112515f095a55e5f88b629b3219003c274.zip
FreeBSD-src-906268112515f095a55e5f88b629b3219003c274.tar.gz
o If the page returned by vm_page_grab(VM_ALLOC_ZERO) isn't prezeroed,
zero it. Reviewed by: dfr, peter
Diffstat (limited to 'sys/pci')
-rw-r--r--sys/pci/agp.c2
-rw-r--r--sys/pci/agp_i810.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/sys/pci/agp.c b/sys/pci/agp.c
index 1726b4b..aa16c88 100644
--- a/sys/pci/agp.c
+++ b/sys/pci/agp.c
@@ -422,6 +422,8 @@ agp_generic_bind_memory(device_t dev, struct agp_memory *mem,
*/
m = vm_page_grab(mem->am_obj, OFF_TO_IDX(i),
VM_ALLOC_ZERO | VM_ALLOC_RETRY);
+ if ((m->flags & PG_ZERO) == 0)
+ vm_page_zero_fill(m);
AGP_DPF("found page pa=%#x\n", VM_PAGE_TO_PHYS(m));
vm_page_lock_queues();
vm_page_wire(m);
diff --git a/sys/pci/agp_i810.c b/sys/pci/agp_i810.c
index f6b7cc2..2916be8 100644
--- a/sys/pci/agp_i810.c
+++ b/sys/pci/agp_i810.c
@@ -371,6 +371,8 @@ agp_i810_alloc_memory(device_t dev, int type, vm_size_t size)
*/
vm_page_t m;
m = vm_page_grab(mem->am_obj, 0, VM_ALLOC_ZERO|VM_ALLOC_RETRY);
+ if ((m->flags & PG_ZERO) == 0)
+ vm_page_zero_fill(m);
vm_page_lock_queues();
vm_page_wire(m);
mem->am_physical = VM_PAGE_TO_PHYS(m);
OpenPOWER on IntegriCloud