|
|
1.1 root 1: /*
2: * page.s contains the low-level page-exception code.
3: * the real work is done in mm.c
4: */
5:
1.1.1.2 ! root 6: .globl page_fault
1.1 root 7:
1.1.1.2 ! root 8: page_fault:
1.1 root 9: xchgl %eax,(%esp)
10: pushl %ecx
11: pushl %edx
12: push %ds
13: push %es
14: push %fs
15: movl $0x10,%edx
16: mov %dx,%ds
17: mov %dx,%es
18: mov %dx,%fs
19: movl %cr2,%edx
20: pushl %edx
21: pushl %eax
22: testl $1,%eax
23: jne 1f
1.1.1.2 ! root 24: call do_no_page
1.1 root 25: jmp 2f
1.1.1.2 ! root 26: 1: call do_wp_page
1.1 root 27: 2: addl $8,%esp
28: pop %fs
29: pop %es
30: pop %ds
31: popl %edx
32: popl %ecx
33: popl %eax
34: iret
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.