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
35
36
37
38
39
40
41
42
43
|
/* $NetBSD: component.c,v 1.3 2010/03/08 10:54:21 pooka Exp $ */
#include <sys/param.h>
#include <sys/conf.h>
#include <sys/device.h>
#include <sys/mount.h>
#include <sys/stat.h>
#include "ioconf.c"
#include "rump_private.h"
#include "rump_dev_private.h"
#include "rump_vfs_private.h"
#define FLAWLESSCALL(call) \
do { \
int att_error; \
if ((att_error = call) != 0) \
panic("\"%s\" failed", #call); \
} while (/*CONSTCOND*/0)
RUMP_COMPONENT(RUMP_COMPONENT_DEV)
{
extern struct cdevsw wskbd_cdevsw, wsmouse_cdevsw;
devmajor_t bmaj, cmaj;
FLAWLESSCALL(config_cfdata_attach(cfdata_wscons, 0));
FLAWLESSCALL(config_cfdriver_attach(&wskbd_cd));
FLAWLESSCALL(config_cfattach_attach("wskbd", &wskbd_ca));
FLAWLESSCALL(config_cfdriver_attach(&wsmouse_cd));
FLAWLESSCALL(config_cfattach_attach("wsmouse", &wsmouse_ca));
bmaj = cmaj = -1;
FLAWLESSCALL(devsw_attach("wskbd", NULL, &bmaj, &wskbd_cdevsw, &cmaj));
FLAWLESSCALL(rump_vfs_makeonedevnode(S_IFCHR, "/dev/wskbd", cmaj, 0));
bmaj = cmaj = -1;
FLAWLESSCALL(devsw_attach("wsmouse", NULL, &bmaj,
&wsmouse_cdevsw, &cmaj));
FLAWLESSCALL(rump_vfs_makeonedevnode(S_IFCHR, "/dev/wsmouse", cmaj, 0));
}
|