aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/prom_init.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kernel/prom_init.c')
-rw-r--r--arch/powerpc/kernel/prom_init.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c
index e27d9d1b6e67..d6047c441034 100644
--- a/arch/powerpc/kernel/prom_init.c
+++ b/arch/powerpc/kernel/prom_init.c
@@ -635,6 +635,12 @@ static void __init early_cmdline_parse(void)
635/* ibm,dynamic-reconfiguration-memory property supported */ 635/* ibm,dynamic-reconfiguration-memory property supported */
636#define OV5_DRCONF_MEMORY 0x20 636#define OV5_DRCONF_MEMORY 0x20
637#define OV5_LARGE_PAGES 0x10 /* large pages supported */ 637#define OV5_LARGE_PAGES 0x10 /* large pages supported */
638/* PCIe/MSI support. Without MSI full PCIe is not supported */
639#ifdef CONFIG_PCI_MSI
640#define OV5_MSI 0x01 /* PCIe/MSI support */
641#else
642#define OV5_MSI 0x00
643#endif /* CONFIG_PCI_MSI */
638 644
639/* 645/*
640 * The architecture vector has an array of PVR mask/value pairs, 646 * The architecture vector has an array of PVR mask/value pairs,
@@ -679,7 +685,7 @@ static unsigned char ibm_architecture_vec[] = {
679 /* option vector 5: PAPR/OF options */ 685 /* option vector 5: PAPR/OF options */
680 3 - 2, /* length */ 686 3 - 2, /* length */
681 0, /* don't ignore, don't halt */ 687 0, /* don't ignore, don't halt */
682 OV5_LPAR | OV5_SPLPAR | OV5_LARGE_PAGES | OV5_DRCONF_MEMORY, 688 OV5_LPAR | OV5_SPLPAR | OV5_LARGE_PAGES | OV5_DRCONF_MEMORY | OV5_MSI,
683}; 689};
684 690
685/* Old method - ELF header with PT_NOTE sections */ 691/* Old method - ELF header with PT_NOTE sections */
@@ -967,7 +973,7 @@ static unsigned long __init prom_next_cell(int s, cell_t **cellp)
967 * If problems seem to show up, it would be a good start to track 973 * If problems seem to show up, it would be a good start to track
968 * them down. 974 * them down.
969 */ 975 */
970static void reserve_mem(u64 base, u64 size) 976static void __init reserve_mem(u64 base, u64 size)
971{ 977{
972 u64 top = base + size; 978 u64 top = base + size;
973 unsigned long cnt = RELOC(mem_reserve_cnt); 979 unsigned long cnt = RELOC(mem_reserve_cnt);
@@ -2153,7 +2159,7 @@ static void __init fixup_device_tree_efika(void)
2153 3,12,0, 3,13,0, 3,14,0, 3,15,0 }; 2159 3,12,0, 3,13,0, 3,14,0, 3,15,0 };
2154 struct subst_entry efika_subst_table[] = { 2160 struct subst_entry efika_subst_table[] = {
2155 { "/", "device_type", prop_cstr("efika") }, 2161 { "/", "device_type", prop_cstr("efika") },
2156 { "/builtin", "compatible", prop_cstr("soc") }, 2162 { "/builtin", "device_type", prop_cstr("soc") },
2157 { "/builtin/ata", "compatible", prop_cstr("mpc5200b-ata\0mpc5200-ata"), }, 2163 { "/builtin/ata", "compatible", prop_cstr("mpc5200b-ata\0mpc5200-ata"), },
2158 { "/builtin/bestcomm", "compatible", prop_cstr("mpc5200b-bestcomm\0mpc5200-bestcomm") }, 2164 { "/builtin/bestcomm", "compatible", prop_cstr("mpc5200b-bestcomm\0mpc5200-bestcomm") },
2159 { "/builtin/bestcomm", "interrupts", prop_bcomm_irq, sizeof(prop_bcomm_irq) }, 2165 { "/builtin/bestcomm", "interrupts", prop_bcomm_irq, sizeof(prop_bcomm_irq) },