ISRs IST (TSS) and RO .rodata & .text pages

This commit is contained in:
Adrien Bourmault 2020-01-06 00:30:50 +01:00
parent 4cbd42a19f
commit 5155287309
3 changed files with 5 additions and 26 deletions

View File

@ -128,7 +128,7 @@ void KeEnablePIT(void)
DebugLog("\tPIT activated with period %d ms\n", 1000/PIT_FREQUENCY);
KeRestoreIRQs(flags);
//XXX KeEnableNMI();
KeEnableNMI();
}
char *KeFormatCurTime(void)

View File

@ -25,10 +25,10 @@
#include <mm/mm.h>
#include <init/boot.h>
volatile GdtPtr_t gdtPtr;
volatile GdtEntry_t gdt[4] __attribute__((__aligned__(KPAGESIZE)));
volatile TssDescriptor_t tssDesc __attribute__((__aligned__(KPAGESIZE)));
volatile Tss_t tss __attribute__((__aligned__(KPAGESIZE)));
GdtPtr_t gdtPtr;
GdtEntry_t gdt[4] __attribute__((__aligned__(KPAGESIZE)));
TssDescriptor_t tssDesc __attribute__((__aligned__(KPAGESIZE)));
Tss_t tss __attribute__((__aligned__(KPAGESIZE)));
void MmInitGdt(void)
{

View File

@ -205,26 +205,6 @@ error_t CmdTimerTest(int argc, char **argv, char *cmdline)
return EOK;
}
error_t CmdprintfTest(int argc, char **argv, char *cmdline)
{
/* bprintf(BStdOut, "INT_MIN : %u\n", INT_MIN); */
/* BStdOut->flusher(BStdOut); */
bprintf(BStdOut, "INT_MAX : %u\n", INT_MAX);
BStdOut->flusher(BStdOut);
int n = - 5;
for (int i=INT_MAX - 5; n < 10; i++) {
bprintf(BStdOut, "INT_MAX + %d : %d\n", n, i);
BStdOut->flusher(BStdOut);
n++;
}
KernLog("Finished !\n");
return EOK;
}
static Command_t testcmdtable[] =
{
{ "args", CmdArgs, "Print command line" },
@ -237,6 +217,5 @@ static Command_t testcmdtable[] =
{ "stkov", CmdStackOverflow, "Provoke a stack overflow" },
{ "stkun", CmdStackUnderflow, "Provoke a stack underflow" },
{ "timer", CmdTimerTest, "test timer of x ms" },
{ "printf", CmdprintfTest, "test timer of x ms" },
{ NULL, NULL, NULL }
};