diff options
Diffstat (limited to 'arch/ia64/kernel/setup.c')
-rw-r--r-- | arch/ia64/kernel/setup.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c index 407efea04bf5..9e392a30d197 100644 --- a/arch/ia64/kernel/setup.c +++ b/arch/ia64/kernel/setup.c | |||
@@ -60,6 +60,7 @@ | |||
60 | #include <asm/smp.h> | 60 | #include <asm/smp.h> |
61 | #include <asm/system.h> | 61 | #include <asm/system.h> |
62 | #include <asm/unistd.h> | 62 | #include <asm/unistd.h> |
63 | #include <asm/hpsim.h> | ||
63 | 64 | ||
64 | #if defined(CONFIG_SMP) && (IA64_CPU_SIZE > PAGE_SIZE) | 65 | #if defined(CONFIG_SMP) && (IA64_CPU_SIZE > PAGE_SIZE) |
65 | # error "struct cpuinfo_ia64 too big!" | 66 | # error "struct cpuinfo_ia64 too big!" |
@@ -389,13 +390,8 @@ early_console_setup (char *cmdline) | |||
389 | if (!efi_setup_pcdp_console(cmdline)) | 390 | if (!efi_setup_pcdp_console(cmdline)) |
390 | earlycons++; | 391 | earlycons++; |
391 | #endif | 392 | #endif |
392 | #ifdef CONFIG_HP_SIMSERIAL_CONSOLE | 393 | if (!simcons_register()) |
393 | { | ||
394 | extern struct console hpsim_cons; | ||
395 | register_console(&hpsim_cons); | ||
396 | earlycons++; | 394 | earlycons++; |
397 | } | ||
398 | #endif | ||
399 | 395 | ||
400 | return (earlycons) ? 0 : -1; | 396 | return (earlycons) ? 0 : -1; |
401 | } | 397 | } |
@@ -960,6 +956,11 @@ cpu_init (void) | |||
960 | 956 | ||
961 | /* clear TPR & XTP to enable all interrupt classes: */ | 957 | /* clear TPR & XTP to enable all interrupt classes: */ |
962 | ia64_setreg(_IA64_REG_CR_TPR, 0); | 958 | ia64_setreg(_IA64_REG_CR_TPR, 0); |
959 | |||
960 | /* Clear any pending interrupts left by SAL/EFI */ | ||
961 | while (ia64_get_ivr() != IA64_SPURIOUS_INT_VECTOR) | ||
962 | ia64_eoi(); | ||
963 | |||
963 | #ifdef CONFIG_SMP | 964 | #ifdef CONFIG_SMP |
964 | normal_xtp(); | 965 | normal_xtp(); |
965 | #endif | 966 | #endif |