summaryrefslogtreecommitdiff
path: root/sys/arch/sun3/stand/libsa/devopen.c
blob: 902bf85554881abdebcf3d9732f2abc45590786c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*	$OpenBSD: devopen.c,v 1.4 2002/03/14 03:16:01 millert Exp $	*/


#include <sys/param.h>
#include <machine/mon.h>
#include <stand.h>
#include "promboot.h"

/*
 * Open the device named by the combined device/file name
 * given as the "fname" arg, something like: "sd()bsd"
 *
 * However, Sun PROMs don't really let you choose which
 * device you will talk to.  You can only open the device
 * that was used to load the boot program.  Therefore, we
 * do not accept a "device" part in the "fname" string.
 * Pass the PROM device name to open in case it needs it.
 */
int
devopen(f, fname, file)
	struct open_file *f;
	const char *fname;
	char **file;
{
	struct devsw *dp;
	int error;

	*file = (char *)fname;
	dp = &devsw[0];
	f->f_dev = dp;
	error = (*dp->dv_open)(f, prom_bootdev);

	return (error);
}