diff --git a/repos/base-nova/include/nova/syscall-generic.h b/repos/base-nova/include/nova/syscall-generic.h index 16390572a..fd46f233b 100644 --- a/repos/base-nova/include/nova/syscall-generic.h +++ b/repos/base-nova/include/nova/syscall-generic.h @@ -201,31 +201,32 @@ namespace Nova { public: enum { - ACDB = 1U << 0, /* eax, ecx, edx, ebx */ - EBSD = 1U << 1, /* ebp, esi, edi */ - ESP = 1U << 2, - EIP = 1U << 3, - EFL = 1U << 4, /* eflags */ - ESDS = 1U << 5, - FSGS = 1U << 6, - CSSS = 1U << 7, - TR = 1U << 8, - LDTR = 1U << 9, - GDTR = 1U << 10, - IDTR = 1U << 11, - CR = 1U << 12, - DR = 1U << 13, /* DR7 */ - SYS = 1U << 14, /* Sysenter MSRs CS, ESP, EIP */ - QUAL = 1U << 15, /* exit qualification */ - CTRL = 1U << 16, /* execution controls */ - INJ = 1U << 17, /* injection info */ - STA = 1U << 18, /* interruptibility state */ - TSC = 1U << 19, /* time-stamp counter */ - EFER = 1U << 20, /* EFER MSR */ - FPU = 1U << 31, /* FPU state */ + ACDB = 1U << 0, /* eax, ecx, edx, ebx */ + EBSD = 1U << 1, /* ebp, esi, edi */ + ESP = 1U << 2, + EIP = 1U << 3, + EFL = 1U << 4, /* eflags */ + ESDS = 1U << 5, + FSGS = 1U << 6, + CSSS = 1U << 7, + TR = 1U << 8, + LDTR = 1U << 9, + GDTR = 1U << 10, + IDTR = 1U << 11, + CR = 1U << 12, + DR = 1U << 13, /* DR7 */ + SYS = 1U << 14, /* Sysenter MSRs CS, ESP, EIP */ + QUAL = 1U << 15, /* exit qualification */ + CTRL = 1U << 16, /* execution controls */ + INJ = 1U << 17, /* injection info */ + STA = 1U << 18, /* interruptibility state */ + TSC = 1U << 19, /* time-stamp counter */ + EFER = 1U << 20, /* EFER MSR */ + PDPTE = 1U << 21, /* PDPTE0 .. PDPTE3 */ + FPU = 1U << 31, /* FPU state */ - IRQ = EFL | STA | INJ | TSC, - ALL = 0x000fffff & ~CTRL, + IRQ = EFL | STA | INJ | TSC, + ALL = 0x000fffff & ~CTRL, }; Mtd(mword_t value) : _value(value) { } @@ -464,6 +465,7 @@ namespace Nova { unsigned ctrl[2]; unsigned long long reserved; mword_t cr0, cr2, cr3, cr4; + mword_t pdpte[4]; #ifdef __x86_64__ mword_t cr8, efer; #endif diff --git a/repos/base-nova/ports/nova.hash b/repos/base-nova/ports/nova.hash index 1b625e100..3e0e11586 100644 --- a/repos/base-nova/ports/nova.hash +++ b/repos/base-nova/ports/nova.hash @@ -1 +1 @@ -abcaff7f0e4a24e8a8fc7b8b023a82a544094767 +50a7e018fac5bd0bbb7c43ccb9681beae1c93db8 diff --git a/repos/base-nova/ports/nova.port b/repos/base-nova/ports/nova.port index badc0c7c2..61977a49d 100644 --- a/repos/base-nova/ports/nova.port +++ b/repos/base-nova/ports/nova.port @@ -3,8 +3,8 @@ VERSION := git DOWNLOADS := nova.git URL(nova) := https://github.com/alex-ab/NOVA.git -# r9 branch -REV(nova) := e56cf80c88cac7d709dd2685e4966ddebb0feed5 +# r9_pae branch +REV(nova) := 902ccd998fddbf140bb6f87b75d7c9df97e6380f DIR(nova) := src/kernel/nova PATCHES := $(wildcard $(REP_DIR)/patches/*.patch)