1 /* 2 * Translated block handling 3 * 4 * Copyright (c) 2003 Fabrice Bellard 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 2.1 of the License, or (at your option) any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library; if not, see <http://www.gnu.org/licenses/>. 18 */ 19 #ifndef TRANSLATE_ALL_H 20 #define TRANSLATE_ALL_H 21 22 #include "exec/exec-all.h" 23 24 25 /* translate-all.c */ 26 struct page_collection *page_collection_lock(tb_page_addr_t start, 27 tb_page_addr_t end); 28 void page_collection_unlock(struct page_collection *set); 29 void tb_invalidate_phys_page_fast(struct page_collection *pages, 30 tb_page_addr_t start, int len, 31 uintptr_t retaddr); 32 void tb_invalidate_phys_page(tb_page_addr_t addr); 33 void tb_check_watchpoint(CPUState *cpu, uintptr_t retaddr); 34 35 #ifdef CONFIG_USER_ONLY 36 void page_protect(tb_page_addr_t page_addr); 37 int page_unprotect(target_ulong address, uintptr_t pc); 38 #endif 39 40 #endif /* TRANSLATE_ALL_H */ 41