diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2011-08-18 20:02:59 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2011-08-18 20:02:59 +0000 |
commit | d8a6b2508d19a028506f1028b66d6c2162f5b865 (patch) | |
tree | e7bea31207a9a2c323968f95a4b8ecec9206b9fb /sys/arch/hp300/stand/cdboot | |
parent | 10bf584eedef89396c2517839d033fced9385366 (diff) |
So, it turns out that models 362 and 382 built-in frame buffer only shows up
in DIO-II space, as a fat device spanning four select codes (i.e. 16MB of
memory). This is way too much for an at-most 2 Mpixel 8bit frame buffer, and
it turns out that this is because the device provides both a regular DIO-II
frame buffer (spanning two select codes) and a regular STI frame buffer
(spanning the other two select codes).
This commit introduces a straightforward sti@dio attachment to get a working
sti(4) and wsdisplay(4) in a ridiculously small number of lines; however
the console code needs some changes to avoid duplicating globals.
While there, add sti@dio support for the bootblocks, and I couldn't help
myself but clean the most rotten parts of them, and try to have them reuse
various files in sys/arch/hp300/dev instead of rolling their outdated ones.
Tested on a real 382 with the low-resolution frame buffer:
sti0 at dio0 scode 132: rev 8.02;129, ID 0x27134CB440A00499
sti0: 382V, 2048x512 frame buffer, 640x480x8 display
sti0: 8x16 font type 1, 16 bpc, charset 0-255
wsdisplay0 at sti0 mux 1: console (std, vt100 emulation)
Boot blocks updates tested on DIO-II 425t (serial/glass console), SGC 425e
(serial/glass console) and 382 (serial/glass console). And will be tested
on SGC 425t soon as well.
Diffstat (limited to 'sys/arch/hp300/stand/cdboot')
-rw-r--r-- | sys/arch/hp300/stand/cdboot/cdboot.c | 12 | ||||
-rw-r--r-- | sys/arch/hp300/stand/cdboot/conf.c | 3 |
2 files changed, 8 insertions, 7 deletions
diff --git a/sys/arch/hp300/stand/cdboot/cdboot.c b/sys/arch/hp300/stand/cdboot/cdboot.c index 928e81758ae..3d4352b54f9 100644 --- a/sys/arch/hp300/stand/cdboot/cdboot.c +++ b/sys/arch/hp300/stand/cdboot/cdboot.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cdboot.c,v 1.7 2007/05/29 00:03:09 deraadt Exp $ */ +/* $OpenBSD: cdboot.c,v 1.8 2011/08/18 20:02:58 miod Exp $ */ /* $NetBSD: uboot.c,v 1.3 1997/04/27 21:17:13 thorpej Exp $ */ /*- @@ -47,8 +47,6 @@ * information. */ -char line[100]; - extern u_int opendev; extern char *lowram; extern int noconsole; @@ -58,7 +56,6 @@ extern const char version[]; /* * XXX UFS accepts a /, NFS doesn't. */ -char *name; char *names[] = { #ifdef OSREV OSREV "/hp300/bsd.rd", @@ -67,21 +64,26 @@ char *names[] = { }; #define NUMNAMES (sizeof(names) / sizeof(char *)) +#if 0 static int bdev, badapt, bctlr, bunit, bpart; +#endif int -main() +main(void) { int currname = 0; + char *name; printf("\n>> OpenBSD [%dKB] CDROM BOOT %s HP 9000/%s CPU\n", (__LDPGSZ / 1024), version, getmachineid()); +#if 0 bdev = B_TYPE(bootdev); badapt = B_ADAPTOR(bootdev); bctlr = B_CONTROLLER(bootdev); bunit = B_UNIT(bootdev); bpart = B_PARTITION(bootdev); +#endif for (;;) { name = names[currname++]; diff --git a/sys/arch/hp300/stand/cdboot/conf.c b/sys/arch/hp300/stand/cdboot/conf.c index 123a57554f2..ce0ad14d5b3 100644 --- a/sys/arch/hp300/stand/cdboot/conf.c +++ b/sys/arch/hp300/stand/cdboot/conf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: conf.c,v 1.6 2011/03/13 00:13:52 deraadt Exp $ */ +/* $OpenBSD: conf.c,v 1.7 2011/08/18 20:02:58 miod Exp $ */ /* $NetBSD: conf.c,v 1.12 1996/10/14 07:29:15 thorpej Exp $ */ /* @@ -87,7 +87,6 @@ struct punitsw punitsw[] = { { xxpunit }, { sdpunit }, }; -int npunit = (sizeof(punitsw) / sizeof(punitsw[0])); /* * Filesystem configuration |