translate-all.h (1526B)
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 */ 26struct page_collection *page_collection_lock(tb_page_addr_t start, 27 tb_page_addr_t end); 28void page_collection_unlock(struct page_collection *set); 29void tb_invalidate_phys_page_fast(struct page_collection *pages, 30 tb_page_addr_t start, int len, 31 uintptr_t retaddr); 32void tb_invalidate_phys_page_range(tb_page_addr_t start, tb_page_addr_t end); 33void tb_check_watchpoint(CPUState *cpu, uintptr_t retaddr); 34 35#ifdef CONFIG_USER_ONLY 36void page_protect(tb_page_addr_t page_addr); 37int page_unprotect(target_ulong address, uintptr_t pc); 38#endif 39 40#endif /* TRANSLATE_ALL_H */