summaryrefslogtreecommitdiff
path: root/sys/arch/hp300/stand/cdboot
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2011-08-18 20:02:59 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2011-08-18 20:02:59 +0000
commitd8a6b2508d19a028506f1028b66d6c2162f5b865 (patch)
treee7bea31207a9a2c323968f95a4b8ecec9206b9fb /sys/arch/hp300/stand/cdboot
parent10bf584eedef89396c2517839d033fced9385366 (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.c12
-rw-r--r--sys/arch/hp300/stand/cdboot/conf.c3
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