diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2011-02-22 21:07:40 +0100 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2011-02-23 22:27:53 +0100 |
commit | 3879a6f32948330782889cebc4d74c4f2316c676 (patch) | |
tree | a3e8b6904eea8593e72ff9b52e2ce4c5697f60da /arch/x86/include/asm/prom.h | |
parent | 19c4f5f7f7e9c5db89a91627af2a426cfb5568de (diff) | |
download | linux-3.10-3879a6f32948330782889cebc4d74c4f2316c676.tar.gz linux-3.10-3879a6f32948330782889cebc4d74c4f2316c676.tar.bz2 linux-3.10-3879a6f32948330782889cebc4d74c4f2316c676.zip |
x86: dtb: Add early parsing of IO_APIC
APIC and IO_APIC have to be added to the system early because
native_init_IRQ() requires it.
In order to obtain the address of the ioapic the device tree has to be
unflattened so of_address_to_resource() works.
The device tree is relocated to ensure it is always covered by the
kernel mapping. That way the boot loader does not have to make
any assumptions about kernel's memory layout.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Cc: sodaville@linutronix.de
Cc: devicetree-discuss@lists.ozlabs.org
Cc: Dirk Brandewie <dirk.brandewie@gmail.com>
LKML-Reference: <1298405266-1624-6-git-send-email-bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/include/asm/prom.h')
-rw-r--r-- | arch/x86/include/asm/prom.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/include/asm/prom.h b/arch/x86/include/asm/prom.h index 83833ac33dd..35ec32b4750 100644 --- a/arch/x86/include/asm/prom.h +++ b/arch/x86/include/asm/prom.h @@ -23,10 +23,17 @@ #include <asm/irq_controller.h> #ifdef CONFIG_OF +extern int of_ioapic; +extern u64 initial_dtb; extern void add_dtb(u64 data); +void x86_dtb_find_config(void); +void x86_dtb_get_config(unsigned int unused); void add_interrupt_host(struct irq_domain *ih); #else static inline void add_dtb(u64 data) { } +#define x86_dtb_find_config x86_init_noop +#define x86_dtb_get_config x86_init_uint_noop +#define of_ioapic 0 #endif extern char cmd_line[COMMAND_LINE_SIZE]; |