diff options
-rw-r--r-- | sys/arch/hp300/stand/machdep.c | 24 | ||||
-rw-r--r-- | sys/arch/hp300/stand/samachdep.h | 4 | ||||
-rw-r--r-- | sys/arch/hp300/stand/srt0.s | 12 |
3 files changed, 31 insertions, 9 deletions
diff --git a/sys/arch/hp300/stand/machdep.c b/sys/arch/hp300/stand/machdep.c index 2dbf83e01d0..227957c36cf 100644 --- a/sys/arch/hp300/stand/machdep.c +++ b/sys/arch/hp300/stand/machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: machdep.c,v 1.6 1997/07/13 07:21:50 downsj Exp $ */ +/* $OpenBSD: machdep.c,v 1.7 1997/07/13 09:43:31 downsj Exp $ */ /* $NetBSD: machdep.c,v 1.4 1997/06/28 07:20:25 thorpej Exp $ */ /* @@ -49,7 +49,7 @@ char * getmachineid() { - extern int machineid; + extern int machineid, mmuid; char *cp; switch (machineid) { @@ -74,9 +74,25 @@ getmachineid() case HP_400: cp = "400"; break; case HP_425: - cp = "425"; break; + switch (mmuid) { + case MMUID_425_T: + cp = "425t"; break; + case MMUID_425_S: + cp = "425s"; break; + default: + cp = "425"; break; + } + break; case HP_433: - cp = "433"; break; + switch (mmuid) { + case MMUID_433_T: + cp = "433t"; break; + case MMUID_433_S: + cp = "433s"; break; + default: + cp = "433"; break; + } + break; default: cp = "???"; break; } diff --git a/sys/arch/hp300/stand/samachdep.h b/sys/arch/hp300/stand/samachdep.h index d348e0b6fc7..cc7c3882227 100644 --- a/sys/arch/hp300/stand/samachdep.h +++ b/sys/arch/hp300/stand/samachdep.h @@ -1,4 +1,4 @@ -/* $OpenBSD: samachdep.h,v 1.4 1997/07/13 07:21:52 downsj Exp $ */ +/* $OpenBSD: samachdep.h,v 1.5 1997/07/13 09:43:32 downsj Exp $ */ /* $NetBSD: samachdep.h,v 1.3 1997/05/12 07:54:45 thorpej Exp $ */ /* @@ -61,7 +61,7 @@ #define MHZ_33 4 #define MHZ_50 6 -extern int cpuspeed, machineid; +extern int cpuspeed, machineid, mmuid; extern int howto; extern int cons_scode; extern u_int opendev; diff --git a/sys/arch/hp300/stand/srt0.s b/sys/arch/hp300/stand/srt0.s index d3ca9dd3e8a..894a0d44ce3 100644 --- a/sys/arch/hp300/stand/srt0.s +++ b/sys/arch/hp300/stand/srt0.s @@ -1,4 +1,4 @@ -/* $OpenBSD: srt0.s,v 1.4 1997/07/13 07:21:53 downsj Exp $ */ +/* $OpenBSD: srt0.s,v 1.5 1997/07/13 09:43:32 downsj Exp $ */ /* $NetBSD: srt0.s,v 1.2 1997/03/10 08:00:47 thorpej Exp $ */ /* @@ -54,7 +54,7 @@ .globl _configure .globl __rtt .globl _bootdev,_howto,_lowram,_machineid - .globl _internalhpib + .globl _internalhpib,_mmuid STACK = 0xfffff000 | below the ROM page BOOTTYPE = 0xfffffdc0 @@ -77,6 +77,8 @@ _lowram: .long 0 _machineid: .long 0 +_mmuid: + .long 0 .text begin: @@ -89,9 +91,11 @@ vecloop: dbf d0,vecloop | go til done movl #NMIRESET,a0 | NMI keyboard reset addr movl #nmi,a0@ | catch in reset routine + /* - * Determine our SPU type and look for internal HP-IB + * Determine our CPU type and look for internal HP-IB */ + lea _machineid,a0 movl #0x808,d0 movc d0,cacr | clear and disable on-chip cache(s) @@ -128,6 +132,7 @@ not370: jeq ihpibcheck | no, a 360 lsrl #8,d0 | save MMU ID andl #0xff,d0 + movl d0,_mmuid | save mmuid cmpb #1,d0 | are we a 345? jeq isa345 cmpb #3,d0 | how about a 375? @@ -167,6 +172,7 @@ not68030: movl MMUCMD,d0 | get MMU register lsrl #8,d0 andl #0xff,d0 + movl d0,_mmuid | save mmuid cmpb #5,d0 | are we a 425t? jeq isa425 cmpb #7,d0 | how about 425s? |