Specifications
D
evice Driver Programming
x
Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5
Byte-Ordering and Alignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6
VME Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7
Transfer Width Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7
Address Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7
Address Modifiers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7
VME Address Ranges. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8
VME Devices as VME Bus Slaves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8
VME Devices as Bus Masters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8
Bus Time-Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9
VME Device Address Assignment and Configuration. . . . . . . . . . . . . . . . . . . . 7-10
Bus Arbitration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10
Bus Request Levels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11
Interrupt Request Levels and Priorities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11
Interrupt Lines (Levels) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11
Interrupt Vector Generation and Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12
PCI Address Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-13
Chapter 8 Motorola MCP750 Hardware Environment
SYSTEM OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
PROCESSOR BOARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
MEMORY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
BUSSES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4
TIMERS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4
INTERRUPTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4
DATA TYPES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5
BYTE-ORDERING AND ALIGNMENT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5
Byte-Ordering and Alignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5
Chapter 9 Understanding the Kernel Environment
Overview of the Kernel I/O Structure and Flow of Control. . . . . . . . . . . . . . . . . . . . 9-1
Overview of Source Directories and Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2
System Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3
Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3
Header Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4
The cdevsw Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5
The cred Structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7
The iovec and uio Structures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7
The adapter Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-9
The device Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-12
Kernel Support Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-12
Ioctl Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-12
Memory Allocation and Management Routines. . . . . . . . . . . . . . . . . . . . . . . . . 9-13
Memory Access Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-15
Address Management Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-15
Data Transfer Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-16
Synchronization Routines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-17
Spin Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-17
Sleep Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-18
Event Synchronization Primitives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-18
Processor Priority Level Adjustment Routines. . . . . . . . . . . . . . . . . . . . . . . . . . 9-18