aboutsummaryrefslogtreecommitdiff
path: root/include/exec/translate-all.h
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2020-12-16 13:27:58 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2021-01-02 21:03:36 +0100
commit3b9bd3f46b3b92501186acd18e81d3e8510b7b09 (patch)
tree5cad86c996f731f980cb9c0ff0ac6af2ed30a064 /include/exec/translate-all.h
parent953d5a9ef326da80b2abc37f73c6e8525c3da033 (diff)
remove TCG includes from common code
Enable removing tcg/$tcg_arch from the include path when TCG is disabled. Move translate-all.h to include/exec, since stubs exist for the functions defined therein. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include/exec/translate-all.h')
-rw-r--r--include/exec/translate-all.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/include/exec/translate-all.h b/include/exec/translate-all.h
new file mode 100644
index 0000000000..a557b4e2bb
--- /dev/null
+++ b/include/exec/translate-all.h
@@ -0,0 +1,39 @@
+/*
+ * Translated block handling
+ *
+ * Copyright (c) 2003 Fabrice Bellard
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef TRANSLATE_ALL_H
+#define TRANSLATE_ALL_H
+
+#include "exec/exec-all.h"
+
+
+/* translate-all.c */
+struct page_collection *page_collection_lock(tb_page_addr_t start,
+ tb_page_addr_t end);
+void page_collection_unlock(struct page_collection *set);
+void tb_invalidate_phys_page_fast(struct page_collection *pages,
+ tb_page_addr_t start, int len,
+ uintptr_t retaddr);
+void tb_invalidate_phys_page_range(tb_page_addr_t start, tb_page_addr_t end);
+void tb_check_watchpoint(CPUState *cpu, uintptr_t retaddr);
+
+#ifdef CONFIG_USER_ONLY
+int page_unprotect(target_ulong address, uintptr_t pc);
+#endif
+
+#endif /* TRANSLATE_ALL_H */