--- //depot/vendor/freebsd/src/sys/amd64/amd64/nexus.c 2006/09/11 19:36:08 +++ //depot/user/jhb/acpipci/amd64/amd64/nexus.c 2006/09/21 19:29:36 @@ -359,24 +359,9 @@ * If this is a memory resource, map it into the kernel. */ if (rman_get_bustag(r) == AMD64_BUS_SPACE_MEM) { - caddr_t vaddr = 0; + void *vaddr; - if (rman_get_end(r) < 1024 * 1024) { - /* - * The first 1Mb is mapped at KERNBASE. - */ - vaddr = (caddr_t)(uintptr_t)(KERNBASE + rman_get_start(r)); - } else { - u_int64_t paddr; - u_int64_t psize; - u_int32_t poffs; - - paddr = rman_get_start(r); - psize = rman_get_size(r); - - poffs = paddr - trunc_page(paddr); - vaddr = (caddr_t) pmap_mapdev(paddr-poffs, psize+poffs) + poffs; - } + vaddr = pmap_mapdev(rman_get_start(r), rman_get_size(r)); rman_set_virtual(r, vaddr); rman_set_bushandle(r, (bus_space_handle_t) vaddr); } @@ -390,12 +375,9 @@ /* * If this is a memory resource, unmap it. */ - if ((rman_get_bustag(r) == AMD64_BUS_SPACE_MEM) && - (rman_get_end(r) >= 1024 * 1024)) { - u_int32_t psize; - - psize = rman_get_size(r); - pmap_unmapdev((vm_offset_t)rman_get_virtual(r), psize); + if (rman_get_bustag(r) == AMD64_BUS_SPACE_MEM) { + pmap_unmapdev((vm_offset_t)rman_get_virtual(r), + rman_get_size(r)); } return (rman_deactivate_resource(r)); --- //depot/vendor/freebsd/src/sys/i386/i386/nexus.c 2006/09/11 19:36:08 +++ //depot/user/jhb/acpipci/i386/i386/nexus.c 2006/09/21 19:29:36 @@ -392,24 +392,9 @@ * If this is a memory resource, map it into the kernel. */ if (rman_get_bustag(r) == I386_BUS_SPACE_MEM) { - caddr_t vaddr = 0; + void *vaddr; - if (rman_get_end(r) < 1024 * 1024) { - /* - * The first 1Mb is mapped at KERNBASE. - */ - vaddr = (caddr_t)(uintptr_t)(KERNBASE + rman_get_start(r)); - } else { - u_int32_t paddr; - u_int32_t psize; - u_int32_t poffs; - - paddr = rman_get_start(r); - psize = rman_get_size(r); - - poffs = paddr - trunc_page(paddr); - vaddr = (caddr_t) pmap_mapdev(paddr-poffs, psize+poffs) + poffs; - } + vaddr = pmap_mapdev(rman_get_start(r), rman_get_size(r)); rman_set_virtual(r, vaddr); #ifdef PC98 /* PC-98: the type of bus_space_handle_t is the structure. */ @@ -430,12 +415,9 @@ /* * If this is a memory resource, unmap it. */ - if ((rman_get_bustag(r) == I386_BUS_SPACE_MEM) && - (rman_get_end(r) >= 1024 * 1024)) { - u_int32_t psize; - - psize = rman_get_size(r); - pmap_unmapdev((vm_offset_t)rman_get_virtual(r), psize); + if (rman_get_bustag(r) == I386_BUS_SPACE_MEM) { + pmap_unmapdev((vm_offset_t)rman_get_virtual(r), + rman_get_size(r)); } return (rman_deactivate_resource(r));