内に含ま
その他のドキュメント
サポート リソース
|
Index
Symbols
A
| |
| adb(1) command | 327 |
| add_drv(1M) command | 309 |
| address spaces | 3, 32 |
| attach(9E) entry point | 105 |
| autoconfiguration |
| .....of block devices | 190 |
| .....of character devices | 164 |
| .....of SCSI drivers | 233, 269 |
| .....routines | 62 |
| autovectored interrupts | 118 |
B
| |
| binary compatibility | 4 |
| block driver |
| .....autoconfiguration of | 190 |
| .....entry points | 62 |
| .....slice number | 190 |
| block interrupt cookie | 65 |
| bus |
| .....architectures | 21 |
| .....interrupt levels | 117 |
| .....SCSI | 223 |
| bus nexus device drivers | 5 |
| bus-master DMA | 132 |
| byte-stream I/O | 50 |
C
| |
| cache | 150 |
| callback functions | 64, 112, 143 |
| cb_ops(9S) structure | 96, 189 |
| character device drivers | 50, 161 |
| .....entry points for | 63 |
| compiler modes | 75 |
| compiling/linking a driver | 308 |
| condition variables | 441 |
| .....and interface functions | 441 |
| .....and mutex locks | 85, 361 |
| .....routines | 86 |
| configuration entry points | 100 |
| configuration file, device |
| .....attach(9E) | 105 |
| .....detach(9E) | 110 |
| .....getinfo(9E) | 112 |
| .....identify(9E) | 100 |
| .....probe(9E) | 102 |
| configuration file, hardware | 308 |
| configuration files for device drivers | 74, 460 |
| context of device driver | 65 |
| |
| control registers |
| .....device context management of | 209 |
| cookie |
| .....DMA | 130 |
| .....types of | 64 |
D
| |
| data structures |
| .....cb_ops(9S) | 96, 189 |
| .....dev_ops(9S) | 96, 189 |
| .....for device drivers | 73, 455 |
| data, storage classes of | 82 |
| DDI/DKI |
| .....and disk performance | 466 |
| .....compliance testing | 346 |
| .....interface summary | 387 |
| .....kernel support routines | 354 |
| ddi_ functions | 387 |
| .....ddi_add_intr(9F) | 107, 123 |
| .....ddi_create_minor_node(9F) | 109 |
| .....ddi_dma_nextseg(9F) | 132 |
| .....ddi_get_instance(9F) | 107 |
| .....ddi_iblock_cookie_t | 65 |
| .....ddi_idevice_cookie_t | 64 |
| .....ddi_map_regs(9F) | 108 |
| .....ddi_remove_intr(9F) | 111 |
| detach(9E) entry point | 110 |
| dev_ops(9S) structure | 96, 189 |
| device access system calls | 192 |
| device configuration entry points | 100 |
| device driver |
| .....converting to 5.x | 353 |
| .....debugging |
| ............coding hints | 319 |
| ............configuration | 313 |
| ............tools | 323 |
| .....definition of | 49 |
| .....entry points | 61 |
| .....for character-oriented devices | 161 |
| .....header files | 73, 455 |
| .....loadable interface | 98 |
| .....module configuration | 73, 456 |
| .....overview | 49 |
| ......register mapping | 108 |
| ......source files | 73, 456 |
| ......standard character | 50 |
| ......testing | 346 |
| ......types of | 50 |
| device information |
| ......dev_info node | 107 |
| ......self-identifying | 22 |
| ......tree structure | 5, 7 |
| device interrupt cookie | 64 |
| device interrupt handling |
| ......ddi_add_intr(9F) | 107, 123 |
| ......ddi_remove_intr(9F) | 111 |
| ......interrupt block cookie | 108 |
| device interrupts, types of | 118 |
| device memory |
| ......mapping | 51, 423 |
| device polling |
| ......overview | 51 |
| ......poll(2) system call | 51 |
| device registers |
| ......ddi_map_regs(9F) | 108 |
| ......examples of | 57 |
| ......mapping | 105 |
| device tree | 5 |
| devlinks(1M) command | 309 |
| disk |
| ......I/O controls | 465 |
| ......performance | 466 |
| DKI, See DDI/DKI |
| DMA |
| ......buffer allocation | 156 |
| ......callbacks | 148 |
| ......cookie | 130 |
| ......engine restrictions | 134 |
| ......freeing resources | 147 |
| ......handle | 129 |
| ......limits | 135 |
| ......locking | 139 |
| ......object | 129 |
| ......operations | 132 |
| ......private buffer allocation | 156 |
| ......register structure | 143 |
| ......resource allocation | 141 |
| |
| .....resource interfaces | 395 |
| .....transfers | 172 |
| .....types of | 130 |
| driver entry points | 393 |
| .....attach(9E) | 105 |
| .....definition of | 61 |
| .....detach(9E) | 110 |
| .....identify(9E) | 100 |
| .....probe(9E) | 101 |
| driver.conf files | 74, 460 |
| DVMA |
| .....SBus slots that support | 30 |
| dynamic loading | 3 |
| dynamic memory allocation | 67 |
E
| |
| EIEIO instruction |
| .....on PowerPC | 21 |
| entry points |
| .....for device configuration | 100 |
| entry points, See driver entry points |
| external registers | 37 |
F
| |
| filesystem I/O | 189 |
| fini(9E) | 62, 99 |
| first-party DMA | 133 |
G
| |
| geographical addressing | 28 |
| graphics devices |
| .....device context management of | 209 |
H
| |
| hardware configuration file | 308 |
| header files for device drivers | 73, 455 |
I
| |
| I/O |
| .....control overview | 51 |
| ......disk controls | 465 |
| ......filesystem structure | 189 |
| ......miscellaneous control of | 183 |
| ......multiplexing | 180 |
| ......port access | 423 |
| ......programmed transfers | 170 |
| ......scatter/gather structures | 168 |
| identify(9E) entry point | 100 |
| info(9E) | 62 |
| init(9E) | 62, 99 |
| instance numbers | 101 |
| internal mode registers | 37 |
| internal sequencing logic | 37 |
| interrupt cookie, See cookie |
| interrupt handling |
| ......block interrupt cookie | 65 |
| ......device interrupt cookie | 64 |
| ......interfaces for | 406 |
| ......overview | 64 |
| ......registering a handler | 105 |
| interrupts |
| ......common problems with | 37 |
| ......registering | 107 |
| interrupts, types of | 118 |
| inumber | 107 |
K
| |
| kadb(1M) command | 327 |
| kernel modules |
| ......directory of | 309 |
| ......dynamic loading | 3 |
| kernel threads | 80 |
| kernel, definition of | 1 |
| keywords, new | 76 |
L
| |
| leaf device drivers | 5 |
| lightweight process | 79 |
| linking a driver | 308 |
| loading drivers |
| ......add_drv(1M) command | 309 |
| |
| .....compiling a driver | 308 |
| .....hardware configuration file | 308 |
| .....linking a driver | 308 |
| .....overview | 3 |
| loading modules | 62, 309 |
| lock granularity | 461 |
| locking primitives, types of | 82 |
| LWP | 79 |
M
| |
| memory mapping |
| .....device context management of | 51, 209 |
| memory model |
| .....SPARC | 20 |
| .....store buffers | 20 |
| memory, allocation of | 67, 410 |
| minor device node | 108 |
| modldrv | 95 |
| modlinkage | 95 |
| module directory | 309 |
| module ID, getting | 310 |
| modunload(1M) command | 311 |
| mount(2) system call | 192 |
| multithreaded kernel | 81 |
| multithreading | 2 |
| .....and condition variables | 86 |
| .....and lock granularity | 461 |
| .....and locking primitives | 82 |
| .....application threads | 79 |
| .....thread synchronization | 85 |
| mutex |
| .....functions | 84, 441 |
| .....locking order | 462 |
| .....locks | 83, 441 |
| .....related panics | 464 |
| .....routines | 83 |
N
| |
| node types | 109 |
| non-self-identifying devices | 22 |
O
| |
| object locking | 139 |
| open(2) system call | 192 |
P
| |
| padding structures | 60 |
| PCI bus | 138 |
| PCI devices | 24 |
| PCI Local Bus | 23 |
| physical DMA | 130 |
| physical SBus addresses |
| ......in SPARCstation 1 | 30 |
| poll(2) system call | 51 |
| polled interrupts | 118 |
| polling, See device polling |
| PowerPC | 138 |
| PowerPC Processor Issues | 18 |
| printing messages | 66 |
| probe(9E) entry point | 101 |
| Processor Issues |
| ......PowerPC | 18 |
| ......SPARC | 15 |
| ......x86 | 17 |
| programmed I/O | 170 |
| properties |
| ......overview | 69 |
| ......types of | 69 |
Q
R
| |
| readers/writer locks | 85 |
| registers, See control registers and deviceregisters |
| rnumber | 108 |
S
| |
| SBus |
| .....geographical addressing | 28 |
| .....physical SBus addresses | 30 |
| .....slots supporting DVMA | 30 |
| scatter/gather I/O | 168 |
| SCSA | xxiv, 223 |
| .....functions, types of | 228 |
| .....global data definitions | 467 |
| .....interfaces | 431 |
| SCSI |
| .....architecture | 225 |
| .....flow of control | 226 |
| .....interfaces | 431 |
| .....resource allocation | 239 |
| .....simple driver code listing | 453 |
| .....target driver overview | 223, 249 |
| .....target drivers | 112, 229 |
| self-identifying devices | 22 |
| semaphores | 441 |
| slice number |
| .....for block devices | 190 |
| soft state structure | 67, 439 |
| source compatibility | 4 |
| source files for device drivers | 73, 456 |
| SPARC processor |
| .....byte ordering | 16, 18 |
| .....data alignment | 15, 17 |
| .....floating point operations | 17, 18 |
| .....multiply and divide instructions | 17 |
| .....register windows | 16 |
| .....structure member alignment | 16, 18 |
| SPARC Processor Issues | 15 |
| special files | 3 |
| sst_getinfo() entry point | 112 |
| state structure |
| .....description of | 68 |
| .....management routines | 68 |
| store buffers | 20 |
| STREAMS |
| .....drivers | 52 |
| .....interfaces | 388 |
| string manipulation | 440 |
| structure padding | 60 |
| SunDDI/DKI |
| ......interface summary | 387 |
| ......overview | 4, 189 |
| SYNC instruction |
| ......on PowerPC | 20, 21 |
| synchronization of threads | 441 |
| system call, description of | 1 |
T
| |
| tagged queueing | 468 |
| third-party DMA | 134 |
| thread synchronization | 441 |
| ......condition variables | 85 |
| ......mutex locks | 83 |
| ......mutex_init(9F) | 84 |
| ......per instance mutex | 105 |
| ......readers/writer locks | 85 |
| threads |
| ......preemption of | 82 |
| ......types of | 79 |
| timing routines | 446 |
U
| |
| uio(9S) data structure | 447 |
| unloading drivers |
| ......getting the module ID | 310 |
| untagged queuing | 469 |
| user threads | 79 |
| utility functions | 448 |
V
| |
| vectored interrupts | 118 |
| virtual addresses | 3 |
| virtual DMA | 130 |
| virtual memory |
| ......address spaces | 3 |
| ......memory management unit (MMU) | 3 |
| ......overview | 2 |
| VMEbus |
| ......address spaces | 33 |
| ......machine architecture | 31 |
X
|
|