[02/45] Libvtv: Add loongarch support.

Message ID 20230807111029.2320238-3-arsen@aarsen.me
State New
Series Synchronize shared build infrastructure with GCC tree |

Commit Message

Arsen Arsenović Aug. 7, 2023, 11:07 a.m. UTC
  From: Lulu Cheng <chenglulu@loongson.cn>

The loongarch64 specification permits page sizes of 4KiB, 16KiB and 64KiB,
but only 16KiB pages are supported for now.

Co-Authored-By: qijingwen <qijingwen@loongson.cn>


	* vtv-change-permission.h (defined): Determines whether the macro
	__loongarch_lp64 is defined
	(VTV_PAGE_SIZE): Set VTV_PAGE_SIZE to 16KiB for loongarch64.
 include/vtv-change-permission.h | 4 ++++
 1 file changed, 4 insertions(+)


diff --git a/include/vtv-change-permission.h b/include/vtv-change-permission.h
index 5906e7d78cc..ffb5312522c 100644
--- a/include/vtv-change-permission.h
+++ b/include/vtv-change-permission.h
@@ -48,6 +48,10 @@  extern void __VLTChangePermission (int);
 #if defined(__sun__) && defined(__svr4__) && defined(__sparc__)
 #define VTV_PAGE_SIZE 8192
+#elif defined(__loongarch_lp64)
+/* The page size is configurable by the kernel to be 4, 16 or 64 KiB.
+   For now, only the default page size of 16KiB is supported.  */
+#define VTV_PAGE_SIZE 16384
 #define VTV_PAGE_SIZE 4096