Page MenuHomeFreeBSD

D24547.id70910.diff
No OneTemporary

D24547.id70910.diff

Index: stand/efi/loader/arch/amd64/elf64_freebsd.c
===================================================================
--- stand/efi/loader/arch/amd64/elf64_freebsd.c
+++ stand/efi/loader/arch/amd64/elf64_freebsd.c
@@ -172,15 +172,15 @@
for (i = 0; i < 512; i++) {
/* Each slot of the L4 pages points to the same L3 page. */
PT4[i] = (pml4_entry_t)PT3;
- PT4[i] |= PG_V | PG_RW | PG_U;
+ PT4[i] |= PG_V | PG_RW;
/* Each slot of the L3 pages points to the same L2 page. */
PT3[i] = (pdp_entry_t)PT2;
- PT3[i] |= PG_V | PG_RW | PG_U;
+ PT3[i] |= PG_V | PG_RW;
/* The L2 page slots are mapped with 2MB pages for 1GB. */
PT2[i] = i * (2 * 1024 * 1024);
- PT2[i] |= PG_V | PG_RW | PG_PS | PG_U;
+ PT2[i] |= PG_V | PG_RW;
}
printf("Start @ 0x%lx ...\n", ehdr->e_entry);
Index: stand/i386/libi386/elf64_freebsd.c
===================================================================
--- stand/i386/libi386/elf64_freebsd.c
+++ stand/i386/libi386/elf64_freebsd.c
@@ -48,7 +48,6 @@
#define PG_V 0x001
#define PG_RW 0x002
-#define PG_U 0x004
#define PG_PS 0x080
typedef uint64_t p4_entry_t;
@@ -96,15 +95,15 @@
for (i = 0; i < 512; i++) {
/* Each slot of the level 4 pages points to the same level 3 page */
PT4[i] = (p4_entry_t)VTOP((uintptr_t)&PT3[0]);
- PT4[i] |= PG_V | PG_RW | PG_U;
+ PT4[i] |= PG_V | PG_RW;
/* Each slot of the level 3 pages points to the same level 2 page */
PT3[i] = (p3_entry_t)VTOP((uintptr_t)&PT2[0]);
- PT3[i] |= PG_V | PG_RW | PG_U;
+ PT3[i] |= PG_V | PG_RW;
/* The level 2 page slots are mapped with 2MB pages for 1GB. */
PT2[i] = i * (2 * 1024 * 1024);
- PT2[i] |= PG_V | PG_RW | PG_PS | PG_U;
+ PT2[i] |= PG_V | PG_RW | PG_PS;
}
entry_lo = ehdr->e_entry & 0xffffffff;
Index: stand/userboot/userboot/elf64_freebsd.c
===================================================================
--- stand/userboot/userboot/elf64_freebsd.c
+++ stand/userboot/userboot/elf64_freebsd.c
@@ -60,7 +60,6 @@
#define PG_V 0x001
#define PG_RW 0x002
-#define PG_U 0x004
#define PG_PS 0x080
typedef uint64_t p4_entry_t;
@@ -127,15 +126,15 @@
for (i = 0; i < 512; i++) {
/* Each slot of the level 4 pages points to the same level 3 page */
PT4[i] = (p4_entry_t) 0x3000;
- PT4[i] |= PG_V | PG_RW | PG_U;
+ PT4[i] |= PG_V | PG_RW;
/* Each slot of the level 3 pages points to the same level 2 page */
PT3[i] = (p3_entry_t) 0x4000;
- PT3[i] |= PG_V | PG_RW | PG_U;
+ PT3[i] |= PG_V | PG_RW;
/* The level 2 page slots are mapped with 2MB pages for 1GB. */
PT2[i] = i * (2 * 1024 * 1024);
- PT2[i] |= PG_V | PG_RW | PG_PS | PG_U;
+ PT2[i] |= PG_V | PG_RW | PG_PS;
}
#ifdef DEBUG

File Metadata

Mime Type
text/plain
Expires
Wed, Feb 4, 5:51 AM (21 h, 18 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28432163
Default Alt Text
D24547.id70910.diff (2 KB)

Event Timeline