xref: /openbmc/qemu/include/exec/translate-all.h (revision 43709a0c)
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_range(tb_page_addr_t start, tb_page_addr_t end);
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