diff options
Diffstat (limited to 'arch/x86/kernel/setup.c')
-rw-r--r-- | arch/x86/kernel/setup.c | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index b4158439bf63..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; |
@@ -214,8 +222,8 @@ unsigned long mmu_cr4_features; | |||
214 | unsigned long mmu_cr4_features = X86_CR4_PAE; | 222 | unsigned long mmu_cr4_features = X86_CR4_PAE; |
215 | #endif | 223 | #endif |
216 | 224 | ||
217 | /* Boot loader ID as an integer, for the benefit of proc_dointvec */ | 225 | /* Boot loader ID and version as integers, for the benefit of proc_dointvec */ |
218 | int bootloader_type; | 226 | int bootloader_type, bootloader_version; |
219 | 227 | ||
220 | /* | 228 | /* |
221 | * Setup options | 229 | * Setup options |
@@ -706,6 +714,12 @@ void __init setup_arch(char **cmdline_p) | |||
706 | #endif | 714 | #endif |
707 | saved_video_mode = boot_params.hdr.vid_mode; | 715 | saved_video_mode = boot_params.hdr.vid_mode; |
708 | bootloader_type = boot_params.hdr.type_of_loader; | 716 | bootloader_type = boot_params.hdr.type_of_loader; |
717 | if ((bootloader_type >> 4) == 0xe) { | ||
718 | bootloader_type &= 0xf; | ||
719 | bootloader_type |= (boot_params.hdr.ext_loader_type+0x10) << 4; | ||
720 | } | ||
721 | bootloader_version = bootloader_type & 0xf; | ||
722 | bootloader_version |= boot_params.hdr.ext_loader_ver << 4; | ||
709 | 723 | ||
710 | #ifdef CONFIG_BLK_DEV_RAM | 724 | #ifdef CONFIG_BLK_DEV_RAM |
711 | rd_image_start = boot_params.hdr.ram_size & RAMDISK_IMAGE_START_MASK; | 725 | rd_image_start = boot_params.hdr.ram_size & RAMDISK_IMAGE_START_MASK; |
@@ -854,12 +868,16 @@ void __init setup_arch(char **cmdline_p) | |||
854 | max_low_pfn = max_pfn; | 868 | max_low_pfn = max_pfn; |
855 | 869 | ||
856 | 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; | ||
857 | #endif | 872 | #endif |
858 | 873 | ||
859 | #ifdef CONFIG_X86_CHECK_BIOS_CORRUPTION | 874 | #ifdef CONFIG_X86_CHECK_BIOS_CORRUPTION |
860 | setup_bios_corruption_check(); | 875 | setup_bios_corruption_check(); |
861 | #endif | 876 | #endif |
862 | 877 | ||
878 | printk(KERN_DEBUG "initial memory mapped : 0 - %08lx\n", | ||
879 | max_pfn_mapped<<PAGE_SHIFT); | ||
880 | |||
863 | reserve_brk(); | 881 | reserve_brk(); |
864 | 882 | ||
865 | /* max_pfn_mapped is updated here */ | 883 | /* max_pfn_mapped is updated here */ |
@@ -997,24 +1015,6 @@ void __init setup_arch(char **cmdline_p) | |||
997 | #ifdef CONFIG_X86_32 | 1015 | #ifdef CONFIG_X86_32 |
998 | 1016 | ||
999 | /** | 1017 | /** |
1000 | * x86_quirk_pre_intr_init - initialisation prior to setting up interrupt vectors | ||
1001 | * | ||
1002 | * Description: | ||
1003 | * Perform any necessary interrupt initialisation prior to setting up | ||
1004 | * the "ordinary" interrupt call gates. For legacy reasons, the ISA | ||
1005 | * interrupts should be initialised here if the machine emulates a PC | ||
1006 | * in any way. | ||
1007 | **/ | ||
1008 | void __init x86_quirk_pre_intr_init(void) | ||
1009 | { | ||
1010 | if (x86_quirks->arch_pre_intr_init) { | ||
1011 | if (x86_quirks->arch_pre_intr_init()) | ||
1012 | return; | ||
1013 | } | ||
1014 | init_ISA_irqs(); | ||
1015 | } | ||
1016 | |||
1017 | /** | ||
1018 | * x86_quirk_intr_init - post gate setup interrupt initialisation | 1018 | * x86_quirk_intr_init - post gate setup interrupt initialisation |
1019 | * | 1019 | * |
1020 | * Description: | 1020 | * Description: |