xref: /netbsd-src/sys/rump/dev/lib/libscsipi/scsipi_component.c (revision 97f8debd624665fdeaf9373bf4602036de3fcd85)
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