aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/kernel/setup_32.c11
-rw-r--r--arch/x86/kernel/setup_64.c11
2 files changed, 22 insertions, 0 deletions
diff --git a/arch/x86/kernel/setup_32.c b/arch/x86/kernel/setup_32.c
index 9c0ef4945a58..62adc5f20be5 100644
--- a/arch/x86/kernel/setup_32.c
+++ b/arch/x86/kernel/setup_32.c
@@ -45,6 +45,7 @@
45#include <linux/dmi.h> 45#include <linux/dmi.h>
46#include <linux/pfn.h> 46#include <linux/pfn.h>
47#include <linux/pci.h> 47#include <linux/pci.h>
48#include <linux/init_ohci1394_dma.h>
48 49
49#include <video/edid.h> 50#include <video/edid.h>
50 51
@@ -787,6 +788,16 @@ void __init setup_arch(char **cmdline_p)
787 smp_alloc_memory(); /* AP processor realmode stacks in low memory*/ 788 smp_alloc_memory(); /* AP processor realmode stacks in low memory*/
788#endif 789#endif
789 paging_init(); 790 paging_init();
791
792 /*
793 * NOTE: On x86-32, only from this point on, fixmaps are ready for use.
794 */
795
796#ifdef CONFIG_PROVIDE_OHCI1394_DMA_INIT
797 if (init_ohci1394_dma_early)
798 init_ohci1394_dma_on_all_controllers();
799#endif
800
790 remapped_pgdat_init(); 801 remapped_pgdat_init();
791 sparse_init(); 802 sparse_init();
792 zone_sizes_init(); 803 zone_sizes_init();
diff --git a/arch/x86/kernel/setup_64.c b/arch/x86/kernel/setup_64.c
index 697533e86822..77fb87bf6e5a 100644
--- a/arch/x86/kernel/setup_64.c
+++ b/arch/x86/kernel/setup_64.c
@@ -41,6 +41,7 @@
41#include <linux/dma-mapping.h> 41#include <linux/dma-mapping.h>
42#include <linux/ctype.h> 42#include <linux/ctype.h>
43#include <linux/uaccess.h> 43#include <linux/uaccess.h>
44#include <linux/init_ohci1394_dma.h>
44 45
45#include <asm/mtrr.h> 46#include <asm/mtrr.h>
46#include <asm/uaccess.h> 47#include <asm/uaccess.h>
@@ -253,6 +254,11 @@ void __attribute__((weak)) __init memory_setup(void)
253 machine_specific_memory_setup(); 254 machine_specific_memory_setup();
254} 255}
255 256
257/*
258 * setup_arch - architecture-specific boot-time initializations
259 *
260 * Note: On x86_64, fixmaps are ready for use even before this is called.
261 */
256void __init setup_arch(char **cmdline_p) 262void __init setup_arch(char **cmdline_p)
257{ 263{
258 unsigned i; 264 unsigned i;
@@ -302,6 +308,11 @@ void __init setup_arch(char **cmdline_p)
302 308
303 parse_early_param(); 309 parse_early_param();
304 310
311#ifdef CONFIG_PROVIDE_OHCI1394_DMA_INIT
312 if (init_ohci1394_dma_early)
313 init_ohci1394_dma_on_all_controllers();
314#endif
315
305 finish_e820_parsing(); 316 finish_e820_parsing();
306 317
307 early_gart_iommu_check(); 318 early_gart_iommu_check();