Lines Matching refs:mb_id
333 static unsigned long virtio_mem_mb_id_to_phys(unsigned long mb_id) in virtio_mem_mb_id_to_phys() argument
335 return mb_id * memory_block_size_bytes(); in virtio_mem_mb_id_to_phys()
362 const unsigned long mb_id = virtio_mem_phys_to_mb_id(addr); in virtio_mem_phys_to_sb_id() local
363 const unsigned long mb_addr = virtio_mem_mb_id_to_phys(mb_id); in virtio_mem_phys_to_sb_id()
439 unsigned long mb_id, uint8_t state) in virtio_mem_sbm_set_mb_state() argument
441 const unsigned long idx = mb_id - vm->sbm.first_mb_id; in virtio_mem_sbm_set_mb_state()
456 unsigned long mb_id) in virtio_mem_sbm_get_mb_state() argument
458 const unsigned long idx = mb_id - vm->sbm.first_mb_id; in virtio_mem_sbm_get_mb_state()
506 unsigned long mb_id, int sb_id) in virtio_mem_sbm_sb_state_bit_nr() argument
508 return (mb_id - vm->sbm.first_mb_id) * vm->sbm.sbs_per_mb + sb_id; in virtio_mem_sbm_sb_state_bit_nr()
517 unsigned long mb_id, int sb_id, in virtio_mem_sbm_set_sb_plugged() argument
520 const int bit = virtio_mem_sbm_sb_state_bit_nr(vm, mb_id, sb_id); in virtio_mem_sbm_set_sb_plugged()
531 unsigned long mb_id, int sb_id, in virtio_mem_sbm_set_sb_unplugged() argument
534 const int bit = virtio_mem_sbm_sb_state_bit_nr(vm, mb_id, sb_id); in virtio_mem_sbm_set_sb_unplugged()
543 unsigned long mb_id, int sb_id, in virtio_mem_sbm_test_sb_plugged() argument
546 const int bit = virtio_mem_sbm_sb_state_bit_nr(vm, mb_id, sb_id); in virtio_mem_sbm_test_sb_plugged()
560 unsigned long mb_id, int sb_id, in virtio_mem_sbm_test_sb_unplugged() argument
563 const int bit = virtio_mem_sbm_sb_state_bit_nr(vm, mb_id, sb_id); in virtio_mem_sbm_test_sb_unplugged()
575 unsigned long mb_id) in virtio_mem_sbm_first_unplugged_sb() argument
577 const int bit = virtio_mem_sbm_sb_state_bit_nr(vm, mb_id, 0); in virtio_mem_sbm_first_unplugged_sb()
670 static int virtio_mem_sbm_add_mb(struct virtio_mem *vm, unsigned long mb_id) in virtio_mem_sbm_add_mb() argument
672 const uint64_t addr = virtio_mem_mb_id_to_phys(mb_id); in virtio_mem_sbm_add_mb()
722 static int virtio_mem_sbm_remove_mb(struct virtio_mem *vm, unsigned long mb_id) in virtio_mem_sbm_remove_mb() argument
724 const uint64_t addr = virtio_mem_mb_id_to_phys(mb_id); in virtio_mem_sbm_remove_mb()
772 unsigned long mb_id) in virtio_mem_sbm_offline_and_remove_mb() argument
774 const uint64_t addr = virtio_mem_mb_id_to_phys(mb_id); in virtio_mem_sbm_offline_and_remove_mb()
787 unsigned long mb_id) in virtio_mem_sbm_try_remove_unplugged_mb() argument
795 if (!virtio_mem_sbm_test_sb_unplugged(vm, mb_id, 0, vm->sbm.sbs_per_mb)) in virtio_mem_sbm_try_remove_unplugged_mb()
800 rc = virtio_mem_sbm_offline_and_remove_mb(vm, mb_id); in virtio_mem_sbm_try_remove_unplugged_mb()
803 virtio_mem_sbm_set_mb_state(vm, mb_id, in virtio_mem_sbm_try_remove_unplugged_mb()
866 unsigned long mb_id) in virtio_mem_sbm_notify_going_online() argument
868 switch (virtio_mem_sbm_get_mb_state(vm, mb_id)) { in virtio_mem_sbm_notify_going_online()
881 unsigned long mb_id) in virtio_mem_sbm_notify_offline() argument
883 switch (virtio_mem_sbm_get_mb_state(vm, mb_id)) { in virtio_mem_sbm_notify_offline()
886 virtio_mem_sbm_set_mb_state(vm, mb_id, in virtio_mem_sbm_notify_offline()
891 virtio_mem_sbm_set_mb_state(vm, mb_id, in virtio_mem_sbm_notify_offline()
901 unsigned long mb_id, in virtio_mem_sbm_notify_online() argument
907 switch (virtio_mem_sbm_get_mb_state(vm, mb_id)) { in virtio_mem_sbm_notify_online()
922 virtio_mem_sbm_set_mb_state(vm, mb_id, new_state); in virtio_mem_sbm_notify_online()
926 unsigned long mb_id) in virtio_mem_sbm_notify_going_offline() argument
933 if (virtio_mem_sbm_test_sb_plugged(vm, mb_id, sb_id, 1)) in virtio_mem_sbm_notify_going_offline()
935 pfn = PFN_DOWN(virtio_mem_mb_id_to_phys(mb_id) + in virtio_mem_sbm_notify_going_offline()
942 unsigned long mb_id) in virtio_mem_sbm_notify_cancel_offline() argument
949 if (virtio_mem_sbm_test_sb_plugged(vm, mb_id, sb_id, 1)) in virtio_mem_sbm_notify_cancel_offline()
951 pfn = PFN_DOWN(virtio_mem_mb_id_to_phys(mb_id) + in virtio_mem_sbm_notify_cancel_offline()
1521 static int virtio_mem_sbm_plug_sb(struct virtio_mem *vm, unsigned long mb_id, in virtio_mem_sbm_plug_sb() argument
1524 const uint64_t addr = virtio_mem_mb_id_to_phys(mb_id) + in virtio_mem_sbm_plug_sb()
1531 virtio_mem_sbm_set_sb_plugged(vm, mb_id, sb_id, count); in virtio_mem_sbm_plug_sb()
1539 static int virtio_mem_sbm_unplug_sb(struct virtio_mem *vm, unsigned long mb_id, in virtio_mem_sbm_unplug_sb() argument
1542 const uint64_t addr = virtio_mem_mb_id_to_phys(mb_id) + in virtio_mem_sbm_unplug_sb()
1549 virtio_mem_sbm_set_sb_unplugged(vm, mb_id, sb_id, count); in virtio_mem_sbm_unplug_sb()
1589 unsigned long mb_id, uint64_t *nb_sb) in virtio_mem_sbm_unplug_any_sb_raw() argument
1598 virtio_mem_sbm_test_sb_unplugged(vm, mb_id, sb_id, 1)) in virtio_mem_sbm_unplug_any_sb_raw()
1605 virtio_mem_sbm_test_sb_plugged(vm, mb_id, sb_id - 1, 1)) { in virtio_mem_sbm_unplug_any_sb_raw()
1610 rc = virtio_mem_sbm_unplug_sb(vm, mb_id, sb_id, count); in virtio_mem_sbm_unplug_any_sb_raw()
1627 static int virtio_mem_sbm_unplug_mb(struct virtio_mem *vm, unsigned long mb_id) in virtio_mem_sbm_unplug_mb() argument
1631 return virtio_mem_sbm_unplug_any_sb_raw(vm, mb_id, &nb_sb); in virtio_mem_sbm_unplug_mb()
1638 unsigned long *mb_id) in virtio_mem_sbm_prepare_next_mb() argument
1656 *mb_id = vm->sbm.next_mb_id++; in virtio_mem_sbm_prepare_next_mb()
1667 unsigned long mb_id, uint64_t *nb_sb) in virtio_mem_sbm_plug_and_add_mb() argument
1679 rc = virtio_mem_sbm_plug_sb(vm, mb_id, 0, count); in virtio_mem_sbm_plug_and_add_mb()
1688 virtio_mem_sbm_set_mb_state(vm, mb_id, in virtio_mem_sbm_plug_and_add_mb()
1691 virtio_mem_sbm_set_mb_state(vm, mb_id, in virtio_mem_sbm_plug_and_add_mb()
1695 rc = virtio_mem_sbm_add_mb(vm, mb_id); in virtio_mem_sbm_plug_and_add_mb()
1699 if (virtio_mem_sbm_unplug_sb(vm, mb_id, 0, count)) in virtio_mem_sbm_plug_and_add_mb()
1701 virtio_mem_sbm_set_mb_state(vm, mb_id, new_state); in virtio_mem_sbm_plug_and_add_mb()
1718 unsigned long mb_id, uint64_t *nb_sb) in virtio_mem_sbm_plug_any_sb() argument
1720 const int old_state = virtio_mem_sbm_get_mb_state(vm, mb_id); in virtio_mem_sbm_plug_any_sb()
1729 sb_id = virtio_mem_sbm_first_unplugged_sb(vm, mb_id); in virtio_mem_sbm_plug_any_sb()
1735 !virtio_mem_sbm_test_sb_plugged(vm, mb_id, sb_id + count, 1)) in virtio_mem_sbm_plug_any_sb()
1738 rc = virtio_mem_sbm_plug_sb(vm, mb_id, sb_id, count); in virtio_mem_sbm_plug_any_sb()
1746 pfn = PFN_DOWN(virtio_mem_mb_id_to_phys(mb_id) + in virtio_mem_sbm_plug_any_sb()
1752 if (virtio_mem_sbm_test_sb_plugged(vm, mb_id, 0, vm->sbm.sbs_per_mb)) in virtio_mem_sbm_plug_any_sb()
1753 virtio_mem_sbm_set_mb_state(vm, mb_id, old_state - 1); in virtio_mem_sbm_plug_any_sb()
1766 unsigned long mb_id; in virtio_mem_sbm_plug_request() local
1776 virtio_mem_sbm_for_each_mb(vm, mb_id, mb_states[i]) { in virtio_mem_sbm_plug_request()
1777 rc = virtio_mem_sbm_plug_any_sb(vm, mb_id, &nb_sb); in virtio_mem_sbm_plug_request()
1791 virtio_mem_sbm_for_each_mb(vm, mb_id, VIRTIO_MEM_SBM_MB_UNUSED) { in virtio_mem_sbm_plug_request()
1795 rc = virtio_mem_sbm_plug_and_add_mb(vm, mb_id, &nb_sb); in virtio_mem_sbm_plug_request()
1806 rc = virtio_mem_sbm_prepare_next_mb(vm, &mb_id); in virtio_mem_sbm_plug_request()
1809 rc = virtio_mem_sbm_plug_and_add_mb(vm, mb_id, &nb_sb); in virtio_mem_sbm_plug_request()
1937 unsigned long mb_id, in virtio_mem_sbm_unplug_any_sb_offline() argument
1942 rc = virtio_mem_sbm_unplug_any_sb_raw(vm, mb_id, nb_sb); in virtio_mem_sbm_unplug_any_sb_offline()
1945 if (!virtio_mem_sbm_test_sb_plugged(vm, mb_id, 0, vm->sbm.sbs_per_mb)) in virtio_mem_sbm_unplug_any_sb_offline()
1946 virtio_mem_sbm_set_mb_state(vm, mb_id, in virtio_mem_sbm_unplug_any_sb_offline()
1951 if (virtio_mem_sbm_test_sb_unplugged(vm, mb_id, 0, vm->sbm.sbs_per_mb)) { in virtio_mem_sbm_unplug_any_sb_offline()
1958 virtio_mem_sbm_set_mb_state(vm, mb_id, in virtio_mem_sbm_unplug_any_sb_offline()
1962 rc = virtio_mem_sbm_remove_mb(vm, mb_id); in virtio_mem_sbm_unplug_any_sb_offline()
1975 unsigned long mb_id, int sb_id, in virtio_mem_sbm_unplug_sb_online() argument
1979 const int old_state = virtio_mem_sbm_get_mb_state(vm, mb_id); in virtio_mem_sbm_unplug_sb_online()
1983 start_pfn = PFN_DOWN(virtio_mem_mb_id_to_phys(mb_id) + in virtio_mem_sbm_unplug_sb_online()
1991 rc = virtio_mem_sbm_unplug_sb(vm, mb_id, sb_id, count); in virtio_mem_sbm_unplug_sb_online()
2000 virtio_mem_sbm_set_mb_state(vm, mb_id, in virtio_mem_sbm_unplug_sb_online()
2004 virtio_mem_sbm_set_mb_state(vm, mb_id, in virtio_mem_sbm_unplug_sb_online()
2023 unsigned long mb_id, in virtio_mem_sbm_unplug_any_sb_online() argument
2030 virtio_mem_sbm_test_sb_plugged(vm, mb_id, 0, vm->sbm.sbs_per_mb)) { in virtio_mem_sbm_unplug_any_sb_online()
2031 rc = virtio_mem_sbm_unplug_sb_online(vm, mb_id, 0, in virtio_mem_sbm_unplug_any_sb_online()
2044 !virtio_mem_sbm_test_sb_plugged(vm, mb_id, sb_id, 1)) in virtio_mem_sbm_unplug_any_sb_online()
2049 rc = virtio_mem_sbm_unplug_sb_online(vm, mb_id, sb_id, 1); in virtio_mem_sbm_unplug_any_sb_online()
2058 rc = virtio_mem_sbm_try_remove_unplugged_mb(vm, mb_id); in virtio_mem_sbm_unplug_any_sb_online()
2078 unsigned long mb_id, in virtio_mem_sbm_unplug_any_sb() argument
2081 const int old_state = virtio_mem_sbm_get_mb_state(vm, mb_id); in virtio_mem_sbm_unplug_any_sb()
2088 return virtio_mem_sbm_unplug_any_sb_online(vm, mb_id, nb_sb); in virtio_mem_sbm_unplug_any_sb()
2091 return virtio_mem_sbm_unplug_any_sb_offline(vm, mb_id, nb_sb); in virtio_mem_sbm_unplug_any_sb()
2107 unsigned long mb_id; in virtio_mem_sbm_unplug_request() local
2128 virtio_mem_sbm_for_each_mb_rev(vm, mb_id, mb_states[i]) { in virtio_mem_sbm_unplug_request()
2129 rc = virtio_mem_sbm_unplug_any_sb(vm, mb_id, &nb_sb); in virtio_mem_sbm_unplug_request()
2893 unsigned long mb_id; in virtio_mem_deinit_hotplug() local
2915 virtio_mem_sbm_for_each_mb(vm, mb_id, in virtio_mem_deinit_hotplug()
2917 rc = virtio_mem_sbm_remove_mb(vm, mb_id); in virtio_mem_deinit_hotplug()
2919 virtio_mem_sbm_set_mb_state(vm, mb_id, in virtio_mem_deinit_hotplug()