Lines Matching refs:addr
131 uint64_t addr;
320 static unsigned long virtio_mem_phys_to_mb_id(unsigned long addr)
322 return addr / memory_block_size_bytes();
337 uint64_t addr)
339 return addr / vm->bbm.bb_size;
355 unsigned long addr)
357 const unsigned long mb_id = virtio_mem_phys_to_mb_id(addr);
360 return (addr - mb_addr) / vm->sbm.sb_size;
629 static int virtio_mem_add_memory(struct virtio_mem *vm, uint64_t addr,
645 dev_dbg(&vm->vdev->dev, "adding memory: 0x%llx - 0x%llx\n", addr,
646 addr + size - 1);
649 rc = add_memory_driver_managed(vm->mgid, addr, size, vm->resource_name,
667 const uint64_t addr = virtio_mem_mb_id_to_phys(mb_id);
670 return virtio_mem_add_memory(vm, addr, size);
678 const uint64_t addr = virtio_mem_bb_id_to_phys(vm, bb_id);
681 return virtio_mem_add_memory(vm, addr, size);
693 static int virtio_mem_remove_memory(struct virtio_mem *vm, uint64_t addr,
698 dev_dbg(&vm->vdev->dev, "removing memory: 0x%llx - 0x%llx\n", addr,
699 addr + size - 1);
700 rc = remove_memory(addr, size);
719 const uint64_t addr = virtio_mem_mb_id_to_phys(mb_id);
722 return virtio_mem_remove_memory(vm, addr, size);
734 uint64_t addr,
740 "offlining and removing memory: 0x%llx - 0x%llx\n", addr,
741 addr + size - 1);
743 rc = offline_and_remove_memory(addr, size);
769 const uint64_t addr = virtio_mem_mb_id_to_phys(mb_id);
772 return virtio_mem_offline_and_remove_memory(vm, addr, size);
810 const uint64_t addr = virtio_mem_bb_id_to_phys(vm, bb_id);
813 return virtio_mem_offline_and_remove_memory(vm, addr, size);
847 return start < vm->addr + vm->region_size && vm->addr < start + size;
857 return start >= vm->addr && start + size <= vm->addr + vm->region_size;
1279 unsigned long addr, next, id, sb_id, count;
1289 for (addr = start; addr < end; ) {
1290 next = addr + PFN_PHYS(1 << order);
1293 id = virtio_mem_phys_to_mb_id(addr);
1294 sb_id = virtio_mem_phys_to_sb_id(vm, addr);
1319 id = virtio_mem_phys_to_bb_id(vm, addr);
1325 generic_online_page(pfn_to_page(PFN_DOWN(addr)), order);
1327 virtio_mem_set_fake_offline(PFN_DOWN(addr), 1 << order,
1329 addr = next;
1335 const unsigned long addr = page_to_phys(page);
1344 if (!virtio_mem_contains_range(vm, addr, PFN_PHYS(1 << order)))
1394 static int virtio_mem_send_plug_request(struct virtio_mem *vm, uint64_t addr,
1400 .u.plug.addr = cpu_to_virtio64(vm->vdev, addr),
1408 dev_dbg(&vm->vdev->dev, "plugging memory: 0x%llx - 0x%llx\n", addr,
1409 addr + size - 1);
1432 static int virtio_mem_send_unplug_request(struct virtio_mem *vm, uint64_t addr,
1438 .u.unplug.addr = cpu_to_virtio64(vm->vdev, addr),
1446 dev_dbg(&vm->vdev->dev, "unplugging memory: 0x%llx - 0x%llx\n", addr,
1447 addr + size - 1);
1501 const uint64_t addr = virtio_mem_mb_id_to_phys(mb_id) +
1506 rc = virtio_mem_send_plug_request(vm, addr, size);
1519 const uint64_t addr = virtio_mem_mb_id_to_phys(mb_id) +
1524 rc = virtio_mem_send_unplug_request(vm, addr, size);
1537 const uint64_t addr = virtio_mem_bb_id_to_phys(vm, bb_id);
1540 return virtio_mem_send_unplug_request(vm, addr, size);
1550 const uint64_t addr = virtio_mem_bb_id_to_phys(vm, bb_id);
1553 return virtio_mem_send_plug_request(vm, addr, size);
2359 end_addr = min(vm->addr + usable_region_size - 1,
2513 uint64_t unit_pages, sb_size, addr;
2517 if (!IS_ALIGNED(vm->addr, memory_block_size_bytes()))
2520 if (!IS_ALIGNED(vm->addr + vm->region_size, memory_block_size_bytes()))
2523 if (vm->addr < pluggable_range.start ||
2524 vm->addr + vm->region_size - 1 > pluggable_range.end)
2547 addr = max_t(uint64_t, vm->addr, pluggable_range.start) +
2549 vm->sbm.first_mb_id = virtio_mem_phys_to_mb_id(addr);
2569 addr = max_t(uint64_t, vm->addr, pluggable_range.start) +
2571 vm->bbm.first_bb_id = virtio_mem_phys_to_bb_id(vm, addr);
2633 static int virtio_mem_send_state_request(struct virtio_mem *vm, uint64_t addr,
2639 .u.state.addr = cpu_to_virtio64(vm->vdev, addr),
2644 dev_dbg(&vm->vdev->dev, "requesting state: 0x%llx - 0x%llx\n", addr,
2645 addr + size - 1);
2666 uint64_t addr = PFN_PHYS(pfn);
2670 if (!virtio_mem_contains_range(vm, addr, PAGE_SIZE))
2681 addr = ALIGN_DOWN(addr, vm->device_block_size);
2682 if (addr != vm->last_block_addr) {
2683 rc = virtio_mem_send_state_request(vm, addr,
2690 vm->last_block_addr = addr;
2729 virtio_cread_le(vm->vdev, struct virtio_mem_config, addr, &vm->addr);
2735 vm->nid = memory_add_physaddr_to_nid(vm->addr);
2737 dev_info(&vm->vdev->dev, "start address: 0x%llx", vm->addr);
2765 vm->parent_resource = __request_mem_region(vm->addr, vm->region_size,
2804 return walk_iomem_res_desc(IORES_DESC_NONE, flags, vm->addr,
2805 vm->addr + vm->region_size, NULL,