Lines Matching defs:devid

178 dev_t mdevadd(int devid, uint64_t base, unsigned int size, int phys);
179 dev_t mdevlookup(int devid);
190 int devid;
192 devid = minor(dev); /* Get minor device number */
194 if (devid > 16) return (ENXIO); /* Not valid */
196 if ((flags & FWRITE) && (mdev[devid].mdFlags & mdRO)) return (EACCES); /* Currently mounted RO */
204 int devid;
207 devid = minor(dev); /* Get minor device number */
209 if (devid > 16) return (ENXIO); /* Not valid */
210 if (!(mdev[devid].mdFlags & mdInited)) return (ENXIO); /* Have we actually been defined yet? */
212 mdata = ((addr64_t)mdev[devid].mdBase << 12) + uio->uio_offset; /* Point to the area in "file" */
221 if (mdev[devid].mdFlags & mdPhys) {
238 int devid;
242 devid = minor(buf_device(bp)); /* Get minor device number */
244 if ((mdev[devid].mdFlags & mdInited) == 0) { /* Have we actually been defined yet? */
252 blkoff = buf_blkno(bp) * mdev[devid].mdSecsize; /* Get offset into file */
259 if (blkoff >= (mdev[devid].mdSize << 12)) { /* Are they trying to read/write at/after end? */
260 if(blkoff != (mdev[devid].mdSize << 12)) { /* Are we trying to read after EOF? */
267 if ((blkoff + buf_count(bp)) > (mdev[devid].mdSize << 12)) { /* Will this read go past end? */
268 buf_setcount(bp, ((mdev[devid].mdSize << 12) - blkoff)); /* Yes, trim to max */
277 fvaddr = (mdev[devid].mdBase << 12) + blkoff; /* Point to offset into ram disk */
280 if(!(mdev[devid].mdFlags & mdPhys)) { /* Physical mapped disk? */
306 if(!(mdev[devid].mdFlags & mdPhys)) { /* Physical mapped disk? */
356 int devid;
358 devid = minor(dev); /* Get minor device number */
360 if (devid > 16) return (ENXIO); /* Not valid */
387 *f = mdev[devid].mdSecsize;
395 mdev[devid].mdSecsize = *f; /* set the new block size */
403 if(!(mdev[devid].mdFlags & mdInited)) return (ENXIO);
404 *f = ((mdev[devid].mdSize << 12) + mdev[devid].mdSecsize - 1) / mdev[devid].mdSecsize;
408 if(!(mdev[devid].mdFlags & mdInited)) return (ENXIO);
409 *o = ((mdev[devid].mdSize << 12) + mdev[devid].mdSecsize - 1) / mdev[devid].mdSecsize;
422 int devid;
424 devid = minor(dev); /* Get minor device number */
425 if (devid > 16) return (ENXIO); /* Not valid */
427 if ((mdev[devid].mdFlags & mdInited) == 0) return(-1); /* Not inited yet */
429 return(mdev[devid].mdSecsize);
438 int devid, phys;
463 devid = ba[3] & 0xF; /* Assume digit */
464 if(ba[3] > '9') devid += 9; /* Adjust for hex digits */
479 dev = mdevadd(devid, base >> 12, (unsigned)size >> 12, phys); /* Go add the device */
546 dev_t mdevadd(int devid, uint64_t base, unsigned int size, int phys) {
550 if(devid < 0) {
552 devid = -1;
555 if(devid < 0)devid = i; /* Remember first free one */
562 if(devid < 0) { /* Do we have free slots? */
567 if(devid >= 16) { /* Giving us something bogus? */
568 panic("mdevadd: attempt to explicitly add a bogus memory device: %08X\n", devid);
570 if(mdev[devid].mdFlags & mdInited) { /* Already there? */
571 panic("mdevadd: attempt to explicitly add a previously defined memory device: %08X\n", devid);
591 mdev[devid].mdBDev = makedev(mdevBMajor, devid); /* Get the device number */
592 mdev[devid].mdbdevb = devfs_make_node(mdev[devid].mdBDev, DEVFS_BLOCK, /* Make the node */
594 0600, "md%d", devid);
595 if (mdev[devid].mdbdevb == NULL) { /* Did we make one? */
600 mdev[devid].mdCDev = makedev(mdevCMajor, devid); /* Get the device number */
601 mdev[devid].mdcdevb = devfs_make_node(mdev[devid].mdCDev, DEVFS_CHAR, /* Make the node */
603 0600, "rmd%d", devid);
604 if (mdev[devid].mdcdevb == NULL) { /* Did we make one? */
609 mdev[devid].mdBase = base; /* Set the base address of ram disk */
610 mdev[devid].mdSize = size; /* Set the length of the ram disk */
611 mdev[devid].mdSecsize = DEV_BSIZE; /* Set starting block size */
612 if(phys) mdev[devid].mdFlags |= mdPhys; /* Show that we are in physical memory */
613 mdev[devid].mdFlags |= mdInited; /* Show we are all set up */
615 devid, devid, mdev[devid].mdBDev, mdev[devid].mdCDev, base << 12, (uint64_t)size << 12);
616 return mdev[devid].mdBDev;
620 dev_t mdevlookup(int devid) {
622 if((devid < 0) || (devid > 15)) return -1; /* Filter any bogus requests */
623 if(!(mdev[devid].mdFlags & mdInited)) return -1; /* This one hasn't been defined */
624 return mdev[devid].mdBDev; /* Return the device number */