* Copyright (c) 1988 University of Utah.
* Copyright (c) 1990 The Regents of the University of California.
* This code is derived from software contributed to Berkeley by
* the Systems Programming Group of the University of Utah Computer
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* from: Utah $Hdr: autoconf.c 1.13 91/01/21$
* @(#)autoconf.c 7.5 (Berkeley) 5/7/91
#include "../dev/device.h"
#include "../dev/grfvar.h"
struct hp_hw sc_table
[MAXCTLRS
];
struct rominfo
*rp
= (struct rominfo
*)ROMADDR
;
printf("boottype %x, name %s, lowram %x, sysflag %x\n",
rp
->boottype
, rp
->name
, rp
->lowram
, rp
->sysflag
&0xff);
printf("rambase %x, ndrives %x, sysflag2 %x, msus %x\n",
rp
->rambase
, rp
->ndrives
, rp
->sysflag2
&0xff, rp
->msus
);
if (sc
== 7 && internalhpib
)
return(DIOBASE
+ sc
* DIOCSIZE
);
return(DIOIIBASE
+ (sc
- 132) * DIOIICSIZE
);
* Probe all DIO select codes (0 - 32), the internal display address,
* and DIO-II select codes (132 - 256).
* Note that we only care about displays, SCSIs and HP-IBs.
register struct hp_hw
*hw
;
sctop
= machineid
== HP_320
? 32 : 256;
for (sc
= -1; sc
< sctop
; sc
++) {
if (sc
>= 32 && sc
< 132)
addr
= (caddr_t
) sctoaddr(sc
);
id_reg
= (u_char
*) addr
;
hw
->hw_size
= (id_reg
[0x101] + 1) * 0x100000;
* Not all internal HP-IBs respond rationally to id requests
* so we just go by the "internal HPIB" indicator in SYSFLAG.
if (sc
== 7 && internalhpib
) {
case 5+128: /* 98642A remote */
hw
->hw_secid
= id_reg
[0x15];
case 4: /* renaissance */
sc
++; /* occupy 2 select codes */
hw
->hw_type
= D_KEYBOARD
;