setup.c (4ba24fef3eb3b142197135223b90ced2f319cd53) | setup.c (ef7f0d6a6ca8c9e4b27d78895af86c2fbfaeedb2) |
---|---|
1/* 2 * Copyright (C) 1995 Linus Torvalds 3 * 4 * Support of BIGMEM added by Gerhard Wichert, Siemens AG, July 1999 5 * 6 * Memory region support 7 * David Parsons <orc@pell.chi.il.us>, July-August 1999 8 * --- 75 unchanged lines hidden (view full) --- 84#include <asm/sections.h> 85#include <asm/io_apic.h> 86#include <asm/ist.h> 87#include <asm/setup_arch.h> 88#include <asm/bios_ebda.h> 89#include <asm/cacheflush.h> 90#include <asm/processor.h> 91#include <asm/bugs.h> | 1/* 2 * Copyright (C) 1995 Linus Torvalds 3 * 4 * Support of BIGMEM added by Gerhard Wichert, Siemens AG, July 1999 5 * 6 * Memory region support 7 * David Parsons <orc@pell.chi.il.us>, July-August 1999 8 * --- 75 unchanged lines hidden (view full) --- 84#include <asm/sections.h> 85#include <asm/io_apic.h> 86#include <asm/ist.h> 87#include <asm/setup_arch.h> 88#include <asm/bios_ebda.h> 89#include <asm/cacheflush.h> 90#include <asm/processor.h> 91#include <asm/bugs.h> |
92#include <asm/kasan.h> |
|
92 93#include <asm/vsyscall.h> 94#include <asm/cpu.h> 95#include <asm/desc.h> 96#include <asm/dma.h> 97#include <asm/iommu.h> 98#include <asm/gart.h> 99#include <asm/mmu_context.h> --- 326 unchanged lines hidden (view full) --- 426 427static void __init parse_setup_data(void) 428{ 429 struct setup_data *data; 430 u64 pa_data, pa_next; 431 432 pa_data = boot_params.hdr.setup_data; 433 while (pa_data) { | 93 94#include <asm/vsyscall.h> 95#include <asm/cpu.h> 96#include <asm/desc.h> 97#include <asm/dma.h> 98#include <asm/iommu.h> 99#include <asm/gart.h> 100#include <asm/mmu_context.h> --- 326 unchanged lines hidden (view full) --- 427 428static void __init parse_setup_data(void) 429{ 430 struct setup_data *data; 431 u64 pa_data, pa_next; 432 433 pa_data = boot_params.hdr.setup_data; 434 while (pa_data) { |
434 u32 data_len, map_len, data_type; | 435 u32 data_len, data_type; |
435 | 436 |
436 map_len = max(PAGE_SIZE - (pa_data & ~PAGE_MASK), 437 (u64)sizeof(struct setup_data)); 438 data = early_memremap(pa_data, map_len); | 437 data = early_memremap(pa_data, sizeof(*data)); |
439 data_len = data->len + sizeof(struct setup_data); 440 data_type = data->type; 441 pa_next = data->next; | 438 data_len = data->len + sizeof(struct setup_data); 439 data_type = data->type; 440 pa_next = data->next; |
442 early_iounmap(data, map_len); | 441 early_iounmap(data, sizeof(*data)); |
443 444 switch (data_type) { 445 case SETUP_E820_EXT: 446 parse_e820_ext(pa_data, data_len); 447 break; 448 case SETUP_DTB: 449 add_dtb(pa_data); 450 break; --- 720 unchanged lines hidden (view full) --- 1171 memblock_find_dma_reserve(); 1172 1173#ifdef CONFIG_KVM_GUEST 1174 kvmclock_init(); 1175#endif 1176 1177 x86_init.paging.pagetable_init(); 1178 | 442 443 switch (data_type) { 444 case SETUP_E820_EXT: 445 parse_e820_ext(pa_data, data_len); 446 break; 447 case SETUP_DTB: 448 add_dtb(pa_data); 449 break; --- 720 unchanged lines hidden (view full) --- 1170 memblock_find_dma_reserve(); 1171 1172#ifdef CONFIG_KVM_GUEST 1173 kvmclock_init(); 1174#endif 1175 1176 x86_init.paging.pagetable_init(); 1177 |
1178 kasan_init(); 1179 |
|
1179 if (boot_cpu_data.cpuid_level >= 0) { 1180 /* A CPU has %cr4 if and only if it has CPUID */ 1181 mmu_cr4_features = read_cr4(); 1182 if (trampoline_cr4_features) 1183 *trampoline_cr4_features = mmu_cr4_features; 1184 } 1185 1186#ifdef CONFIG_X86_32 --- 96 unchanged lines hidden --- | 1180 if (boot_cpu_data.cpuid_level >= 0) { 1181 /* A CPU has %cr4 if and only if it has CPUID */ 1182 mmu_cr4_features = read_cr4(); 1183 if (trampoline_cr4_features) 1184 *trampoline_cr4_features = mmu_cr4_features; 1185 } 1186 1187#ifdef CONFIG_X86_32 --- 96 unchanged lines hidden --- |