Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (27 commits) x86: Clean up apic.c and apic.h x86: Remove superflous goal definition of tsc_sync x86: dt: Correct local apic documentation in device tree bindings x86: dt: Cleanup local apic setup x86: dt: Fix OLPC=y/INTEL_CE=n build rtc: cmos: Add OF bindings x86: ce4100: Use OF to setup devices x86: ioapic: Add OF bindings for IO_APIC x86: dtb: Add generic bus probe x86: dtb: Add support for PCI devices backed by dtb nodes x86: dtb: Add device tree support for HPET x86: dtb: Add early parsing of IO_APIC x86: dtb: Add irq domain abstraction x86: dtb: Add a device tree for CE4100 x86: Add device tree support x86: e820: Remove conditional early mapping in parse_e820_ext x86: OLPC: Make OLPC=n build again x86: OLPC: Remove extra OLPC_OPENFIRMWARE_DT indirection x86: OLPC: Cleanup config maze completely x86: OLPC: Hide OLPC_OPENFIRMWARE config switch ... Fix up conflicts in arch/x86/platform/ce4100/ce4100.c
This commit is contained in:
@ -113,6 +113,7 @@
|
||||
#endif
|
||||
#include <asm/mce.h>
|
||||
#include <asm/alternative.h>
|
||||
#include <asm/prom.h>
|
||||
|
||||
/*
|
||||
* end_pfn only includes RAM, while max_pfn_mapped includes all e820 entries.
|
||||
@ -453,16 +454,30 @@ static void __init parse_setup_data(void)
|
||||
return;
|
||||
pa_data = boot_params.hdr.setup_data;
|
||||
while (pa_data) {
|
||||
data = early_memremap(pa_data, PAGE_SIZE);
|
||||
u32 data_len, map_len;
|
||||
|
||||
map_len = max(PAGE_SIZE - (pa_data & ~PAGE_MASK),
|
||||
(u64)sizeof(struct setup_data));
|
||||
data = early_memremap(pa_data, map_len);
|
||||
data_len = data->len + sizeof(struct setup_data);
|
||||
if (data_len > map_len) {
|
||||
early_iounmap(data, map_len);
|
||||
data = early_memremap(pa_data, data_len);
|
||||
map_len = data_len;
|
||||
}
|
||||
|
||||
switch (data->type) {
|
||||
case SETUP_E820_EXT:
|
||||
parse_e820_ext(data, pa_data);
|
||||
parse_e820_ext(data);
|
||||
break;
|
||||
case SETUP_DTB:
|
||||
add_dtb(pa_data);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
pa_data = data->next;
|
||||
early_iounmap(data, PAGE_SIZE);
|
||||
early_iounmap(data, map_len);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1030,8 +1045,8 @@ void __init setup_arch(char **cmdline_p)
|
||||
* Read APIC and some other early information from ACPI tables.
|
||||
*/
|
||||
acpi_boot_init();
|
||||
|
||||
sfi_init();
|
||||
x86_dtb_init();
|
||||
|
||||
/*
|
||||
* get boot-time SMP configuration:
|
||||
@ -1065,6 +1080,8 @@ void __init setup_arch(char **cmdline_p)
|
||||
#endif
|
||||
x86_init.oem.banner();
|
||||
|
||||
x86_init.timers.wallclock_init();
|
||||
|
||||
mcheck_init();
|
||||
|
||||
local_irq_save(flags);
|
||||
|
Reference in New Issue
Block a user