e9fe02f77c4df3e8fd05a02d65055ccb072a6b87
* Copyright (c) 1982, 1986 Regents of the University of California.
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
* @(#)swapgeneric.c 7.1 (Berkeley) %G%
#include "../vaxmba/mbareg.h"
#include "../vaxmba/mbavar.h"
#include "../vaxuba/ubareg.h"
#include "../vaxuba/ubavar.h"
* Generic configuration; all in one
struct swdevt swdevt
[] = {
int dmmin
, dmmax
, dmtext
;
extern struct mba_driver hpdriver
;
extern struct uba_driver scdriver
;
extern struct uba_driver hkdriver
;
extern struct uba_driver idcdriver
;
extern struct uba_driver hldriver
;
extern struct uba_driver udadriver
;
{ (caddr_t
)&hpdriver
, "hp", makedev(0, 0), },
{ (caddr_t
)&scdriver
, "up", makedev(2, 0), },
{ (caddr_t
)&udadriver
, "ra", makedev(9, 0), },
{ (caddr_t
)&idcdriver
, "rb", makedev(11, 0), },
{ (caddr_t
)&hldriver
, "rl", makedev(14, 0), },
{ (caddr_t
)&hkdriver
, "hk", makedev(3, 0), },
{ (caddr_t
)&hkdriver
, "rk", makedev(3, 0), },
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
) {
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);
/* swap size and dumplo set during autoconfigure */
while ((mfpr(RXCS
)&RXCS_DONE
) == 0)