/* swapgeneric.c 4.2 82/05/27 */
* Generic configuration; all in one
dev_t rootdev
, argdev
, dumpdev
;
extern struct mba_driver hpdriver
;
extern struct uba_driver scdriver
;
extern struct uba_driver hkdriver
;
extern struct uba_driver idcdriver
;
extern struct uba_driver udadriver
;
(caddr_t
)&hpdriver
, "hp", makedev(0, 0), 33440, 33440 - 10*2048,
(caddr_t
)&scdriver
, "up", makedev(2, 0), 33440, 33440 - 10*2048,
(caddr_t
)&udadriver
, "ra", makedev(9, 0), 33440, 33440 - 10*2048,
(caddr_t
)&idcdriver
, "rb", makedev(11, 0),33440, 33440 - 10*2048,
(caddr_t
)&idcdriver
, "rl", makedev(11, 0), 4480, 0,
(caddr_t
)&hkdriver
, "hk", makedev(3, 0), 10032, 10032 - 2*(2048+1024),
register struct mba_device
*mi
;
register struct uba_device
*ui
;
register struct genericconf
*gc
;
int unit
, swaponroot
= 0;
if (boothowto
& RB_ASKNAME
) {
for (gc
= genericconf
; gc
->gc_driver
; gc
++)
if (gc
->gc_name
[0] == name
[0] &&
gc
->gc_name
[1] == name
[1])
if (name
[2] >= '0' && name
[2] <= '7' && name
[3] == 0) {
printf("bad/missing unit number\n");
printf("use hp%%d, up%%d, ra%%d, rb%%d, rl%%d or hk%%d\n");
for (gc
= genericconf
; gc
->gc_driver
; gc
++) {
for (mi
= mbdinit
; mi
->mi_driver
; mi
++) {
if (mi
->mi_unit
== 0 && mi
->mi_driver
==
(struct mba_driver
*)gc
->gc_driver
) {
printf("root on %s0\n", mi
->mi_driver
->md_dname
);
for (ui
= ubdinit
; ui
->ui_driver
; ui
++) {
if (ui
->ui_unit
== 0 && ui
->ui_driver
==
(struct uba_driver
*)gc
->gc_driver
) {
ui
->ui_driver
->ud_dname
);
printf("no suitable root\n");
gc
->gc_root
= makedev(major(gc
->gc_root
), unit
*8);
swdevt
[0].sw_dev
= argdev
= dumpdev
=
makedev(major(rootdev
), minor(rootdev
)+1);
while((mfpr(RXCS
)&RXCS_DONE
) == 0)