diff options
Diffstat (limited to 'arch/x86/kernel/head_32.S')
-rw-r--r-- | arch/x86/kernel/head_32.S | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S index 9150ca9b5f80..39677965e161 100644 --- a/arch/x86/kernel/head_32.S +++ b/arch/x86/kernel/head_32.S | |||
@@ -51,6 +51,15 @@ | |||
51 | */ | 51 | */ |
52 | LOW_PAGES = 1<<(32-PAGE_SHIFT_asm) | 52 | LOW_PAGES = 1<<(32-PAGE_SHIFT_asm) |
53 | 53 | ||
54 | /* | ||
55 | * To preserve the DMA pool in PAGEALLOC kernels, we'll allocate | ||
56 | * pagetables from above the 16MB DMA limit, so we'll have to set | ||
57 | * up pagetables 16MB more (worst-case): | ||
58 | */ | ||
59 | #ifdef CONFIG_DEBUG_PAGEALLOC | ||
60 | LOW_PAGES = LOW_PAGES + 0x1000000 | ||
61 | #endif | ||
62 | |||
54 | #if PTRS_PER_PMD > 1 | 63 | #if PTRS_PER_PMD > 1 |
55 | PAGE_TABLE_SIZE = (LOW_PAGES / PTRS_PER_PMD) + PTRS_PER_PGD | 64 | PAGE_TABLE_SIZE = (LOW_PAGES / PTRS_PER_PMD) + PTRS_PER_PGD |
56 | #else | 65 | #else |
@@ -443,6 +452,7 @@ early_page_fault: | |||
443 | early_fault: | 452 | early_fault: |
444 | cld | 453 | cld |
445 | #ifdef CONFIG_PRINTK | 454 | #ifdef CONFIG_PRINTK |
455 | pusha | ||
446 | movl $(__KERNEL_DS),%eax | 456 | movl $(__KERNEL_DS),%eax |
447 | movl %eax,%ds | 457 | movl %eax,%ds |
448 | movl %eax,%es | 458 | movl %eax,%es |
@@ -534,8 +544,15 @@ int_msg: | |||
534 | .asciz "Unknown interrupt or fault at EIP %p %p %p\n" | 544 | .asciz "Unknown interrupt or fault at EIP %p %p %p\n" |
535 | 545 | ||
536 | fault_msg: | 546 | fault_msg: |
537 | .ascii "Int %d: CR2 %p err %p EIP %p CS %p flags %p\n" | 547 | .ascii \ |
538 | .asciz "Stack: %p %p %p %p %p %p %p %p\n" | 548 | /* fault info: */ "BUG: Int %d: CR2 %p\n" \ |
549 | /* pusha regs: */ " EDI %p ESI %p EBP %p ESP %p\n" \ | ||
550 | " EBX %p EDX %p ECX %p EAX %p\n" \ | ||
551 | /* fault frame: */ " err %p EIP %p CS %p flg %p\n" \ | ||
552 | \ | ||
553 | "Stack: %p %p %p %p %p %p %p %p\n" \ | ||
554 | " %p %p %p %p %p %p %p %p\n" \ | ||
555 | " %p %p %p %p %p %p %p %p\n" | ||
539 | 556 | ||
540 | #include "../../x86/xen/xen-head.S" | 557 | #include "../../x86/xen/xen-head.S" |
541 | 558 | ||