diff options
Diffstat (limited to 'arch/powerpc/kernel/prom_init.c')
-rw-r--r-- | arch/powerpc/kernel/prom_init.c | 12 |
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 | */ |
970 | static void reserve_mem(u64 base, u64 size) | 976 | static 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) }, |