diff options
author | jkim <jkim@FreeBSD.org> | 2006-10-09 20:24:49 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2006-10-09 20:24:49 +0000 |
commit | 43f4f64397d3a184034d065423c741db758d6094 (patch) | |
tree | 90de9660332c937704268b0ee188ac91bd5afb80 /sys/dev/agp | |
parent | 57522b7a56fe68c134604aac9543bc89b01b0282 (diff) | |
download | FreeBSD-src-43f4f64397d3a184034d065423c741db758d6094.zip FreeBSD-src-43f4f64397d3a184034d065423c741db758d6094.tar.gz |
Fix 32-bit PTE in the GART table.
Noticed by: jmg
Diffstat (limited to 'sys/dev/agp')
-rw-r--r-- | sys/dev/agp/agp_amd64.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/agp/agp_amd64.c b/sys/dev/agp/agp_amd64.c index 9a4ccdb..e907efb 100644 --- a/sys/dev/agp/agp_amd64.c +++ b/sys/dev/agp/agp_amd64.c @@ -340,7 +340,9 @@ agp_amd64_bind_page(device_t dev, int offset, vm_offset_t physical) if (offset < 0 || offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) return EINVAL; - sc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = physical; + sc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = + (physical & 0xfffff000) | ((physical >> 28) & 0x00000ff0) | 3; + return 0; } |