github.com/emc-advanced-dev/unik@v0.0.0-20190717152701-a58d3e8e33b7/containers/compilers/rump/base/patches/scsipi_component.c (about) 1 /* $NetBSD: scsipi_component.c,v 1.2 2016/01/26 23:12:16 pooka Exp $ */ 2 3 #include <sys/param.h> 4 #include <sys/conf.h> 5 #include <sys/device.h> 6 #include <sys/kmem.h> 7 #include <sys/stat.h> 8 #include <sys/disklabel.h> 9 10 #include "ioconf.c" 11 12 #include <rump-sys/kern.h> 13 #include <rump-sys/vfs.h> 14 15 RUMP_COMPONENT(RUMP_COMPONENT_DEV) 16 { 17 extern struct bdevsw sd_bdevsw, cd_bdevsw; 18 extern struct cdevsw sd_cdevsw, cd_cdevsw; 19 int i; 20 devmajor_t bmaj, cmaj; 21 22 char bDevice[] = "/dev/sd0"; 23 char cDevice[] = "/dev/rsd0"; 24 25 config_init_component(cfdriver_ioconf_scsipi, 26 cfattach_ioconf_scsipi, cfdata_ioconf_scsipi); 27 28 bmaj = cmaj = -1; 29 FLAWLESSCALL(devsw_attach("sd", &sd_bdevsw, &bmaj, &sd_cdevsw, &cmaj)); 30 31 for (i=0; i < 8; i++) { 32 bDevice[7] = '0' + i; 33 cDevice[8] = '0' + i; 34 35 FLAWLESSCALL(rump_vfs_makedevnodes(S_IFBLK, bDevice, 'a', 36 bmaj, MAXPARTITIONS*i, 8)); 37 FLAWLESSCALL(rump_vfs_makedevnodes(S_IFCHR, cDevice, 'a', 38 cmaj, MAXPARTITIONS*i, 8)); 39 } 40 41 bmaj = cmaj = -1; 42 FLAWLESSCALL(devsw_attach("cd", &cd_bdevsw, &bmaj, &cd_cdevsw, &cmaj)); 43 44 FLAWLESSCALL(rump_vfs_makedevnodes(S_IFBLK, "/dev/cd0", 'a', 45 bmaj, 0, 8)); 46 FLAWLESSCALL(rump_vfs_makedevnodes(S_IFCHR, "/dev/rcd0", 'a', 47 cmaj, 0, 8)); 48 }