[PARISC] Let PA-8900 processors boot
authorKyle McMartin <kyle@parisc-linux.org>
Tue, 27 Mar 2007 20:47:49 +0000 (16:47 -0400)
committerKyle McMartin <kyle@athena.road.mcmartin.ca>
Wed, 23 May 2007 02:43:55 +0000 (22:43 -0400)
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
arch/parisc/kernel/hardware.c
arch/parisc/kernel/perf.c
arch/parisc/kernel/setup.c
include/asm-parisc/hardware.h
include/asm-parisc/processor.h

index 18ba4cb9159b22a2d3ae1f3462e3761336a76a97..e365f03118810538a92d2024bfc71d7bebd817fd 100644 (file)
@@ -1296,6 +1296,7 @@ static struct hp_cpu_type_mask {
        { 0x05f0, 0x0ff0, pcxw2  },  /* 0x05f0 - 0x05ff */
        { 0x0600, 0x0fe0, pcxl   },  /* 0x0600 - 0x061f */
        { 0x0880, 0x0ff0, mako   },  /* 0x0880 - 0x088f */
+       { 0x0890, 0x0ff0, mako2  },  /* 0x0890 - 0x089f */
        { 0x0000, 0x0000, pcx    }      /* terminate table */
 };
 
@@ -1311,7 +1312,8 @@ char *cpu_name_version[][2] = {
        [pcxw]  = { "PA8500 (PCX-W)",   "2.0" },
        [pcxw_] = { "PA8600 (PCX-W+)",  "2.0" },
        [pcxw2] = { "PA8700 (PCX-W2)",  "2.0" },
-       [mako]  = { "PA8800 (Mako)",    "2.0" }
+       [mako]  = { "PA8800 (Mako)",    "2.0" },
+       [mako2] = { "PA8900 (Shortfin)",        "2.0" }
 };
 
 const char * __init
index a46bc62b643e46373144142f7c010a3644f41a19..08717380e025b7784637e56b1371656a97fa0e5b 100644 (file)
@@ -511,10 +511,12 @@ static int __init perf_init(void)
        } else if (boot_cpu_data.cpu_type == pcxw ||
                 boot_cpu_data.cpu_type == pcxw_ ||
                 boot_cpu_data.cpu_type == pcxw2 ||
-                boot_cpu_data.cpu_type == mako) {
+                boot_cpu_data.cpu_type == mako ||
+                boot_cpu_data.cpu_type == mako2) {
                perf_processor_interface = CUDA_INTF;
                if (boot_cpu_data.cpu_type == pcxw2 ||
-                   boot_cpu_data.cpu_type == mako) 
+                   boot_cpu_data.cpu_type == mako ||
+                   boot_cpu_data.cpu_type == mako2)
                        bitmask_array = perf_bitmasks_piranha;
        } else {
                perf_processor_interface = UNKNOWN_INTF;
index b5703485088b50927cd723c2c294a527734761dc..b34882cd71fbe4d1903be873674c0a39234b991c 100644 (file)
@@ -225,6 +225,7 @@ static void __init parisc_proc_mkdir(void)
                 }
                 break;
        case mako:
+       case mako2:
                 if (NULL == proc_mckinley_root)
                 {
                         proc_mckinley_root = proc_mkdir("bus/mckinley", NULL);
index 76d880dc4baebb4de2e62185cc78197c92be4768..daf58dd4ea078cdae2419efd66a651e5847b725c 100644 (file)
@@ -31,7 +31,8 @@ enum cpu_type {
        pcxw    = 8, /* pa8500          pa 2.0  */
        pcxw_   = 9, /* pa8600  (w+)    pa 2.0  */
        pcxw2   = 10, /* pa8700         pa 2.0  */
-       mako    = 11  /* pa8800         pa 2.0  */
+       mako    = 11, /* pa8800         pa 2.0  */
+       mako2   = 12  /* pa8900         pa 2.0  */
 };
 
 extern char *cpu_name_version[][2]; /* mapping from enum cpu_type to strings */
index d2f396721d3eb9461c41c307dc6d6da7c93d7f63..0052dc926d91da995f1a32078bd7fb5c18f38db3 100644 (file)
@@ -334,8 +334,8 @@ extern unsigned long get_wchan(struct task_struct *p);
 static inline int parisc_requires_coherency(void)
 {
 #ifdef CONFIG_PA8X00
-       /* FIXME: also pa8900 - when we see one */
-       return boot_cpu_data.cpu_type == mako;
+       return (boot_cpu_data.cpu_type == mako) ||
+               (boot_cpu_data.cpu_type == mako2);
 #else
        return 0;
 #endif