Lines Matching refs:mb_id

328 static unsigned long virtio_mem_mb_id_to_phys(unsigned long mb_id)
330 return mb_id * memory_block_size_bytes();
357 const unsigned long mb_id = virtio_mem_phys_to_mb_id(addr);
358 const unsigned long mb_addr = virtio_mem_mb_id_to_phys(mb_id);
434 unsigned long mb_id, uint8_t state)
436 const unsigned long idx = mb_id - vm->sbm.first_mb_id;
451 unsigned long mb_id)
453 const unsigned long idx = mb_id - vm->sbm.first_mb_id;
501 unsigned long mb_id, int sb_id)
503 return (mb_id - vm->sbm.first_mb_id) * vm->sbm.sbs_per_mb + sb_id;
512 unsigned long mb_id, int sb_id,
515 const int bit = virtio_mem_sbm_sb_state_bit_nr(vm, mb_id, sb_id);
526 unsigned long mb_id, int sb_id,
529 const int bit = virtio_mem_sbm_sb_state_bit_nr(vm, mb_id, sb_id);
538 unsigned long mb_id, int sb_id,
541 const int bit = virtio_mem_sbm_sb_state_bit_nr(vm, mb_id, sb_id);
555 unsigned long mb_id, int sb_id,
558 const int bit = virtio_mem_sbm_sb_state_bit_nr(vm, mb_id, sb_id);
570 unsigned long mb_id)
572 const int bit = virtio_mem_sbm_sb_state_bit_nr(vm, mb_id, 0);
665 static int virtio_mem_sbm_add_mb(struct virtio_mem *vm, unsigned long mb_id)
667 const uint64_t addr = virtio_mem_mb_id_to_phys(mb_id);
717 static int virtio_mem_sbm_remove_mb(struct virtio_mem *vm, unsigned long mb_id)
719 const uint64_t addr = virtio_mem_mb_id_to_phys(mb_id);
767 unsigned long mb_id)
769 const uint64_t addr = virtio_mem_mb_id_to_phys(mb_id);
782 unsigned long mb_id)
790 if (!virtio_mem_sbm_test_sb_unplugged(vm, mb_id, 0, vm->sbm.sbs_per_mb))
795 rc = virtio_mem_sbm_offline_and_remove_mb(vm, mb_id);
798 virtio_mem_sbm_set_mb_state(vm, mb_id,
861 unsigned long mb_id)
863 switch (virtio_mem_sbm_get_mb_state(vm, mb_id)) {
876 unsigned long mb_id)
878 switch (virtio_mem_sbm_get_mb_state(vm, mb_id)) {
881 virtio_mem_sbm_set_mb_state(vm, mb_id,
886 virtio_mem_sbm_set_mb_state(vm, mb_id,
896 unsigned long mb_id,
902 switch (virtio_mem_sbm_get_mb_state(vm, mb_id)) {
917 virtio_mem_sbm_set_mb_state(vm, mb_id, new_state);
921 unsigned long mb_id)
928 if (virtio_mem_sbm_test_sb_plugged(vm, mb_id, sb_id, 1))
930 pfn = PFN_DOWN(virtio_mem_mb_id_to_phys(mb_id) +
937 unsigned long mb_id)
944 if (virtio_mem_sbm_test_sb_plugged(vm, mb_id, sb_id, 1))
946 pfn = PFN_DOWN(virtio_mem_mb_id_to_phys(mb_id) +
1498 static int virtio_mem_sbm_plug_sb(struct virtio_mem *vm, unsigned long mb_id,
1501 const uint64_t addr = virtio_mem_mb_id_to_phys(mb_id) +
1508 virtio_mem_sbm_set_sb_plugged(vm, mb_id, sb_id, count);
1516 static int virtio_mem_sbm_unplug_sb(struct virtio_mem *vm, unsigned long mb_id,
1519 const uint64_t addr = virtio_mem_mb_id_to_phys(mb_id) +
1526 virtio_mem_sbm_set_sb_unplugged(vm, mb_id, sb_id, count);
1566 unsigned long mb_id, uint64_t *nb_sb)
1575 virtio_mem_sbm_test_sb_unplugged(vm, mb_id, sb_id, 1))
1582 virtio_mem_sbm_test_sb_plugged(vm, mb_id, sb_id - 1, 1)) {
1587 rc = virtio_mem_sbm_unplug_sb(vm, mb_id, sb_id, count);
1604 static int virtio_mem_sbm_unplug_mb(struct virtio_mem *vm, unsigned long mb_id)
1608 return virtio_mem_sbm_unplug_any_sb_raw(vm, mb_id, &nb_sb);
1615 unsigned long *mb_id)
1633 *mb_id = vm->sbm.next_mb_id++;
1644 unsigned long mb_id, uint64_t *nb_sb)
1656 rc = virtio_mem_sbm_plug_sb(vm, mb_id, 0, count);
1665 virtio_mem_sbm_set_mb_state(vm, mb_id,
1668 virtio_mem_sbm_set_mb_state(vm, mb_id,
1672 rc = virtio_mem_sbm_add_mb(vm, mb_id);
1676 if (virtio_mem_sbm_unplug_sb(vm, mb_id, 0, count))
1678 virtio_mem_sbm_set_mb_state(vm, mb_id, new_state);
1695 unsigned long mb_id, uint64_t *nb_sb)
1697 const int old_state = virtio_mem_sbm_get_mb_state(vm, mb_id);
1706 sb_id = virtio_mem_sbm_first_unplugged_sb(vm, mb_id);
1712 !virtio_mem_sbm_test_sb_plugged(vm, mb_id, sb_id + count, 1))
1715 rc = virtio_mem_sbm_plug_sb(vm, mb_id, sb_id, count);
1723 pfn = PFN_DOWN(virtio_mem_mb_id_to_phys(mb_id) +
1729 if (virtio_mem_sbm_test_sb_plugged(vm, mb_id, 0, vm->sbm.sbs_per_mb))
1730 virtio_mem_sbm_set_mb_state(vm, mb_id, old_state - 1);
1743 unsigned long mb_id;
1753 virtio_mem_sbm_for_each_mb(vm, mb_id, mb_states[i]) {
1754 rc = virtio_mem_sbm_plug_any_sb(vm, mb_id, &nb_sb);
1768 virtio_mem_sbm_for_each_mb(vm, mb_id, VIRTIO_MEM_SBM_MB_UNUSED) {
1772 rc = virtio_mem_sbm_plug_and_add_mb(vm, mb_id, &nb_sb);
1783 rc = virtio_mem_sbm_prepare_next_mb(vm, &mb_id);
1786 rc = virtio_mem_sbm_plug_and_add_mb(vm, mb_id, &nb_sb);
1914 unsigned long mb_id,
1919 rc = virtio_mem_sbm_unplug_any_sb_raw(vm, mb_id, nb_sb);
1922 if (!virtio_mem_sbm_test_sb_plugged(vm, mb_id, 0, vm->sbm.sbs_per_mb))
1923 virtio_mem_sbm_set_mb_state(vm, mb_id,
1928 if (virtio_mem_sbm_test_sb_unplugged(vm, mb_id, 0, vm->sbm.sbs_per_mb)) {
1935 virtio_mem_sbm_set_mb_state(vm, mb_id,
1939 rc = virtio_mem_sbm_remove_mb(vm, mb_id);
1952 unsigned long mb_id, int sb_id,
1956 const int old_state = virtio_mem_sbm_get_mb_state(vm, mb_id);
1960 start_pfn = PFN_DOWN(virtio_mem_mb_id_to_phys(mb_id) +
1968 rc = virtio_mem_sbm_unplug_sb(vm, mb_id, sb_id, count);
1977 virtio_mem_sbm_set_mb_state(vm, mb_id,
1981 virtio_mem_sbm_set_mb_state(vm, mb_id,
2000 unsigned long mb_id,
2007 virtio_mem_sbm_test_sb_plugged(vm, mb_id, 0, vm->sbm.sbs_per_mb)) {
2008 rc = virtio_mem_sbm_unplug_sb_online(vm, mb_id, 0,
2021 !virtio_mem_sbm_test_sb_plugged(vm, mb_id, sb_id, 1))
2026 rc = virtio_mem_sbm_unplug_sb_online(vm, mb_id, sb_id, 1);
2035 rc = virtio_mem_sbm_try_remove_unplugged_mb(vm, mb_id);
2055 unsigned long mb_id,
2058 const int old_state = virtio_mem_sbm_get_mb_state(vm, mb_id);
2065 return virtio_mem_sbm_unplug_any_sb_online(vm, mb_id, nb_sb);
2068 return virtio_mem_sbm_unplug_any_sb_offline(vm, mb_id, nb_sb);
2084 unsigned long mb_id;
2105 virtio_mem_sbm_for_each_mb_rev(vm, mb_id, mb_states[i]) {
2106 rc = virtio_mem_sbm_unplug_any_sb(vm, mb_id, &nb_sb);
2862 unsigned long mb_id;
2884 virtio_mem_sbm_for_each_mb(vm, mb_id,
2886 rc = virtio_mem_sbm_remove_mb(vm, mb_id);
2888 virtio_mem_sbm_set_mb_state(vm, mb_id,