aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/include/asm/es7000/apic.h2
-rw-r--r--arch/x86/kernel/es7000_32.c27
-rw-r--r--arch/x86/mach-generic/es7000.c7
3 files changed, 16 insertions, 20 deletions
diff --git a/arch/x86/include/asm/es7000/apic.h b/arch/x86/include/asm/es7000/apic.h
index 717c27f8da61..038c4f0e480b 100644
--- a/arch/x86/include/asm/es7000/apic.h
+++ b/arch/x86/include/asm/es7000/apic.h
@@ -36,6 +36,8 @@ static inline unsigned long es7000_check_apicid_present(int bit)
36 return physid_isset(bit, phys_cpu_present_map); 36 return physid_isset(bit, phys_cpu_present_map);
37} 37}
38 38
39extern void es7000_enable_apic_mode(void);
40
39#define apicid_cluster(apicid) (apicid & 0xF0) 41#define apicid_cluster(apicid) (apicid & 0xF0)
40 42
41static inline unsigned long calculate_ldr(int cpu) 43static inline unsigned long calculate_ldr(int cpu)
diff --git a/arch/x86/kernel/es7000_32.c b/arch/x86/kernel/es7000_32.c
index 20a2a43c2a9c..e73fe18488ac 100644
--- a/arch/x86/kernel/es7000_32.c
+++ b/arch/x86/kernel/es7000_32.c
@@ -359,20 +359,21 @@ es7000_mip_write(struct mip_reg *mip_reg)
359 return status; 359 return status;
360} 360}
361 361
362void __init 362void __init es7000_enable_apic_mode(void)
363es7000_sw_apic(void)
364{ 363{
365 if (es7000_plat) { 364 struct mip_reg es7000_mip_reg;
366 int mip_status; 365 int mip_status;
367 struct mip_reg es7000_mip_reg; 366
368 367 if (!es7000_plat)
369 printk("ES7000: Enabling APIC mode.\n");
370 memset(&es7000_mip_reg, 0, sizeof(struct mip_reg));
371 es7000_mip_reg.off_0 = MIP_SW_APIC;
372 es7000_mip_reg.off_38 = (MIP_VALID);
373 while ((mip_status = es7000_mip_write(&es7000_mip_reg)) != 0)
374 printk("es7000_sw_apic: command failed, status = %x\n",
375 mip_status);
376 return; 368 return;
369
370 printk("ES7000: Enabling APIC mode.\n");
371 memset(&es7000_mip_reg, 0, sizeof(struct mip_reg));
372 es7000_mip_reg.off_0 = MIP_SW_APIC;
373 es7000_mip_reg.off_38 = MIP_VALID;
374
375 while ((mip_status = es7000_mip_write(&es7000_mip_reg)) != 0) {
376 printk("es7000_enable_apic_mode: command failed, status = %x\n",
377 mip_status);
377 } 378 }
378} 379}
diff --git a/arch/x86/mach-generic/es7000.c b/arch/x86/mach-generic/es7000.c
index 9acb71120ef6..1185964b7a33 100644
--- a/arch/x86/mach-generic/es7000.c
+++ b/arch/x86/mach-generic/es7000.c
@@ -35,13 +35,6 @@ static int probe_es7000(void)
35 return 0; 35 return 0;
36} 36}
37 37
38extern void es7000_sw_apic(void);
39
40static void __init es7000_enable_apic_mode(void)
41{
42 es7000_sw_apic();
43}
44
45static __init int 38static __init int
46mps_oem_check(struct mpc_table *mpc, char *oem, char *productid) 39mps_oem_check(struct mpc_table *mpc, char *oem, char *productid)
47{ 40{