Lines Matching refs:mb_id

310 static unsigned long virtio_mem_mb_id_to_phys(unsigned long mb_id)  in virtio_mem_mb_id_to_phys()  argument
312 return mb_id * memory_block_size_bytes(); in virtio_mem_mb_id_to_phys()
339 const unsigned long mb_id = virtio_mem_phys_to_mb_id(addr); in virtio_mem_phys_to_sb_id() local
340 const unsigned long mb_addr = virtio_mem_mb_id_to_phys(mb_id); in virtio_mem_phys_to_sb_id()
416 unsigned long mb_id, uint8_t state) in virtio_mem_sbm_set_mb_state() argument
418 const unsigned long idx = mb_id - vm->sbm.first_mb_id; in virtio_mem_sbm_set_mb_state()
433 unsigned long mb_id) in virtio_mem_sbm_get_mb_state() argument
435 const unsigned long idx = mb_id - vm->sbm.first_mb_id; in virtio_mem_sbm_get_mb_state()
483 unsigned long mb_id, int sb_id) in virtio_mem_sbm_sb_state_bit_nr() argument
485 return (mb_id - vm->sbm.first_mb_id) * vm->sbm.sbs_per_mb + sb_id; in virtio_mem_sbm_sb_state_bit_nr()
494 unsigned long mb_id, int sb_id, in virtio_mem_sbm_set_sb_plugged() argument
497 const int bit = virtio_mem_sbm_sb_state_bit_nr(vm, mb_id, sb_id); in virtio_mem_sbm_set_sb_plugged()
508 unsigned long mb_id, int sb_id, in virtio_mem_sbm_set_sb_unplugged() argument
511 const int bit = virtio_mem_sbm_sb_state_bit_nr(vm, mb_id, sb_id); in virtio_mem_sbm_set_sb_unplugged()
520 unsigned long mb_id, int sb_id, in virtio_mem_sbm_test_sb_plugged() argument
523 const int bit = virtio_mem_sbm_sb_state_bit_nr(vm, mb_id, sb_id); in virtio_mem_sbm_test_sb_plugged()
537 unsigned long mb_id, int sb_id, in virtio_mem_sbm_test_sb_unplugged() argument
540 const int bit = virtio_mem_sbm_sb_state_bit_nr(vm, mb_id, sb_id); in virtio_mem_sbm_test_sb_unplugged()
552 unsigned long mb_id) in virtio_mem_sbm_first_unplugged_sb() argument
554 const int bit = virtio_mem_sbm_sb_state_bit_nr(vm, mb_id, 0); in virtio_mem_sbm_first_unplugged_sb()
647 static int virtio_mem_sbm_add_mb(struct virtio_mem *vm, unsigned long mb_id) in virtio_mem_sbm_add_mb() argument
649 const uint64_t addr = virtio_mem_mb_id_to_phys(mb_id); in virtio_mem_sbm_add_mb()
699 static int virtio_mem_sbm_remove_mb(struct virtio_mem *vm, unsigned long mb_id) in virtio_mem_sbm_remove_mb() argument
701 const uint64_t addr = virtio_mem_mb_id_to_phys(mb_id); in virtio_mem_sbm_remove_mb()
745 unsigned long mb_id) in virtio_mem_sbm_offline_and_remove_mb() argument
747 const uint64_t addr = virtio_mem_mb_id_to_phys(mb_id); in virtio_mem_sbm_offline_and_remove_mb()
811 unsigned long mb_id) in virtio_mem_sbm_notify_going_online() argument
813 switch (virtio_mem_sbm_get_mb_state(vm, mb_id)) { in virtio_mem_sbm_notify_going_online()
826 unsigned long mb_id) in virtio_mem_sbm_notify_offline() argument
828 switch (virtio_mem_sbm_get_mb_state(vm, mb_id)) { in virtio_mem_sbm_notify_offline()
831 virtio_mem_sbm_set_mb_state(vm, mb_id, in virtio_mem_sbm_notify_offline()
836 virtio_mem_sbm_set_mb_state(vm, mb_id, in virtio_mem_sbm_notify_offline()
846 unsigned long mb_id, in virtio_mem_sbm_notify_online() argument
853 switch (virtio_mem_sbm_get_mb_state(vm, mb_id)) { in virtio_mem_sbm_notify_online()
868 virtio_mem_sbm_set_mb_state(vm, mb_id, new_state); in virtio_mem_sbm_notify_online()
872 unsigned long mb_id) in virtio_mem_sbm_notify_going_offline() argument
879 if (virtio_mem_sbm_test_sb_plugged(vm, mb_id, sb_id, 1)) in virtio_mem_sbm_notify_going_offline()
881 pfn = PFN_DOWN(virtio_mem_mb_id_to_phys(mb_id) + in virtio_mem_sbm_notify_going_offline()
888 unsigned long mb_id) in virtio_mem_sbm_notify_cancel_offline() argument
895 if (virtio_mem_sbm_test_sb_plugged(vm, mb_id, sb_id, 1)) in virtio_mem_sbm_notify_cancel_offline()
897 pfn = PFN_DOWN(virtio_mem_mb_id_to_phys(mb_id) + in virtio_mem_sbm_notify_cancel_offline()
1402 static int virtio_mem_sbm_plug_sb(struct virtio_mem *vm, unsigned long mb_id, in virtio_mem_sbm_plug_sb() argument
1405 const uint64_t addr = virtio_mem_mb_id_to_phys(mb_id) + in virtio_mem_sbm_plug_sb()
1412 virtio_mem_sbm_set_sb_plugged(vm, mb_id, sb_id, count); in virtio_mem_sbm_plug_sb()
1420 static int virtio_mem_sbm_unplug_sb(struct virtio_mem *vm, unsigned long mb_id, in virtio_mem_sbm_unplug_sb() argument
1423 const uint64_t addr = virtio_mem_mb_id_to_phys(mb_id) + in virtio_mem_sbm_unplug_sb()
1430 virtio_mem_sbm_set_sb_unplugged(vm, mb_id, sb_id, count); in virtio_mem_sbm_unplug_sb()
1470 unsigned long mb_id, uint64_t *nb_sb) in virtio_mem_sbm_unplug_any_sb_raw() argument
1479 virtio_mem_sbm_test_sb_unplugged(vm, mb_id, sb_id, 1)) in virtio_mem_sbm_unplug_any_sb_raw()
1486 virtio_mem_sbm_test_sb_plugged(vm, mb_id, sb_id - 1, 1)) { in virtio_mem_sbm_unplug_any_sb_raw()
1491 rc = virtio_mem_sbm_unplug_sb(vm, mb_id, sb_id, count); in virtio_mem_sbm_unplug_any_sb_raw()
1508 static int virtio_mem_sbm_unplug_mb(struct virtio_mem *vm, unsigned long mb_id) in virtio_mem_sbm_unplug_mb() argument
1512 return virtio_mem_sbm_unplug_any_sb_raw(vm, mb_id, &nb_sb); in virtio_mem_sbm_unplug_mb()
1519 unsigned long *mb_id) in virtio_mem_sbm_prepare_next_mb() argument
1537 *mb_id = vm->sbm.next_mb_id++; in virtio_mem_sbm_prepare_next_mb()
1548 unsigned long mb_id, uint64_t *nb_sb) in virtio_mem_sbm_plug_and_add_mb() argument
1560 rc = virtio_mem_sbm_plug_sb(vm, mb_id, 0, count); in virtio_mem_sbm_plug_and_add_mb()
1569 virtio_mem_sbm_set_mb_state(vm, mb_id, in virtio_mem_sbm_plug_and_add_mb()
1572 virtio_mem_sbm_set_mb_state(vm, mb_id, in virtio_mem_sbm_plug_and_add_mb()
1576 rc = virtio_mem_sbm_add_mb(vm, mb_id); in virtio_mem_sbm_plug_and_add_mb()
1580 if (virtio_mem_sbm_unplug_sb(vm, mb_id, 0, count)) in virtio_mem_sbm_plug_and_add_mb()
1582 virtio_mem_sbm_set_mb_state(vm, mb_id, new_state); in virtio_mem_sbm_plug_and_add_mb()
1599 unsigned long mb_id, uint64_t *nb_sb) in virtio_mem_sbm_plug_any_sb() argument
1601 const int old_state = virtio_mem_sbm_get_mb_state(vm, mb_id); in virtio_mem_sbm_plug_any_sb()
1610 sb_id = virtio_mem_sbm_first_unplugged_sb(vm, mb_id); in virtio_mem_sbm_plug_any_sb()
1616 !virtio_mem_sbm_test_sb_plugged(vm, mb_id, sb_id + count, 1)) in virtio_mem_sbm_plug_any_sb()
1619 rc = virtio_mem_sbm_plug_sb(vm, mb_id, sb_id, count); in virtio_mem_sbm_plug_any_sb()
1627 pfn = PFN_DOWN(virtio_mem_mb_id_to_phys(mb_id) + in virtio_mem_sbm_plug_any_sb()
1633 if (virtio_mem_sbm_test_sb_plugged(vm, mb_id, 0, vm->sbm.sbs_per_mb)) in virtio_mem_sbm_plug_any_sb()
1634 virtio_mem_sbm_set_mb_state(vm, mb_id, old_state - 1); in virtio_mem_sbm_plug_any_sb()
1647 unsigned long mb_id; in virtio_mem_sbm_plug_request() local
1657 virtio_mem_sbm_for_each_mb(vm, mb_id, mb_states[i]) { in virtio_mem_sbm_plug_request()
1658 rc = virtio_mem_sbm_plug_any_sb(vm, mb_id, &nb_sb); in virtio_mem_sbm_plug_request()
1672 virtio_mem_sbm_for_each_mb(vm, mb_id, VIRTIO_MEM_SBM_MB_UNUSED) { in virtio_mem_sbm_plug_request()
1676 rc = virtio_mem_sbm_plug_and_add_mb(vm, mb_id, &nb_sb); in virtio_mem_sbm_plug_request()
1687 rc = virtio_mem_sbm_prepare_next_mb(vm, &mb_id); in virtio_mem_sbm_plug_request()
1690 rc = virtio_mem_sbm_plug_and_add_mb(vm, mb_id, &nb_sb); in virtio_mem_sbm_plug_request()
1818 unsigned long mb_id, in virtio_mem_sbm_unplug_any_sb_offline() argument
1823 rc = virtio_mem_sbm_unplug_any_sb_raw(vm, mb_id, nb_sb); in virtio_mem_sbm_unplug_any_sb_offline()
1826 if (!virtio_mem_sbm_test_sb_plugged(vm, mb_id, 0, vm->sbm.sbs_per_mb)) in virtio_mem_sbm_unplug_any_sb_offline()
1827 virtio_mem_sbm_set_mb_state(vm, mb_id, in virtio_mem_sbm_unplug_any_sb_offline()
1832 if (virtio_mem_sbm_test_sb_unplugged(vm, mb_id, 0, vm->sbm.sbs_per_mb)) { in virtio_mem_sbm_unplug_any_sb_offline()
1839 virtio_mem_sbm_set_mb_state(vm, mb_id, in virtio_mem_sbm_unplug_any_sb_offline()
1843 rc = virtio_mem_sbm_remove_mb(vm, mb_id); in virtio_mem_sbm_unplug_any_sb_offline()
1856 unsigned long mb_id, int sb_id, in virtio_mem_sbm_unplug_sb_online() argument
1860 const int old_state = virtio_mem_sbm_get_mb_state(vm, mb_id); in virtio_mem_sbm_unplug_sb_online()
1864 start_pfn = PFN_DOWN(virtio_mem_mb_id_to_phys(mb_id) + in virtio_mem_sbm_unplug_sb_online()
1872 rc = virtio_mem_sbm_unplug_sb(vm, mb_id, sb_id, count); in virtio_mem_sbm_unplug_sb_online()
1881 virtio_mem_sbm_set_mb_state(vm, mb_id, in virtio_mem_sbm_unplug_sb_online()
1885 virtio_mem_sbm_set_mb_state(vm, mb_id, in virtio_mem_sbm_unplug_sb_online()
1904 unsigned long mb_id, in virtio_mem_sbm_unplug_any_sb_online() argument
1911 virtio_mem_sbm_test_sb_plugged(vm, mb_id, 0, vm->sbm.sbs_per_mb)) { in virtio_mem_sbm_unplug_any_sb_online()
1912 rc = virtio_mem_sbm_unplug_sb_online(vm, mb_id, 0, in virtio_mem_sbm_unplug_any_sb_online()
1925 !virtio_mem_sbm_test_sb_plugged(vm, mb_id, sb_id, 1)) in virtio_mem_sbm_unplug_any_sb_online()
1930 rc = virtio_mem_sbm_unplug_sb_online(vm, mb_id, sb_id, 1); in virtio_mem_sbm_unplug_any_sb_online()
1944 if (virtio_mem_sbm_test_sb_unplugged(vm, mb_id, 0, vm->sbm.sbs_per_mb)) { in virtio_mem_sbm_unplug_any_sb_online()
1946 rc = virtio_mem_sbm_offline_and_remove_mb(vm, mb_id); in virtio_mem_sbm_unplug_any_sb_online()
1949 virtio_mem_sbm_set_mb_state(vm, mb_id, in virtio_mem_sbm_unplug_any_sb_online()
1969 unsigned long mb_id, in virtio_mem_sbm_unplug_any_sb() argument
1972 const int old_state = virtio_mem_sbm_get_mb_state(vm, mb_id); in virtio_mem_sbm_unplug_any_sb()
1979 return virtio_mem_sbm_unplug_any_sb_online(vm, mb_id, nb_sb); in virtio_mem_sbm_unplug_any_sb()
1982 return virtio_mem_sbm_unplug_any_sb_offline(vm, mb_id, nb_sb); in virtio_mem_sbm_unplug_any_sb()
1998 unsigned long mb_id; in virtio_mem_sbm_unplug_request() local
2019 virtio_mem_sbm_for_each_mb_rev(vm, mb_id, mb_states[i]) { in virtio_mem_sbm_unplug_request()
2020 rc = virtio_mem_sbm_unplug_any_sb(vm, mb_id, &nb_sb); in virtio_mem_sbm_unplug_request()
2663 unsigned long mb_id; in virtio_mem_remove() local
2685 virtio_mem_sbm_for_each_mb(vm, mb_id, in virtio_mem_remove()
2687 rc = virtio_mem_sbm_remove_mb(vm, mb_id); in virtio_mem_remove()
2689 virtio_mem_sbm_set_mb_state(vm, mb_id, in virtio_mem_remove()