/kernel/trunk/arch/ia32/src/mm/frame.c |
---|
28,7 → 28,7 |
#include <mm/frame.h> |
#include <arch/mm/frame.h> |
#include <mm/vm.h> |
#include <mm/as.h> |
#include <config.h> |
#include <arch/boot/boot.h> |
#include <arch/boot/memmap.h> |
/kernel/trunk/arch/ia32/src/userspace.c |
---|
31,7 → 31,7 |
#include <arch/types.h> |
#include <arch.h> |
#include <proc/thread.h> |
#include <mm/vm.h> |
#include <mm/as.h> |
/** Enter userspace |
47,11 → 47,11 |
__asm__ volatile ( |
/* CLNT */ |
"pushfl;" |
"pop %%eax;" |
"and $0xFFFFBFFF,%%eax;" |
"push %%eax;" |
"popfl;" |
"pushfl\n" |
"pop %%eax\n" |
"and $0xffffbfff,%%eax\n" |
"push %%eax\n" |
"popfl\n" |
"pushl %0\n" |
"pushl %1\n" |
64,5 → 64,6 |
: "eax"); |
/* Unreachable */ |
for(;;); |
for(;;) |
; |
} |
/kernel/trunk/arch/ia32/src/interrupt.c |
---|
35,6 → 35,7 |
#include <cpu.h> |
#include <arch/asm.h> |
#include <mm/tlb.h> |
#include <mm/as.h> |
#include <arch.h> |
#include <symtab.h> |
#include <proc/thread.h> |
99,9 → 100,14 |
void page_fault(int n, void *stack) |
{ |
PRINT_INFO_ERRCODE(stack); |
printf("page fault address: %X\n", read_cr2()); |
panic("page fault\n"); |
__address page; |
page = read_cr2(); |
if (!as_page_fault(page)) { |
PRINT_INFO_ERRCODE(stack); |
printf("page fault address: %X\n", page); |
panic("page fault\n"); |
} |
} |
void syscall(int n, void *stack) |