diff options
Diffstat (limited to 'arch/x86/kernel/setup.c')
| -rw-r--r-- | arch/x86/kernel/setup.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index 7791eef95b91..d1c636bf31a7 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c | |||
| @@ -112,6 +112,14 @@ | |||
| 112 | #define ARCH_SETUP | 112 | #define ARCH_SETUP |
| 113 | #endif | 113 | #endif |
| 114 | 114 | ||
| 115 | /* | ||
| 116 | * end_pfn only includes RAM, while max_pfn_mapped includes all e820 entries. | ||
| 117 | * The direct mapping extends to max_pfn_mapped, so that we can directly access | ||
| 118 | * apertures, ACPI and other tables without having to play with fixmaps. | ||
| 119 | */ | ||
| 120 | unsigned long max_low_pfn_mapped; | ||
| 121 | unsigned long max_pfn_mapped; | ||
| 122 | |||
| 115 | RESERVE_BRK(dmi_alloc, 65536); | 123 | RESERVE_BRK(dmi_alloc, 65536); |
| 116 | 124 | ||
| 117 | unsigned int boot_cpu_id __read_mostly; | 125 | unsigned int boot_cpu_id __read_mostly; |
| @@ -860,12 +868,16 @@ void __init setup_arch(char **cmdline_p) | |||
| 860 | max_low_pfn = max_pfn; | 868 | max_low_pfn = max_pfn; |
| 861 | 869 | ||
| 862 | high_memory = (void *)__va(max_pfn * PAGE_SIZE - 1) + 1; | 870 | high_memory = (void *)__va(max_pfn * PAGE_SIZE - 1) + 1; |
| 871 | max_pfn_mapped = KERNEL_IMAGE_SIZE >> PAGE_SHIFT; | ||
| 863 | #endif | 872 | #endif |
| 864 | 873 | ||
| 865 | #ifdef CONFIG_X86_CHECK_BIOS_CORRUPTION | 874 | #ifdef CONFIG_X86_CHECK_BIOS_CORRUPTION |
| 866 | setup_bios_corruption_check(); | 875 | setup_bios_corruption_check(); |
| 867 | #endif | 876 | #endif |
| 868 | 877 | ||
| 878 | printk(KERN_DEBUG "initial memory mapped : 0 - %08lx\n", | ||
| 879 | max_pfn_mapped<<PAGE_SHIFT); | ||
| 880 | |||
| 869 | reserve_brk(); | 881 | reserve_brk(); |
| 870 | 882 | ||
| 871 | /* max_pfn_mapped is updated here */ | 883 | /* max_pfn_mapped is updated here */ |
