|
@@ -0,0 +1,44 @@
|
|
|
+/*
|
|
|
+ * QEMU page values getters (target independent)
|
|
|
+ *
|
|
|
+ * Copyright (c) 2003 Fabrice Bellard
|
|
|
+ *
|
|
|
+ * SPDX-License-Identifier: LGPL-2.1-or-later
|
|
|
+ */
|
|
|
+
|
|
|
+#include "qemu/osdep.h"
|
|
|
+#include "exec/target_page.h"
|
|
|
+#include "exec/cpu-defs.h"
|
|
|
+#include "cpu.h"
|
|
|
+#include "exec/cpu-all.h"
|
|
|
+
|
|
|
+size_t qemu_target_page_size(void)
|
|
|
+{
|
|
|
+ return TARGET_PAGE_SIZE;
|
|
|
+}
|
|
|
+
|
|
|
+int qemu_target_page_mask(void)
|
|
|
+{
|
|
|
+ return TARGET_PAGE_MASK;
|
|
|
+}
|
|
|
+
|
|
|
+int qemu_target_page_bits(void)
|
|
|
+{
|
|
|
+ return TARGET_PAGE_BITS;
|
|
|
+}
|
|
|
+
|
|
|
+int qemu_target_page_bits_min(void)
|
|
|
+{
|
|
|
+ return TARGET_PAGE_BITS_MIN;
|
|
|
+}
|
|
|
+
|
|
|
+/* Convert target pages to MiB (2**20). */
|
|
|
+size_t qemu_target_pages_to_MiB(size_t pages)
|
|
|
+{
|
|
|
+ int page_bits = TARGET_PAGE_BITS;
|
|
|
+
|
|
|
+ /* So far, the largest (non-huge) page size is 64k, i.e. 16 bits. */
|
|
|
+ g_assert(page_bits < 20);
|
|
|
+
|
|
|
+ return pages >> (20 - page_bits);
|
|
|
+}
|