60 lines
1.7 KiB
Diff
60 lines
1.7 KiB
Diff
|
|
From 62ea18c632200edbbf46b4e957bc4d997f1c66f0 Mon Sep 17 00:00:00 2001
|
||
|
|
From: Lulu Cheng <chenglulu@loongson.cn>
|
||
|
|
Date: Tue, 27 Sep 2022 15:28:43 +0800
|
||
|
|
Subject: [PATCH 024/124] Libvtv: Add loongarch support.
|
||
|
|
|
||
|
|
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>
|
||
|
|
|
||
|
|
include/ChangeLog:
|
||
|
|
|
||
|
|
* vtv-change-permission.h (defined): Determines whether the macro
|
||
|
|
__loongarch_lp64 is defined
|
||
|
|
(VTV_PAGE_SIZE): Set VTV_PAGE_SIZE to 16KiB for loongarch64.
|
||
|
|
|
||
|
|
libvtv/ChangeLog:
|
||
|
|
|
||
|
|
* configure.tgt: Add loongarch support.
|
||
|
|
|
||
|
|
Signed-off-by: Peng Fan <fanpeng@loongson.cn>
|
||
|
|
Signed-off-by: ticat_fp <fanpeng@loongson.cn>
|
||
|
|
---
|
||
|
|
include/vtv-change-permission.h | 4 ++++
|
||
|
|
libvtv/configure.tgt | 3 +++
|
||
|
|
2 files changed, 7 insertions(+)
|
||
|
|
|
||
|
|
diff --git a/include/vtv-change-permission.h b/include/vtv-change-permission.h
|
||
|
|
index 70bdad92b..e7b9294a0 100644
|
||
|
|
--- a/include/vtv-change-permission.h
|
||
|
|
+++ b/include/vtv-change-permission.h
|
||
|
|
@@ -48,6 +48,10 @@ extern void __VLTChangePermission (int);
|
||
|
|
#else
|
||
|
|
#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
|
||
|
|
#else
|
||
|
|
#define VTV_PAGE_SIZE 4096
|
||
|
|
#endif
|
||
|
|
diff --git a/libvtv/configure.tgt b/libvtv/configure.tgt
|
||
|
|
index aa2a3f675..6cdd1e97a 100644
|
||
|
|
--- a/libvtv/configure.tgt
|
||
|
|
+++ b/libvtv/configure.tgt
|
||
|
|
@@ -50,6 +50,9 @@ case "${target}" in
|
||
|
|
;;
|
||
|
|
x86_64-*-darwin[1]* | i?86-*-darwin[1]*)
|
||
|
|
;;
|
||
|
|
+ loongarch*-*-linux*)
|
||
|
|
+ VTV_SUPPORTED=yes
|
||
|
|
+ ;;
|
||
|
|
*)
|
||
|
|
;;
|
||
|
|
esac
|
||
|
|
--
|
||
|
|
2.33.0
|
||
|
|
|