diff options
Diffstat (limited to 'arch/ia64/kernel/setup.c')
-rw-r--r-- | arch/ia64/kernel/setup.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c index e9596cd0cdab..4ae15c8c2488 100644 --- a/arch/ia64/kernel/setup.c +++ b/arch/ia64/kernel/setup.c | |||
@@ -560,6 +560,17 @@ setup_arch (char **cmdline_p) | |||
560 | /* process SAL system table: */ | 560 | /* process SAL system table: */ |
561 | ia64_sal_init(__va(efi.sal_systab)); | 561 | ia64_sal_init(__va(efi.sal_systab)); |
562 | 562 | ||
563 | #ifdef CONFIG_ITANIUM | ||
564 | ia64_patch_rse((u64) __start___rse_patchlist, (u64) __end___rse_patchlist); | ||
565 | #else | ||
566 | { | ||
567 | u64 num_phys_stacked; | ||
568 | |||
569 | if (ia64_pal_rse_info(&num_phys_stacked, 0) == 0 && num_phys_stacked > 96) | ||
570 | ia64_patch_rse((u64) __start___rse_patchlist, (u64) __end___rse_patchlist); | ||
571 | } | ||
572 | #endif | ||
573 | |||
563 | #ifdef CONFIG_SMP | 574 | #ifdef CONFIG_SMP |
564 | cpu_physical_id(0) = hard_smp_processor_id(); | 575 | cpu_physical_id(0) = hard_smp_processor_id(); |
565 | #endif | 576 | #endif |
@@ -567,8 +578,6 @@ setup_arch (char **cmdline_p) | |||
567 | cpu_init(); /* initialize the bootstrap CPU */ | 578 | cpu_init(); /* initialize the bootstrap CPU */ |
568 | mmu_context_init(); /* initialize context_id bitmap */ | 579 | mmu_context_init(); /* initialize context_id bitmap */ |
569 | 580 | ||
570 | check_sal_cache_flush(); | ||
571 | |||
572 | #ifdef CONFIG_ACPI | 581 | #ifdef CONFIG_ACPI |
573 | acpi_boot_init(); | 582 | acpi_boot_init(); |
574 | #endif | 583 | #endif |
@@ -596,6 +605,7 @@ setup_arch (char **cmdline_p) | |||
596 | ia64_mca_init(); | 605 | ia64_mca_init(); |
597 | 606 | ||
598 | platform_setup(cmdline_p); | 607 | platform_setup(cmdline_p); |
608 | check_sal_cache_flush(); | ||
599 | paging_init(); | 609 | paging_init(); |
600 | } | 610 | } |
601 | 611 | ||