Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F115928165
D45063.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
849 B
Referenced Files
None
Subscribers
None
D45063.diff
View Options
diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S
--- a/sys/arm64/arm64/locore.S
+++ b/sys/arm64/arm64/locore.S
@@ -481,7 +481,14 @@
#endif
/* Get the number of blocks/pages to allocate, rounded down */
- lsr x10, x8, #(PTE_SHIFT)
+ lsr x14, x8, #(PTE_SHIFT)
+
+ ldr x25, =etext
+ ldr x8, =((1 << PTE_SHIFT) - 1)
+ add x25, x25, x8
+ mov x8, #(KERNBASE)
+ sub x25, x25, x8
+ lsr x25, x25, #(PTE_SHIFT)
/* Create the kernel space PTE table */
adrp x6, LL_PAGE_TABLE
@@ -492,6 +499,15 @@
mov x10, x25
bl BUILD_PTE_FUNC
+ /* Create the kernel space XN PTE table */
+ lsl x10, x25, #(PTE_SHIFT)
+ ldr x7, =(ATTR_S1_IDX(VM_MEMATTR_WRITE_BACK) | ATTR_S1_XN)
+ ldr x8, =(KERNBASE)
+ add x8, x8, x10
+ add x9, x28, x10
+ sub x10, x14, x25
+ bl BUILD_PTE_FUNC
+
#undef PTE_SHIFT
#undef LL_PAGE_TABLE
#undef BUILD_PTE_FUNC
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, May 1, 1:01 PM (17 h, 2 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
17881674
Default Alt Text
D45063.diff (849 B)
Attached To
Mode
D45063: arm64: Reduce the kernel executable pages
Attached
Detach File
Event Timeline
Log In to Comment