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 | ||
