mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
Use atop() instead of OFF_TO_IDX() for convertion of addresses or
addresses offsets, as intended. Suggested and reviewed by: alc Sponsored by: The FreeBSD Foundation MFC after: 2 weeks
This commit is contained in:
parent
9dbdf2a169
commit
d1780e8dac
9 changed files with 21 additions and 23 deletions
|
|
@ -48,7 +48,7 @@ drm_sg_alloc(struct drm_device *dev, struct drm_scatter_gather *request)
|
|||
entry = malloc(sizeof(*entry), DRM_MEM_DRIVER, M_WAITOK | M_ZERO);
|
||||
|
||||
size = round_page(request->size);
|
||||
entry->pages = OFF_TO_IDX(size);
|
||||
entry->pages = atop(size);
|
||||
entry->busaddr = malloc(entry->pages * sizeof(*entry->busaddr),
|
||||
DRM_MEM_SGLISTS, M_WAITOK | M_ZERO);
|
||||
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ int drm_sg_alloc(struct drm_device *dev, struct drm_scatter_gather * request)
|
|||
DRM_DEBUG("request size=%ld\n", request->size);
|
||||
|
||||
size = round_page(request->size);
|
||||
entry->pages = OFF_TO_IDX(size);
|
||||
entry->pages = atop(size);
|
||||
entry->busaddr = malloc(entry->pages * sizeof(*entry->busaddr),
|
||||
DRM_MEM_SGLISTS, M_NOWAIT | M_ZERO);
|
||||
if (!entry->busaddr) {
|
||||
|
|
|
|||
|
|
@ -2258,7 +2258,7 @@ kern_proc_vmmap_resident(vm_map_t map, vm_map_entry_t entry,
|
|||
if (m_adv != NULL) {
|
||||
m = m_adv;
|
||||
} else {
|
||||
pi_adv = OFF_TO_IDX(entry->end - addr);
|
||||
pi_adv = atop(entry->end - addr);
|
||||
pindex = pi;
|
||||
for (tobj = obj;; tobj = tobj->backing_object) {
|
||||
m = vm_page_find_least(tobj, pindex);
|
||||
|
|
@ -2282,7 +2282,7 @@ kern_proc_vmmap_resident(vm_map_t map, vm_map_entry_t entry,
|
|||
(pmap_mincore(map->pmap, addr, &locked_pa) &
|
||||
MINCORE_SUPER) != 0) {
|
||||
kve->kve_flags |= KVME_FLAG_SUPER;
|
||||
pi_adv = OFF_TO_IDX(pagesizes[1]);
|
||||
pi_adv = atop(pagesizes[1]);
|
||||
} else {
|
||||
/*
|
||||
* We do not test the found page on validity.
|
||||
|
|
|
|||
|
|
@ -3894,7 +3894,7 @@ biodone(struct bio *bp)
|
|||
start = trunc_page((vm_offset_t)bp->bio_data);
|
||||
end = round_page((vm_offset_t)bp->bio_data + bp->bio_length);
|
||||
bp->bio_data = unmapped_buf;
|
||||
pmap_qremove(start, OFF_TO_IDX(end - start));
|
||||
pmap_qremove(start, atop(end - start));
|
||||
vmem_free(transient_arena, start, end - start);
|
||||
atomic_add_int(&inflight_transient_maps, -1);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1544,7 +1544,7 @@ vm_fault_copy_entry(vm_map_t dst_map, vm_map_t src_map,
|
|||
* actually shadow anything - we copy the pages directly.)
|
||||
*/
|
||||
dst_object = vm_object_allocate(OBJT_DEFAULT,
|
||||
OFF_TO_IDX(dst_entry->end - dst_entry->start));
|
||||
atop(dst_entry->end - dst_entry->start));
|
||||
#if VM_NRESERVLEVEL > 0
|
||||
dst_object->flags |= OBJ_COLORED;
|
||||
dst_object->pg_color = atop(dst_entry->start);
|
||||
|
|
|
|||
|
|
@ -165,8 +165,7 @@ kmem_alloc_attr(vmem_t *vmem, vm_size_t size, int flags, vm_paddr_t low,
|
|||
vm_paddr_t high, vm_memattr_t memattr)
|
||||
{
|
||||
vm_object_t object = vmem == kmem_arena ? kmem_object : kernel_object;
|
||||
vm_offset_t addr, i;
|
||||
vm_ooffset_t offset;
|
||||
vm_offset_t addr, i, offset;
|
||||
vm_page_t m;
|
||||
int pflags, tries;
|
||||
|
||||
|
|
@ -179,7 +178,7 @@ kmem_alloc_attr(vmem_t *vmem, vm_size_t size, int flags, vm_paddr_t low,
|
|||
for (i = 0; i < size; i += PAGE_SIZE) {
|
||||
tries = 0;
|
||||
retry:
|
||||
m = vm_page_alloc_contig(object, OFF_TO_IDX(offset + i),
|
||||
m = vm_page_alloc_contig(object, atop(offset + i),
|
||||
pflags, 1, low, high, PAGE_SIZE, 0, memattr);
|
||||
if (m == NULL) {
|
||||
VM_OBJECT_WUNLOCK(object);
|
||||
|
|
@ -220,8 +219,7 @@ kmem_alloc_contig(struct vmem *vmem, vm_size_t size, int flags, vm_paddr_t low,
|
|||
vm_memattr_t memattr)
|
||||
{
|
||||
vm_object_t object = vmem == kmem_arena ? kmem_object : kernel_object;
|
||||
vm_offset_t addr, tmp;
|
||||
vm_ooffset_t offset;
|
||||
vm_offset_t addr, offset, tmp;
|
||||
vm_page_t end_m, m;
|
||||
u_long npages;
|
||||
int pflags, tries;
|
||||
|
|
@ -235,7 +233,7 @@ kmem_alloc_contig(struct vmem *vmem, vm_size_t size, int flags, vm_paddr_t low,
|
|||
VM_OBJECT_WLOCK(object);
|
||||
tries = 0;
|
||||
retry:
|
||||
m = vm_page_alloc_contig(object, OFF_TO_IDX(offset), pflags,
|
||||
m = vm_page_alloc_contig(object, atop(offset), pflags,
|
||||
npages, low, high, alignment, boundary, memattr);
|
||||
if (m == NULL) {
|
||||
VM_OBJECT_WUNLOCK(object);
|
||||
|
|
@ -346,7 +344,7 @@ kmem_back(vm_object_t object, vm_offset_t addr, vm_size_t size, int flags)
|
|||
VM_OBJECT_WLOCK(object);
|
||||
for (i = 0; i < size; i += PAGE_SIZE) {
|
||||
retry:
|
||||
m = vm_page_alloc(object, OFF_TO_IDX(offset + i), pflags);
|
||||
m = vm_page_alloc(object, atop(offset + i), pflags);
|
||||
|
||||
/*
|
||||
* Ran out of space, free everything up and return. Don't need
|
||||
|
|
@ -398,7 +396,7 @@ kmem_unback(vm_object_t object, vm_offset_t addr, vm_size_t size)
|
|||
offset = addr - VM_MIN_KERNEL_ADDRESS;
|
||||
VM_OBJECT_WLOCK(object);
|
||||
for (i = 0; i < size; i += PAGE_SIZE) {
|
||||
m = vm_page_lookup(object, OFF_TO_IDX(offset + i));
|
||||
m = vm_page_lookup(object, atop(offset + i));
|
||||
vm_page_unwire(m, PQ_NONE);
|
||||
vm_page_free(m);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2903,7 +2903,7 @@ vm_map_entry_delete(vm_map_t map, vm_map_entry_t entry)
|
|||
{
|
||||
vm_object_t object;
|
||||
vm_pindex_t offidxstart, offidxend, count, size1;
|
||||
vm_ooffset_t size;
|
||||
vm_size_t size;
|
||||
|
||||
vm_map_entry_unlink(map, entry);
|
||||
object = entry->object.vm_object;
|
||||
|
|
@ -2920,7 +2920,7 @@ vm_map_entry_delete(vm_map_t map, vm_map_entry_t entry)
|
|||
KASSERT(entry->cred == NULL || object->cred == NULL ||
|
||||
(entry->eflags & MAP_ENTRY_NEEDS_COPY),
|
||||
("OVERCOMMIT vm_map_entry_delete: both cred %p", entry));
|
||||
count = OFF_TO_IDX(size);
|
||||
count = atop(size);
|
||||
offidxstart = OFF_TO_IDX(entry->offset);
|
||||
offidxend = offidxstart + count;
|
||||
VM_OBJECT_WLOCK(object);
|
||||
|
|
|
|||
|
|
@ -885,7 +885,7 @@ RestartScan:
|
|||
/*
|
||||
* calculate index into user supplied byte vector
|
||||
*/
|
||||
vecindex = OFF_TO_IDX(addr - first_addr);
|
||||
vecindex = atop(addr - first_addr);
|
||||
|
||||
/*
|
||||
* If we have skipped map entries, we need to make sure that
|
||||
|
|
@ -931,7 +931,7 @@ RestartScan:
|
|||
/*
|
||||
* Zero the last entries in the byte vector.
|
||||
*/
|
||||
vecindex = OFF_TO_IDX(end - first_addr);
|
||||
vecindex = atop(end - first_addr);
|
||||
while ((lastvecindex + 1) < vecindex) {
|
||||
++lastvecindex;
|
||||
error = subyte(vec + lastvecindex, 0);
|
||||
|
|
|
|||
|
|
@ -273,16 +273,16 @@ vm_object_init(void)
|
|||
mtx_init(&vm_object_list_mtx, "vm object_list", NULL, MTX_DEF);
|
||||
|
||||
rw_init(&kernel_object->lock, "kernel vm object");
|
||||
_vm_object_allocate(OBJT_PHYS, OFF_TO_IDX(VM_MAX_KERNEL_ADDRESS - VM_MIN_KERNEL_ADDRESS),
|
||||
kernel_object);
|
||||
_vm_object_allocate(OBJT_PHYS, atop(VM_MAX_KERNEL_ADDRESS -
|
||||
VM_MIN_KERNEL_ADDRESS), kernel_object);
|
||||
#if VM_NRESERVLEVEL > 0
|
||||
kernel_object->flags |= OBJ_COLORED;
|
||||
kernel_object->pg_color = (u_short)atop(VM_MIN_KERNEL_ADDRESS);
|
||||
#endif
|
||||
|
||||
rw_init(&kmem_object->lock, "kmem vm object");
|
||||
_vm_object_allocate(OBJT_PHYS, OFF_TO_IDX(VM_MAX_KERNEL_ADDRESS - VM_MIN_KERNEL_ADDRESS),
|
||||
kmem_object);
|
||||
_vm_object_allocate(OBJT_PHYS, atop(VM_MAX_KERNEL_ADDRESS -
|
||||
VM_MIN_KERNEL_ADDRESS), kmem_object);
|
||||
#if VM_NRESERVLEVEL > 0
|
||||
kmem_object->flags |= OBJ_COLORED;
|
||||
kmem_object->pg_color = (u_short)atop(VM_MIN_KERNEL_ADDRESS);
|
||||
|
|
@ -1028,7 +1028,7 @@ vm_object_sync(vm_object_t object, vm_ooffset_t offset, vm_size_t size,
|
|||
(void) vn_start_write(vp, &mp, V_WAIT);
|
||||
vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
|
||||
if (syncio && !invalidate && offset == 0 &&
|
||||
OFF_TO_IDX(size) == object->size) {
|
||||
atop(size) == object->size) {
|
||||
/*
|
||||
* If syncing the whole mapping of the file,
|
||||
* it is faster to schedule all the writes in
|
||||
|
|
|
|||
Loading…
Reference in a new issue