Ignore page_collection_lock
This commit is contained in:
@@ -650,6 +650,7 @@ static gint tb_page_addr_cmp(gconstpointer ap, gconstpointer bp, gpointer udata)
|
|||||||
struct page_collection *
|
struct page_collection *
|
||||||
page_collection_lock(struct uc_struct *uc, tb_page_addr_t start, tb_page_addr_t end)
|
page_collection_lock(struct uc_struct *uc, tb_page_addr_t start, tb_page_addr_t end)
|
||||||
{
|
{
|
||||||
|
#if 0
|
||||||
struct page_collection *set = g_malloc(sizeof(*set));
|
struct page_collection *set = g_malloc(sizeof(*set));
|
||||||
tb_page_addr_t index;
|
tb_page_addr_t index;
|
||||||
PageDesc *pd;
|
PageDesc *pd;
|
||||||
@@ -664,9 +665,7 @@ page_collection_lock(struct uc_struct *uc, tb_page_addr_t start, tb_page_addr_t
|
|||||||
assert_no_pages_locked();
|
assert_no_pages_locked();
|
||||||
|
|
||||||
retry:
|
retry:
|
||||||
#if 0
|
|
||||||
g_tree_foreach(set->tree, page_entry_lock, NULL);
|
g_tree_foreach(set->tree, page_entry_lock, NULL);
|
||||||
#endif
|
|
||||||
|
|
||||||
for (index = start; index <= end; index++) {
|
for (index = start; index <= end; index++) {
|
||||||
TranslationBlock *tb;
|
TranslationBlock *tb;
|
||||||
@@ -677,9 +676,7 @@ page_collection_lock(struct uc_struct *uc, tb_page_addr_t start, tb_page_addr_t
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (page_trylock_add(uc, set, index << TARGET_PAGE_BITS)) {
|
if (page_trylock_add(uc, set, index << TARGET_PAGE_BITS)) {
|
||||||
#if 0
|
|
||||||
g_tree_foreach(set->tree, page_entry_unlock, NULL);
|
g_tree_foreach(set->tree, page_entry_unlock, NULL);
|
||||||
#endif
|
|
||||||
goto retry;
|
goto retry;
|
||||||
}
|
}
|
||||||
assert_page_locked(pd);
|
assert_page_locked(pd);
|
||||||
@@ -688,21 +685,24 @@ page_collection_lock(struct uc_struct *uc, tb_page_addr_t start, tb_page_addr_t
|
|||||||
(tb->page_addr[1] != -1 &&
|
(tb->page_addr[1] != -1 &&
|
||||||
page_trylock_add(uc, set, tb->page_addr[1]))) {
|
page_trylock_add(uc, set, tb->page_addr[1]))) {
|
||||||
/* drop all locks, and reacquire in order */
|
/* drop all locks, and reacquire in order */
|
||||||
#if 0
|
|
||||||
g_tree_foreach(set->tree, page_entry_unlock, NULL);
|
g_tree_foreach(set->tree, page_entry_unlock, NULL);
|
||||||
#endif
|
|
||||||
goto retry;
|
goto retry;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return set;
|
return set;
|
||||||
|
#else
|
||||||
|
return NULL;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void page_collection_unlock(struct page_collection *set)
|
void page_collection_unlock(struct page_collection *set)
|
||||||
{
|
{
|
||||||
|
#if 0
|
||||||
/* entries are unlocked and freed via page_entry_destroy */
|
/* entries are unlocked and freed via page_entry_destroy */
|
||||||
g_tree_destroy(set->tree);
|
g_tree_destroy(set->tree);
|
||||||
g_free(set);
|
g_free(set);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static void page_lock_pair(struct uc_struct *uc, PageDesc **ret_p1, tb_page_addr_t phys1,
|
static void page_lock_pair(struct uc_struct *uc, PageDesc **ret_p1, tb_page_addr_t phys1,
|
||||||
|
|||||||
Reference in New Issue
Block a user