11.6Spgoyette/*	$NetBSD: scsipi_component.c,v 1.6 2022/03/31 19:30:17 pgoyette Exp $	*/
21.4Spgoyette
31.4Spgoyette#include <sys/cdefs.h>
41.6Spgoyette__KERNEL_RCSID(0, "$NetBSD: scsipi_component.c,v 1.6 2022/03/31 19:30:17 pgoyette Exp $");
51.1Spooka
61.1Spooka#include <sys/param.h>
71.1Spooka#include <sys/conf.h>
81.1Spooka#include <sys/device.h>
91.1Spooka#include <sys/kmem.h>
101.1Spooka#include <sys/stat.h>
111.1Spooka
121.1Spooka#include "ioconf.c"
131.1Spooka
141.2Spooka#include <rump-sys/kern.h>
151.2Spooka#include <rump-sys/vfs.h>
161.1Spooka
171.1SpookaRUMP_COMPONENT(RUMP_COMPONENT_DEV)
181.1Spooka{
191.1Spooka	extern struct bdevsw sd_bdevsw, cd_bdevsw;
201.1Spooka	extern struct cdevsw sd_cdevsw, cd_cdevsw;
211.1Spooka	devmajor_t bmaj, cmaj;
221.1Spooka
231.6Spgoyette	bmaj = cmaj = -1;
241.6Spgoyette	FLAWLESSCALL(devsw_attach("sd", &sd_bdevsw, &bmaj, &sd_cdevsw, &cmaj));
251.6Spgoyette
261.1Spooka	config_init_component(cfdriver_ioconf_scsipi,
271.1Spooka	    cfattach_ioconf_scsipi, cfdata_ioconf_scsipi);
281.1Spooka
291.1Spooka	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFBLK, "/dev/sd0", 'a',
301.1Spooka	    bmaj, 0, 8));
311.1Spooka	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFCHR, "/dev/rsd0", 'a',
321.1Spooka	    cmaj, 0, 8));
331.1Spooka
341.1Spooka	bmaj = cmaj = -1;
351.1Spooka	FLAWLESSCALL(devsw_attach("cd", &cd_bdevsw, &bmaj, &cd_cdevsw, &cmaj));
361.1Spooka
371.1Spooka	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFBLK, "/dev/cd0", 'a',
381.1Spooka	    bmaj, 0, 8));
391.1Spooka	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFCHR, "/dev/rcd0", 'a',
401.1Spooka	    cmaj, 0, 8));
411.1Spooka}
42