aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKyle McMartin <kyle@parisc-linux.org>2007-03-27 16:47:49 -0400
committerKyle McMartin <kyle@athena.road.mcmartin.ca>2007-05-22 22:43:55 -0400
commit2cbd42dbf8887c8742f8e6a286c7e5f4f5ddb56b (patch)
treed9acbb13455e14bd953ca1581c68a582032cdf4d
parent27f282b9c6ec0c2ed64778ca154674929eefb195 (diff)
[PARISC] Let PA-8900 processors boot
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
-rw-r--r--arch/parisc/kernel/hardware.c4
-rw-r--r--arch/parisc/kernel/perf.c6
-rw-r--r--arch/parisc/kernel/setup.c1
-rw-r--r--include/asm-parisc/hardware.h3
-rw-r--r--include/asm-parisc/processor.h4
5 files changed, 12 insertions, 6 deletions
diff --git a/arch/parisc/kernel/hardware.c b/arch/parisc/kernel/hardware.c
index 18ba4cb9159b..e365f0311881 100644
--- a/arch/parisc/kernel/hardware.c
+++ b/arch/parisc/kernel/hardware.c
@@ -1296,6 +1296,7 @@ static struct hp_cpu_type_mask {
1296 { 0x05f0, 0x0ff0, pcxw2 }, /* 0x05f0 - 0x05ff */ 1296 { 0x05f0, 0x0ff0, pcxw2 }, /* 0x05f0 - 0x05ff */
1297 { 0x0600, 0x0fe0, pcxl }, /* 0x0600 - 0x061f */ 1297 { 0x0600, 0x0fe0, pcxl }, /* 0x0600 - 0x061f */
1298 { 0x0880, 0x0ff0, mako }, /* 0x0880 - 0x088f */ 1298 { 0x0880, 0x0ff0, mako }, /* 0x0880 - 0x088f */
1299 { 0x0890, 0x0ff0, mako2 }, /* 0x0890 - 0x089f */
1299 { 0x0000, 0x0000, pcx } /* terminate table */ 1300 { 0x0000, 0x0000, pcx } /* terminate table */
1300}; 1301};
1301 1302
@@ -1311,7 +1312,8 @@ char *cpu_name_version[][2] = {
1311 [pcxw] = { "PA8500 (PCX-W)", "2.0" }, 1312 [pcxw] = { "PA8500 (PCX-W)", "2.0" },
1312 [pcxw_] = { "PA8600 (PCX-W+)", "2.0" }, 1313 [pcxw_] = { "PA8600 (PCX-W+)", "2.0" },
1313 [pcxw2] = { "PA8700 (PCX-W2)", "2.0" }, 1314 [pcxw2] = { "PA8700 (PCX-W2)", "2.0" },
1314 [mako] = { "PA8800 (Mako)", "2.0" } 1315 [mako] = { "PA8800 (Mako)", "2.0" },
1316 [mako2] = { "PA8900 (Shortfin)", "2.0" }
1315}; 1317};
1316 1318
1317const char * __init 1319const char * __init
diff --git a/arch/parisc/kernel/perf.c b/arch/parisc/kernel/perf.c
index a46bc62b643e..08717380e025 100644
--- a/arch/parisc/kernel/perf.c
+++ b/arch/parisc/kernel/perf.c
@@ -511,10 +511,12 @@ static int __init perf_init(void)
511 } else if (boot_cpu_data.cpu_type == pcxw || 511 } else if (boot_cpu_data.cpu_type == pcxw ||
512 boot_cpu_data.cpu_type == pcxw_ || 512 boot_cpu_data.cpu_type == pcxw_ ||
513 boot_cpu_data.cpu_type == pcxw2 || 513 boot_cpu_data.cpu_type == pcxw2 ||
514 boot_cpu_data.cpu_type == mako) { 514 boot_cpu_data.cpu_type == mako ||
515 boot_cpu_data.cpu_type == mako2) {
515 perf_processor_interface = CUDA_INTF; 516 perf_processor_interface = CUDA_INTF;
516 if (boot_cpu_data.cpu_type == pcxw2 || 517 if (boot_cpu_data.cpu_type == pcxw2 ||
517 boot_cpu_data.cpu_type == mako) 518 boot_cpu_data.cpu_type == mako ||
519 boot_cpu_data.cpu_type == mako2)
518 bitmask_array = perf_bitmasks_piranha; 520 bitmask_array = perf_bitmasks_piranha;
519 } else { 521 } else {
520 perf_processor_interface = UNKNOWN_INTF; 522 perf_processor_interface = UNKNOWN_INTF;
diff --git a/arch/parisc/kernel/setup.c b/arch/parisc/kernel/setup.c
index b5703485088b..b34882cd71fb 100644
--- a/arch/parisc/kernel/setup.c
+++ b/arch/parisc/kernel/setup.c
@@ -225,6 +225,7 @@ static void __init parisc_proc_mkdir(void)
225 } 225 }
226 break; 226 break;
227 case mako: 227 case mako:
228 case mako2:
228 if (NULL == proc_mckinley_root) 229 if (NULL == proc_mckinley_root)
229 { 230 {
230 proc_mckinley_root = proc_mkdir("bus/mckinley", NULL); 231 proc_mckinley_root = proc_mkdir("bus/mckinley", NULL);
diff --git a/include/asm-parisc/hardware.h b/include/asm-parisc/hardware.h
index 76d880dc4bae..daf58dd4ea07 100644
--- a/include/asm-parisc/hardware.h
+++ b/include/asm-parisc/hardware.h
@@ -31,7 +31,8 @@ enum cpu_type {
31 pcxw = 8, /* pa8500 pa 2.0 */ 31 pcxw = 8, /* pa8500 pa 2.0 */
32 pcxw_ = 9, /* pa8600 (w+) pa 2.0 */ 32 pcxw_ = 9, /* pa8600 (w+) pa 2.0 */
33 pcxw2 = 10, /* pa8700 pa 2.0 */ 33 pcxw2 = 10, /* pa8700 pa 2.0 */
34 mako = 11 /* pa8800 pa 2.0 */ 34 mako = 11, /* pa8800 pa 2.0 */
35 mako2 = 12 /* pa8900 pa 2.0 */
35}; 36};
36 37
37extern char *cpu_name_version[][2]; /* mapping from enum cpu_type to strings */ 38extern char *cpu_name_version[][2]; /* mapping from enum cpu_type to strings */
diff --git a/include/asm-parisc/processor.h b/include/asm-parisc/processor.h
index d2f396721d3e..0052dc926d91 100644
--- a/include/asm-parisc/processor.h
+++ b/include/asm-parisc/processor.h
@@ -334,8 +334,8 @@ extern unsigned long get_wchan(struct task_struct *p);
334static inline int parisc_requires_coherency(void) 334static inline int parisc_requires_coherency(void)
335{ 335{
336#ifdef CONFIG_PA8X00 336#ifdef CONFIG_PA8X00
337 /* FIXME: also pa8900 - when we see one */ 337 return (boot_cpu_data.cpu_type == mako) ||
338 return boot_cpu_data.cpu_type == mako; 338 (boot_cpu_data.cpu_type == mako2);
339#else 339#else
340 return 0; 340 return 0;
341#endif 341#endif