1*97f8debdSpgoyette /* $NetBSD: scsipi_component.c,v 1.6 2022/03/31 19:30:17 pgoyette Exp $ */
2a57097d0Salnsn
3a57097d0Salnsn #include <sys/cdefs.h>
4*97f8debdSpgoyette __KERNEL_RCSID(0, "$NetBSD: scsipi_component.c,v 1.6 2022/03/31 19:30:17 pgoyette Exp $");
57e72c455Spooka
67e72c455Spooka #include <sys/param.h>
77e72c455Spooka #include <sys/conf.h>
87e72c455Spooka #include <sys/device.h>
97e72c455Spooka #include <sys/kmem.h>
107e72c455Spooka #include <sys/stat.h>
117e72c455Spooka
127e72c455Spooka #include "ioconf.c"
137e72c455Spooka
146bb51422Spooka #include <rump-sys/kern.h>
156bb51422Spooka #include <rump-sys/vfs.h>
167e72c455Spooka
RUMP_COMPONENT(RUMP_COMPONENT_DEV)177e72c455Spooka RUMP_COMPONENT(RUMP_COMPONENT_DEV)
187e72c455Spooka {
197e72c455Spooka extern struct bdevsw sd_bdevsw, cd_bdevsw;
207e72c455Spooka extern struct cdevsw sd_cdevsw, cd_cdevsw;
217e72c455Spooka devmajor_t bmaj, cmaj;
227e72c455Spooka
237e72c455Spooka bmaj = cmaj = -1;
247e72c455Spooka FLAWLESSCALL(devsw_attach("sd", &sd_bdevsw, &bmaj, &sd_cdevsw, &cmaj));
257e72c455Spooka
26*97f8debdSpgoyette config_init_component(cfdriver_ioconf_scsipi,
27*97f8debdSpgoyette cfattach_ioconf_scsipi, cfdata_ioconf_scsipi);
28*97f8debdSpgoyette
297e72c455Spooka FLAWLESSCALL(rump_vfs_makedevnodes(S_IFBLK, "/dev/sd0", 'a',
307e72c455Spooka bmaj, 0, 8));
317e72c455Spooka FLAWLESSCALL(rump_vfs_makedevnodes(S_IFCHR, "/dev/rsd0", 'a',
327e72c455Spooka cmaj, 0, 8));
337e72c455Spooka
347e72c455Spooka bmaj = cmaj = -1;
357e72c455Spooka FLAWLESSCALL(devsw_attach("cd", &cd_bdevsw, &bmaj, &cd_cdevsw, &cmaj));
367e72c455Spooka
377e72c455Spooka FLAWLESSCALL(rump_vfs_makedevnodes(S_IFBLK, "/dev/cd0", 'a',
387e72c455Spooka bmaj, 0, 8));
397e72c455Spooka FLAWLESSCALL(rump_vfs_makedevnodes(S_IFCHR, "/dev/rcd0", 'a',
407e72c455Spooka cmaj, 0, 8));
417e72c455Spooka }
42