内に含ま
その他のドキュメント
サポート リソース
| PDF 文書ファイルをダウンロードする
Index
Symbols
A
| |
| adb(1) command | 360 |
| add_drv(1M) command | 342 |
| address spaces | 2 |
| ANSI C compliance | 70, 386 |
| attach(9E) entry point | 101 |
| autoconfiguration |
| .....of block devices | 208 |
| .....of character devices | 180 |
| .....of SCSI drivers | 263, 301 |
| .....routines | 56 |
| autoshutdown threshold | 166 |
| autovectored interrupts | 115 |
B
| |
| binary compatibility | 4 |
| block driver |
| .....autoconfiguration of | 209 |
| .....slice number | 209 |
| block interrupt cookie | 60 |
| bus |
| .....architectures | 18 |
| .....interrupt levels | 115 |
| .....SCSI | 253 |
| bus nexus device drivers | 4 |
| bus-master DMA | 130 |
| byte-stream I/O | 44 |
C
| |
| C language data models | 488 |
| cache | 147 |
| callback functions | 59, 109, 140 |
| cb_ops(9S) structure | 92, 207 |
| character device drivers | 44 |
| .....entry points for | 57 |
| compiling/linking a driver | 340 |
| condition variables | 467 |
| .....and interface functions | 467 |
| .....and mutex locks | 81, 394 |
| .....routines | 82 |
| configuration entry points | 96 |
| configuration file, device |
| .....attach(9E) | 101 |
| .....getinfo(9E) | 110 |
| .....identify(9E) | 96, 97 |
| .....probe(9E) | 98 |
| configuration file, hardware | 340 |
| configuration files for device drivers | 70, 486 |
| |
| context of device driver | 60 |
| control registers |
| .....device context management of | 237 |
| cookie |
| .....DMA | 128 |
| .....types of | 60 |
D
| |
| data structures |
| .....cb_ops(9S) | 92, 207 |
| .....dev_ops(9S) | 92, 207 |
| .....for device drivers | 69, 481 |
| data, storage classes of | 78 |
| DDI/DKI |
| .....and disk performance | 504 |
| .....compliance testing | 379 |
| .....kernel support routines | 386 |
| ddi_ functions | 417 |
| .....ddi_add_intr(9F) | 104, 121 |
| .....ddi_create_minor_node(9F) | 105 |
| .....ddi_dma_nextseg(9F) | 130 |
| .....ddi_get_instance(9F) | 104 |
| .....ddi_iblock_cookie_t | 60 |
| .....ddi_idevice_cookie_t | 60 |
| .....ddi_map_regs(9F) | 105 |
| .....ddi_remove_intr(9F) | 109 |
| ddi_dev_is_needed(9F) | 161 |
| DDI_PM_RESUME command | 165 |
| DDI_PM_SUSPEND command | 163 |
| DDI_RESUME command | 170 |
| DDI_SUSPEND command | 168 |
| debugging tools | 356, 388 |
| detach(9E) entry point | 107 |
| dev_ops(9S) structure | 92, 207 |
| device access system calls | 211 |
| device configuration entry points | 96 |
| device driver |
| .....64-bit drivers | 201, 487 |
| .....converting to 5.x | 385 |
| .....debugging |
| ............coding hints | 351 |
| ............configuration | 345 |
| ............tools | 356 |
| ......definition of | 43 |
| ......entry points | 55 |
| ......header files | 69, 481 |
| ......loadable interface | 94 |
| ......module configuration | 69, 482 |
| ......overview | 43 |
| ......register mapping | 105 |
| ......source files | 69, 482 |
| ......standard character | 44 |
| ......testing | 379 |
| ......types of | 44 |
| device information |
| ......dev_info node | 104 |
| ......self-identifying | 19 |
| ......tree structure | 4, 6 |
| device interrupt cookie | 60 |
| device interrupt handling |
| ......ddi_add_intr(9F) | 104, 121 |
| ......ddi_remove_intr(9F) | 109 |
| ......interrupt block cookie | 104 |
| device interrupts, types of | 115 |
| device memory |
| ......mapping | 45, 452 |
| device memory mapping | 227 |
| device polling |
| ......overview | 46 |
| ......poll(2) system call | 46 |
| device power management |
| ......definition of | 156 |
| ......entry points | 162 |
| ......interfaces | 159 |
| ......model | 157 |
| ......state transitions | 160 |
| device registers |
| ......ddi_map_regs(9F) | 105 |
| ......examples of | 51 |
| ......mapping | 101 |
| device tree | 4 |
| devlinks(1M) command | 341 |
| disk |
| ......I/O controls | 503 |
| ......performance | 504 |
| DKI, See DDI/DKI |
| DMA |
| |
| .....buffer allocation | 153 |
| .....callbacks | 145 |
| .....cookie | 128 |
| .....engine restrictions | 132 |
| .....freeing resources | 143 |
| .....handle | 127 |
| .....limits | 133 |
| .....locking | 137 |
| .....object | 127 |
| .....operations | 130 |
| .....private buffer allocation | 153 |
| .....register structure | 140 |
| .....resource allocation | 138 |
| .....resource interfaces | 425 |
| .....transfers | 189 |
| .....types of | 128 |
| driver entry points | 423 |
| .....attach(9E) | 101 |
| .....definition of | 55 |
| .....detach(9E) | 107 |
| .....identify(9E) | 97 |
| .....ioctl(9E) | 198 |
| .....probe(9E) | 97 |
| driver.conf files | 486 |
| DVMA |
| .....SBus slots that support | 26 |
| dynamic loading | 3 |
| dynamic memory allocation | 62 |
E
| |
| entry points |
| .....for device configuration | 96 |
| entry points, See driver entry points |
| external registers | 31 |
F
| |
| file system I/O | 207 |
| fini(9E) | 55, 96 |
| first-party DMA | 131 |
G
| |
| geographical addressing | 24 |
| graphics devices |
| ......device context management of | 237 |
H
| |
| hardware configuration file | 340 |
| header files for device drivers | 69, 481 |
I
| |
| I/O |
| ......control overview | 45 |
| ......disk controls | 503 |
| ......file system structure | 207 |
| ......miscellaneous control of | 198 |
| ......multiplexing | 195 |
| ......port access | 452 |
| ......programmed transfers | 187 |
| ......scatter/gather structures | 185 |
| identify(9E) entry point | 97 |
| ILP32 | 488 |
| info(9E) | 55 |
| init(9E) | 55, 95 |
| instance numbers | 96 |
| internal mode registers | 31 |
| internal sequencing logic | 31 |
| interrupt cookie, See cookie |
| interrupt handling |
| ......block interrupt cookie | 60 |
| ......device interrupt cookie | 60 |
| ......interfaces for | 432 |
| ......overview | 59 |
| ......registering a handler | 101 |
| interrupts |
| ......common problems with | 32 |
| ......registering | 104 |
| ......types of | 115 |
| inumber | 104 |
| ioctl(9E) | 198 |
K
| |
| kadb(1M) command | 360 |
| kernel modules |
| |
| .....directory of | 341 |
| .....dynamic loading | 3 |
| kernel threads | 76 |
| kernel, definition of | 1 |
L
| |
| leaf device drivers | 4 |
| lightweight process | 75 |
| linking a driver | 340 |
| loading drivers |
| .....add_drv(1M) command | 342 |
| .....compiling a driver | 340 |
| .....hardware configuration file | 340 |
| .....linking a driver | 340 |
| .....overview | 3 |
| loading modules | 55, 341 |
| lock granularity | 499 |
| locking primitives, types of | 78 |
| locking scheme | 87 |
| LP64 | 488 |
| LWP (lightweight process) | 75 |
M
| |
| memory mapping |
| .....device context management of | 237 |
| .....device memory management | 227 |
| .....device memory management of | 45 |
| memory model |
| .....SPARC | 17 |
| .....store buffers | 16 |
| memory, allocation of | 62, 436, 437 |
| minor device node | 105 |
| modldrv | 91 |
| modlinkage | 91 |
| module directory | 341 |
| module ID, getting | 343 |
| modunload(1M) command | 343 |
| mount(2) system call | 211 |
| multithreaded kernel | 77 |
| multithreading | 2 |
| .....and condition variables | 82 |
| ......and lock granularity | 499 |
| ......and locking primitives | 78 |
| ......application threads | 75 |
| ......thread synchronization | 81 |
| mutex |
| ......functions | 80, 467 |
| ......locking order | 500 |
| ......locks | 79, 467 |
| ......related panics | 502 |
| ......routines | 79 |
N
| |
| nexus driver | 4 |
| node types | 105 |
| non-self-identifying devices | 19 |
O
| |
| object locking | 137 |
| open(2) system call | 211 |
P
| |
| PCI devices | 20 |
| PCI local bus | 19 |
| physical DMA | 128 |
| poll(2) system call | 46 |
| polled interrupts | 115 |
| polling, See device polling |
| power management |
| ......components | 157 |
| ......definition | 155 |
| ......dependency | 158 |
| ......device power management | 157 |
| ............entry points | 162 |
| ............interfaces | 159 |
| ............state transitions | 160 |
| ......entry points | 162, 167 |
| ......power levels | 158 |
| ......system power management | 166 |
| power.conf(4) | 167 |
| printing messages | 61 |
| probe(9E) entry point | 97 |
| |
| processor issues |
| .....SPARC | 13 |
| .....x86 | 15 |
| programmed I/O | 187 |
| properties |
| .....overview | 65 |
| .....types of | 65 |
| pseudo driver | 43 |
Q
R
| |
| readers/writer locks | 81 |
| registers, See control registers and deviceregisters |
| rnumber | 105 |
S
| |
| S_IFCHR | 105 |
| SBus |
| .....geographical addressing | 24 |
| .....physical SBus addresses | 26 |
| .....slots supporting DVMA | 26 |
| scatter/gather I/O | 185 |
| SCSA | xx, 253 |
| .....functions, types of | 258 |
| .....global data definitions | 505 |
| .....interfaces | 458 |
| SCSI |
| .....architecture | 255 |
| .....flow of control | 256 |
| .....interfaces | 458 |
| .....resource allocation | 270 |
| .....target driver overview | 253 |
| .....target drivers | 110, 259 |
| self-identifying devices | 18 |
| semaphores | 467 |
| slice number |
| .....for block devices | 209 |
| soft state structure | 63, 464 |
| source compatibility | 4 |
| source files for device drivers | 69, 482 |
| SPARC processor |
| ......byte ordering | 14, 16 |
| ......data alignment | 13, 15 |
| ......floating point operations | 15, 16 |
| ......multiply and divide instructions | 15 |
| ......register windows | 14 |
| ......structure member alignment | 14, 16 |
| SPARC processor issues | 13 |
| special files | 2 |
| sst_getinfo() entry point | 110 |
| state structure |
| ......description of | 63 |
| ......management routines | 64 |
| store buffers | 16 |
| STREAMS |
| ......drivers | 46 |
| ......interfaces | 418 |
| string manipulation | 465 |
| structure padding | 53 |
| SunDDI/DKI |
| ......overview | 3, 207 |
| synchronization of threads | 467 |
| system call, description of | 1 |
| system power management |
| ......definition of | 156 |
| ......model | 166 |
T
| |
| tagged queueing | 506 |
| third-party DMA | 132 |
| thread synchronization | 467 |
| ......condition variables | 81 |
| ......mutex locks | 79 |
| ......mutex_init(9F) | 80 |
| ......per instance mutex | 101 |
| ......readers/writer locks | 81 |
| threads |
| ......preemption of | 78 |
| ......types of | 75 |
| timing routines | 472 |
U
| |
| uio(9S) data structure | 473 |
| unloading drivers |
| .....getting the module ID | 343 |
| untagged queuing | 507 |
| user threads | 75 |
| utility functions | 473 |
V
| |
| vectored interrupts | 115 |
| virtual addresses | 2 |
| virtual DMA | 128 |
| virtual memory |
| .....address spaces | 2 |
| .....memory management unit (MMU) | 2 |
| .....overview | 2 |
| VMEbus |
| .....machine architecture | 27 |
X
|
|