[OpenBIOS] r173 - openbios-devel/drivers

svn at openbios.org svn at openbios.org
Fri Nov 9 21:40:09 CET 2007


Author: blueswirl
Date: 2007-11-09 21:40:09 +0100 (Fri, 09 Nov 2007)
New Revision: 173

Modified:
   openbios-devel/drivers/obio.c
Log:
More CPU definitions

Modified: openbios-devel/drivers/obio.c
===================================================================
--- openbios-devel/drivers/obio.c	2007-11-07 16:00:02 UTC (rev 172)
+++ openbios-devel/drivers/obio.c	2007-11-09 20:40:09 UTC (rev 173)
@@ -407,6 +407,12 @@
 
 }
 
+static void bad_cpu_init(void)
+{
+    printk("This CPU is not supported yet, freezing.\n");
+    for(;;);
+}
+
 struct cpudef {
     unsigned long iu_version;
     const char *name;
@@ -420,6 +426,11 @@
 
 static const struct cpudef sparc_defs[] = {
     {
+        .iu_version = 0x00 << 24, /* Impl 0, ver 0 */
+        .name = "FMI,MB86900",
+        .initfn = bad_cpu_init,
+    },
+    {
         .iu_version = 0x04 << 24, /* Impl 0, ver 4 */
         .name = "FMI,MB86904",
         .psr_impl = 0,
@@ -458,6 +469,45 @@
         .initfn = mb86904_init,
     },
     {
+        .iu_version = 0x10 << 24, /* Impl 1, ver 0 */
+        .name = "LSI,L64811",
+        .initfn = bad_cpu_init,
+    },
+    {
+        .iu_version = 0x11 << 24, /* Impl 1, ver 1 */
+        .name = "CY,CY7C601",
+        .psr_impl = 1,
+        .psr_vers = 1,
+        .impl = 1,
+        .vers = 1,
+        .mmu_nctx = 0x10,
+        .initfn = bad_cpu_init,
+    },
+    {
+        .iu_version = 0x13 << 24, /* Impl 1, ver 3 */
+        .name = "CY,CY7C611",
+        .initfn = bad_cpu_init,
+    },
+    {
+        .iu_version = 0x40000000,
+        .name = "TI,TMS390Z55",
+        .psr_impl = 4,
+        .psr_vers = 0,
+        .impl = 0,
+        .vers = 4,
+        .dcache_line_size = 0x20,
+        .dcache_lines = 0x80,
+        .dcache_assoc = 4,
+        .icache_line_size = 0x40,
+        .icache_lines = 0x40,
+        .icache_assoc = 5,
+        .ecache_line_size = 0x20,
+        .ecache_lines = 0x8000,
+        .ecache_assoc = 1,
+        .mmu_nctx = 0x10000,
+        .initfn = tms390z55_init,
+    },
+    {
         .iu_version = 0x41000000,
         .name = "TI,TMS390S10",
         .psr_impl = 4,
@@ -477,17 +527,55 @@
         .initfn = tms390z55_init,
     },
     {
-        .iu_version = 0x40000000,
-        .name = "TI,TMS390Z55",
+        .iu_version = 0x42000000,
+        .name = "TI,TMS390S10",
         .psr_impl = 4,
-        .psr_vers = 0,
-        .impl = 0,
+        .psr_vers = 2,
+        .impl = 4,
+        .vers = 2,
+        .dcache_line_size = 0x10,
+        .dcache_lines = 0x80,
+        .dcache_assoc = 4,
+        .icache_line_size = 0x20,
+        .icache_lines = 0x80,
+        .icache_assoc = 5,
+        .ecache_line_size = 0x20,
+        .ecache_lines = 0x8000,
+        .ecache_assoc = 1,
+        .mmu_nctx = 0x10000,
+        .initfn = tms390z55_init,
+    },
+    {
+        .iu_version = 0x43000000,
+        .name = "TI,TMS390S10",
+        .psr_impl = 4,
+        .psr_vers = 3,
+        .impl = 4,
+        .vers = 3,
+        .dcache_line_size = 0x10,
+        .dcache_lines = 0x80,
+        .dcache_assoc = 4,
+        .icache_line_size = 0x20,
+        .icache_lines = 0x80,
+        .icache_assoc = 5,
+        .ecache_line_size = 0x20,
+        .ecache_lines = 0x8000,
+        .ecache_assoc = 1,
+        .mmu_nctx = 0x10000,
+        .initfn = tms390z55_init,
+    },
+    {
+        .iu_version = 0x44000000,
+        .name = "TI,TMS390S10",
+        .psr_impl = 4,
+        .psr_vers = 4,
+        .impl = 4,
         .vers = 4,
-        .dcache_line_size = 0x20,
+        .dcache_line_size = 0x10,
         .dcache_lines = 0x80,
         .dcache_assoc = 4,
-        .icache_line_size = 0x40,
-        .icache_lines = 0x40,
+        .icache_line_size = 0x20,
+        .icache_lines = 0x80,
         .icache_assoc = 5,
         .ecache_line_size = 0x20,
         .ecache_lines = 0x8000,
@@ -514,6 +602,50 @@
         .mmu_nctx = 0x10000,
         .initfn = rt625_init,
     },
+    {
+        .iu_version = 0x1f000000,
+        .name = "Ross,RT620",
+        .psr_impl = 1,
+        .psr_vers = 15,
+        .impl = 1,
+        .vers = 7,
+        .dcache_line_size = 0x20,
+        .dcache_lines = 0x80,
+        .dcache_assoc = 4,
+        .icache_line_size = 0x40,
+        .icache_lines = 0x40,
+        .icache_assoc = 5,
+        .ecache_line_size = 0x20,
+        .ecache_lines = 0x8000,
+        .ecache_assoc = 1,
+        .mmu_nctx = 0x10000,
+        .initfn = rt625_init,
+    },
+    {
+        .iu_version = 0x20000000,
+        .name = "BIT,B5010",
+        .initfn = bad_cpu_init,
+    },
+    {
+        .iu_version = 0x50000000,
+        .name = "MC,MN10501",
+        .initfn = bad_cpu_init,
+    },
+    {
+        .iu_version = 0x90 << 24, /* Impl 9, ver 0 */
+        .name = "Weitek,W8601",
+        .initfn = bad_cpu_init,
+    },
+    {
+        .iu_version = 0xf2000000,
+        .name = "GR,LEON2",
+        .initfn = bad_cpu_init,
+    },
+    {
+        .iu_version = 0xf3000000,
+        .name = "GR,LEON3",
+        .initfn = bad_cpu_init,
+    },
 };
 
 static const struct cpudef *
@@ -637,14 +769,15 @@
         for (;;);
     }
     // Add cpus
-    printk("CPUs: %x\n", nv_info.smp_cpus);
+    printk("CPUs: %x", nv_info.smp_cpus);
+    cpu = id_cpu();
+    printk(" x %s\n", cpu->name);
     for (i = 0; i < (unsigned int)nv_info.smp_cpus; i++) {
         push_str("/");
         fword("find-device");
 
         fword("new-device");
 
-        cpu = id_cpu();
         push_str(cpu->name);
         fword("device-name");
 




More information about the OpenBIOS mailing list