Newbus驱动开发与中断处理详解
1. Newbus驱动概述
在FreeBSD系统中,Newbus驱动用于控制连接到I/O总线的设备(非伪设备驱动)。当系统进行自动配置时,会识别各个设备,并为每个可识别的设备分配合适的Newbus驱动来进行配置和初始化。不过,有些设备可能无法被识别或不被支持,这种情况下就不会分配Newbus驱动。
Newbus驱动通常包含三个常见组件:
-device_foo函数
- 设备方法表
-DRIVER_MODULE宏调用
2.device_foo函数
device_foo函数是Newbus驱动在自动配置期间执行的操作。以下是各个device_foo函数的简要介绍:
| 函数 | 描述 |
| — | — |
|device_identify| 向I/O总线添加新设备 |
|device_probe| 探测特定设备 |
|device_attach| 连接到设备 |
|device_detach| 从设备断开连接 |
|device_shutdown| 关闭设备 |
|device_suspend| 设备挂起请求 |
|devic