X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/1c79356b52d46aa6b508fb032f5ae709b1f2897b..d7e50217d7adf6e52786a38bcaa4cd698cb9a79e:/bsd/dev/ppc/conf.c diff --git a/bsd/dev/ppc/conf.c b/bsd/dev/ppc/conf.c index 0030fe927..ba13fc3ee 100644 --- a/bsd/dev/ppc/conf.c +++ b/bsd/dev/ppc/conf.c @@ -3,19 +3,22 @@ * * @APPLE_LICENSE_HEADER_START@ * - * The contents of this file constitute Original Code as defined in and - * are subject to the Apple Public Source License Version 1.1 (the - * "License"). You may not use this file except in compliance with the - * License. Please obtain a copy of the License at - * http://www.apple.com/publicsource and read it before using this file. + * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. * - * This Original Code and all software distributed under the License are - * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the - * License for the specific language governing rights and limitations - * under the License. + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. * * @APPLE_LICENSE_HEADER_END@ */ @@ -231,17 +234,19 @@ isdisk(dev, type) dev_t dev; int type; { - switch (major(dev)) { - case 1: /* fd: floppy */ - case 6: /* sd: scsi disk */ - case 3: /* ide: */ - if (type == VBLK) - return(1); - break; - case 14: /* sd: scsi disk */ - case 41: /* fd: floppy */ - if (type == VCHR) - return(1); + dev_t maj = major(dev); + + switch (type) { + case VCHR: + maj = chrtoblk(maj); + if (maj == NODEV) { + break; + } + /* FALL THROUGH */ + case VBLK: + if (bdevsw[maj].d_type == D_DISK) { + return (1); + } break; } return(0); @@ -291,6 +296,17 @@ chrtoblk(dev) return(makedev(blkmaj, minor(dev))); } +int +chrtoblk_set(int cdev, int bdev) +{ + if (cdev >= nchrdev) + return (NODEV); + if (bdev != NODEV && bdev >= nblkdev) + return (NODEV); + chrtoblktab[cdev] = bdev; + return 0; +} + /* * Returns true if dev is /dev/mem or /dev/kmem. */