diff options
author | Anthony Liguori <aliguori@us.ibm.com> | 2011-06-27 11:25:23 -0500 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2011-06-27 11:25:23 -0500 |
commit | bb820c03e2d638038fd48f42ee71e4004e55aba8 (patch) | |
tree | 43266acaef2a63fcd06de565a42c264a4f71e95f /exec.c | |
parent | 2fb0c09f4ff036f68474277ed4edc036f6529de8 (diff) | |
parent | 20fa53ece42bec6ce5db801bead125277b26ab8a (diff) | |
download | qemu-bb820c03e2d638038fd48f42ee71e4004e55aba8.zip qemu-bb820c03e2d638038fd48f42ee71e4004e55aba8.tar.gz qemu-bb820c03e2d638038fd48f42ee71e4004e55aba8.tar.bz2 |
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
Diffstat (limited to 'exec.c')
-rw-r--r-- | exec.c | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -1207,12 +1207,16 @@ static inline void tb_alloc_page(TranslationBlock *tb, unsigned int n, tb_page_addr_t page_addr) { PageDesc *p; - TranslationBlock *last_first_tb; +#ifndef CONFIG_USER_ONLY + bool page_already_protected; +#endif tb->page_addr[n] = page_addr; p = page_find_alloc(page_addr >> TARGET_PAGE_BITS, 1); tb->page_next[n] = p->first_tb; - last_first_tb = p->first_tb; +#ifndef CONFIG_USER_ONLY + page_already_protected = p->first_tb != NULL; +#endif p->first_tb = (TranslationBlock *)((long)tb | n); invalidate_page_bitmap(p); @@ -1248,7 +1252,7 @@ static inline void tb_alloc_page(TranslationBlock *tb, /* if some code is already present, then the pages are already protected. So we handle the case where only the first TB is allocated in a physical page */ - if (!last_first_tb) { + if (!page_already_protected) { tlb_protect_code(page_addr); } #endif |