第一部分 基础篇 3
第一章 快速解除安装所展卡的头痛的问题 3
1.1 存在的问题 3
1.2 手边的帮助 3
1.3 “即插即用”的位置 4
1.4 开发工具 4
1.5 解决移动和网络问题 5
1.6 必须履行的责任 5
第二章 插入扩展卡变得很容易 6
2.1 安装扩展卡的难处 6
2.2 Intel的解决方法 7
2.3 自动配置是如何工作的 8
2.4 管理桌面系统 9
2.5 “即插即用”选择的道路 9
2.6 使插入扩展卡更容易 10
第三章 Microsoft Windows和“即插即用”体系结构 11
3.1 总述 11
3.1.1 配置PC硬件和软件的困难 11
3.1.2 “即插即用”解决方法 11
3.2 “即插即用”体系结构 12
3.2.1 “即插即用”系统的组成与需求 12
3.2.2 “即插即用”的发展过程 13
3.2.3 向“即插即用”系统的转变 13
3.2.4 “即插 即用”支持配置动态变化 14
3.2.5 “即插 即用”解决方法的功能 14
3.3 “即插即用”操作系统——Microsoft Windows 95 15
3.4 “即插即用”设备 17
3.5 “即插即用”总结 18
3.6 小结 18
第二部分 中级篇 23
第四章 MS-DOS和Windows3.1操作系统的“即插即用”体系结构 23
4.1 介绍 23
4.1.1 配置问题 23
4.1.2 Intel的解决方法 24
4.2 “即插即用”体系结构 24
4.2.1 组成 25
4.2.2 自动配置算法 27
4.3 “即插即用”BIOS 29
4.4 配置管理器 31
4.5 ISA配置管理器 33
4.6 “即插即用”工具 33
4.6.1 Plug and Play BIOS Enhancement Kit 34
4.6.2 Plug and Play Kit for MS-DOSand Windows 34
4.7 构造“即插即用”平台 34
4.7.1 硬件需求 34
4.7.2 软件支持 35
4.8 开发“即插即用”设备驱动程序 35
4.8.1 特殊的需求 35
4.8.2 配置API 35
4.8.3 设备驱动程序初始化 36
4.9 小结 37
第五章 安装“即插即用” 卡的软伯(修订版1.1) 38
5.1 介绍 38
5.2 PC环境 38
5.3 配置了PnP软件的MS-DOS/Windows3.1 PC 39
5.4 没有配备PnP软件的MS-DOS/Windows3.1 PC 40
5.5 小结 41
第六章 “即插即用”技术在非“即插即用”操作系统中的应用(修订版1.1) 42
6.1 介绍 42
6.2 “即插即用”体系结构 42
6.3 “即插即用”工具 44
6.4 在非PnP操作系统上支持PnP的策略 44
6.5 小结 45
第七章 MS-DOS和Windows3.1“即插即用”操作系统驱动程序的移植(修订版1.1) 46
7.1 更新“即插即用”设备驱动程序 46
7.1.1 MS-DOS的Windows 3.1 的驱动程序 46
7.1.2 Windows 95的驱动程序 46
7.1.3 结论 46
7.1.4 使用CM接口的示例 47
第八章 “即插即用”功能和Windows 95 49
8.1 目的 49
8.2 总述 49
8.2.1 资源管理 49
8.2.2 在线配置 50
8.3 “即插即用”BIOS所必需的BIOS功能 50
8.3.1 系统板设备的信息 50
8.3.2 支持ISA总线的信息 50
8.3.3 动态事件的信息 50
8.4 附加的BIOS功能 50
8.5 MS-DOS和Windows 3.X的“即插即用”BIOS 51
8.6 获取“即插即用”BIOS的方式 51
8.7 问题与回答 51
8.8 一个完整的“即插即用”方案 52
第九章 开发MS-DOS/Windows 3.1的Windows 95的“即插即用”BIOS(修订版 1.2 ) 54
9.1 介绍 54
9.2 老式ISA卡的自动配置 55
9.3 Intel对PnPBIOS的支持 56
9.4 各种版本的Intel PnP固件和软件总述 57
9.5 PnP系统软件和PnPBIOS软件的混合与匹配 58
9.5.1 设计一个“即插即用”BIOS 60
9.6 建议 60
第三部分 高级篇 65
第十章 “即插即用”ISA规范(版本1.0a) 65
10.1 引言 65
10.1.1 目标 66
10.1.2 实现上的考虑 66
10.2 自动配置序列 66
10.2.1 “即插即用”系统配置序列 66
10.2.2 “即插即用”卡配置序列 68
10.3 隔离和识别 69
10.3.1 自动配置端口 69
10.3.1.1 ADDRESS端口 70
10.3.1.2 WRITE DATA 端口 70
10.3.1.3 READ_DATA 端口 70
10.3.2 启动钥匙 70
10.3.3 隔离协议 70
10.3.3.1 硬件协议 71
10.3.3.2 软件协议 72
10.4 “即插即用”设备 73
10.4.1 状成概要 73
10.4.2 “即插 即用”寄存器概要 73
10.4.3 控制寄存器概述 74
10.4.4 “即插即用”隔离序列 77
10.4.5 读取次源数据 78
10.4.6 配置卡使用的资源 78
10.4.6.1 配置读的顺序 79
10.4.6.2 资源规划 79
10.4.7 运行时访问“即插即用”寄存器 80
10.5 “即插即用“功能 80
10.5.1 可配置的逻辑设备的最低功能 80
10.5.2 不可配置的逻辑设备的最低功能 81
10.6 ”即插即用“资源 81
10.6.1 标识串 81
10.6.1.1 厂商ID 81
10.6.1.2 串号/唯一号 81
10.6.1.3 校验和 82
10.6.2 ”即插即用“资源数据类型 82
10.6.2.1 资源数据要求 82
10.6.2.2 小资源数据类型 83
10.6.2.3 大资源数据类型 89
10.7 资源数据和依赖功能 95
10.7.1 示例1 95
10.7.2 示例2 95
10.7.3 示例3 96
10.7.4 示例4 96
10.8 ”即插即用“标准寄存器 97
10.8.1 ”即插即用“卡控制寄存器 98
10.8.2 ”即插即用“逻辑设备控制寄存器 99
10.8.3 ”即插即用“逻辑设备配置寄存器 100
10.8.3.1 内存配置寄存器 100
10.8.3.2 I/O配置寄存器 102
10.8.3.3 中断配置寄存器 103
10.8.3.4 DMA配置寄存器 103
10.8.3.5 保留的和厂商定义的配置寄存器 103
10.8.4 保留的寄存器 103
10.9 LFSR的定义 104
10.9.1 启动LFSR功能 105
10.9.2 LFSR校检和功能 105
10.10 可能的增强功能 106
10.10.1 ”即插即用“引导设备 106
10.10.2 BIOS对”即插即用“设备的支持 107
10.10.3 ”即插即用“设备和非”即插即用“操作系统 107
10.11 ABC以太网卡的配置记录 107
第十一章 ”即插即用“设备驱动程序开发指南 110
11.1 引言 110
11.1.1 本章中使用的规则 110
11.1.2 有关资料 110
11.1.3 推荐工具 110
11.1.4 安装 111
11.2 在线支持服务 111
11.2.1 配置管理器 112
11.2.2 配置访问支持接口 113
11.2.3 设备驱动程序 113
11.2.4 接口 113
11.2.5 配置管理器 113
11.2.6 配置访问 116
11.2.7 头文件 116
11.2.8 更新Windows设备驱动程序的步骤 117
11.3 配置管理器接口 117
11.3.1 设备识别符数据结构 117
11.3.2 总线访问联合 118
11.3.3 逻辑配置数据结构 118
11.3.4 配置管理器接口 120
11.3.5 设备的封锁和开锁 122
11.4 配置访问支持接口 125
11.4.1 PCI配置接口 126
11.4.1.1 ”即插即用“ISA配置接口 132
11.4.1.2 EISA配置接口 136
11.4.1.3 ESCD配置接口 141
11.4.1.4 ACFG配置接口 143
11.5 CM选项及消息 148
11.5.1 配置文件参数选项 148
11.5.2 消息 148
第十二章 ”即插即用“BIOS扩展设行指南(版本1.2) 151
12.1 引言 151
12.1.1 目的 151
12.1.2 范围 151
12.1.3 相关文献 152
12.2 系统概述 152
12.2.1 自动配置管理 152
12.2.2 软件结构 153
12.3 集成”即插即用“BIOS扩展与系统BIOS 156
12.3.1 BIOS扩展的体系结构 156
12.3.2 BIOS扩展接口 156
12.3.3 自动配置支持 157
12.3.4 集成ACFG BIOS扩展 159
12.3.4.1 与每一芯片组有关的模块 159
12.3.4.2 BIOS扩展的入口点 159
12.3.4.3 实现INT 1Ag接口 160
12.3.4.4 Make文件 160
12.3.4.5 要定义的符号 160
12.3.4.6 平台有关的配置文件 161
12.4 配置设备 161
12.4.1 概述 161
12.4.2 总线 162
12.4.2.1 PCI 162
12.4.2.2 ISA 162
12.4.2.3 ”即插即用“ISA 162
12.4.2.4 EISA 163
12.4.2.5 MCA 163
12.4.3 自动配置的任务 164
12.4.4 扩展系统配置数据 164
12.4.4.1 概述 165
12.4.4.2 槽分配 165
12.4.4.3 DCD的重新配置 167
12.4.4 .4 ESCD描述 169
12.4.5 初始化固件的改变 170
12.4.6 静态卡的配置实用程序 172
12.5 与平台有关的功能 172
12.5.1 与平台有关的ACFG功能 172
12.5.1.1 扫描板上PCI BIOS 205
12.6 ACFG管理器功能 206
12.7 第流资源管理器功能 213
12.8 ESCD管理器功能 222
12.9 PCI配置管理器功能 225
12.10 ”即插即用“ISA配置管理器功能 231
12.10.1 与PC兼容的设备 233
12.11 在线访问功能 234
12.12 ESCD结构 241
12.13 DCD配置的状态表 247
12.14 PCT BIOS功能表 249
12.15 ”即插即用“BIOS扩展的错误代码 251
12.16 与”即插即用“功能之间的关系 252
12.16.1 ”即插即用“BIOS功能 252
12.17 本章词汇表 253
第十三章 ”即插即用“BIOS规范(版本1.0a) 256
13.1 概述 256
13.1.1 ”即插即用“系统BIOS的目标 256
13.1.2 当前BIOS体系结构 的改进 257
13.1.3 ”即插即用“BIOS体系结构的原理 258
13.1.3.1 双模式功能 258
13.1.3.2 操作系统独立性 258
13.1.3.3 扩展性 258
13.1.4 安装结构 258
13.2 系统BIOS初始化 258
13.2.1 系统BIOS POST的要求 259
13.2.1.1 系统板存储区要求 259
13.2.1.2 系统BIOS资源管理 260
13.2.1.3 隔离分配的资源 260
13.2.1.4 系统BIOS资源分配 260
13.2.2 ”即插即用“ISA卡支持 261
13.2.2.1 给”即插即用“ISA卡分配卡选择号(CSN ) 262
13.2.2.2 初始化”即插即用“ISA卡 262
13.2.3 BIOS POST可选ROM初始化 262
13.2.4 转移控制给操作系统 263
13.2.5 POST执行流程 263
13.3 可选ROM支持 265
13.3.1 可选ROM头结构 265
13.3.2 ”即插即用“的扩展头结构 266
13.3.3 可选ROM初始化 269
13.3.4 可选ROM的初始化流程 270
13.3.5 ISA可选ROM和资源映射 271
13.3.6 错误恢复:返回到引导流程 271
13.4 配置支持 271
13.4.1 系统设备配置表 272
13.4.2 系统设备节点的定义 272
13.4.3 ”即插即用“BIOS功能 275
13.4.4 ”即插即用“安装检查结构 275
13.4.4.1 遵从”即插即用“的系统BIOS——”PnP“ 278
13.4.5 系统配置接口 279
13.4.5.1 功能0——获取系统设备节点个数 279
13.4.5.2 功能1——获取系统设备节点 280
13.4.5.3 功能2——设置系统设备节点 282
13.4.6 事件通知接口 283
13.4.6.1 功能3——获取事件 285
13.4.6.2 功能4——发送消息 286
13.4.6.3 功能5—— 获取停泊站信息 288
13.4.6.4 功能6~8——保留 290
13.4.7 扩展配置服务 290
13.4.7.1 功能9——设备静态分配的资源信息 291
13.4.7.2 功能0Ah——获取静态分配的资源信息 292
13.4.7.3 功能40h——获取”即插即用“ISA配置结构 293
13.4.7.4 功能41h——获取扩展系统配置数据(ESCD)信息 295
13.4.7.5 功能42h——读扩展系统配置数据(ESCD) 295
13.4.7.6 功能43h——写扩展系统配置数据(ESCD) 296
13.4.8 电源管理服务 296
13.4.8.1 功能0Bh——获取APM ID表 296
13.5 基本的可选ROM头结构 298
13.6 设备驱动程序初始化模块 299
13.7 返回码 300
第十四章 ”即插即用“外部接口规范(版本1.0) 302
14.1 概述 302
14.2 使用模型 302
14.2.1 设备驱动程序 303
14.2.2 配置管理实用程序 304
14.2.3 动态资源处理程序 304
14.3 接口 304
14.3.1 配置管理器接口 304
14.3.1.1 数据结构 305
14.3.1.2 设备的封锁/解锁 312
14.3.1.3 动态设备 315
14.3.2 配置访问支持接口 318
14.3.2.1 PCI配置接口 320
14.3.2.2 ”即插即用“ISA配置接口 328
14.3.2.3 EISA配置接口 332
14.3.2.4 ESCD 配置接口 337
14.3.2.5 ACFG配置接口 339
14.3.2.6 PnPB配置访问接口 342
14.4 PCI_Routing实例 347