Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
device size property names: device-nblocks
An int64_t property representing device size in device-blksize blocks.
An integer property representing the size in bytes of a block. If defined, the value must be a power of two. If not defined, DEV_BSIZE is implied.
minor size property names: Size
An int64_t property representing the size in bytes of a character minor device (S_IFCHR spec_type in ddi_create_minor_node).
An int64_t property representing the number blocks, in device-blksize units, of a block minor device (S_IFBLK spec_type in ddi_create_minor_node).
An integer property representing the size in bytes of a block. If defined, the value must be a power of two. If not defined, DEV_BSIZE is implied.
A driver that implements both block and character minor device nodes should support both "Size" and "Nblocks". Typically, the following is true: Size = Nblocks * blksize.
A driver where all ddi_create_minor_node(9F) calls for a given instance are associated with the same physical block device should implement "device-nblocks". If the device has a fixed block size with a value other than DEV_BSIZE then "device-blksize" should be implemented.
The driver is responsible for ensuring that property values are updated when device, media, or partition sizes change. For each represented item, if its size is know to be zero, the property value should be zero. If its size is unknown, the property should not be defined.
A driver may choose to implement size properties within its prop_op(9E) implementation. This reduces system memory since no space is used to store the properties.
The DDI property interfaces deal in signed numbers. All Size(9P) values should be considered unsigned. It is the responsibility of the code dealing with the property value to ensure that an unsigned interpretation occurs.
ATTRIBUTE TYPE ATTRIBUTE VALUE |
Interface Stability Committed |
Writing Device Drivers