一、DxeMain()启动流程
二、CoreDispatcher()启动流程
1.注册驱动程序
在DXE阶段,通过CoreLoadImage()->CoreLoadImageCommon()函数驱动程序加载到内存,生成Image Handle,然后通过调用CoreStartImage();调用驱动程序入口函数(xx.inf文件中定义的EntryPoint函数),入口函数中通过DRIVER_BINDING_PROTOCOL类型的实例,将驱动程序(Support();Start();Stop();函数)注册到Image Handle上,仅是注册,驱动程序不会执行,即不会操作任何硬件。详细的代码实现过程为:
三、Bds启动流程的加载驱动部分
1、执行驱动程序
DXE阶段驱动程序注册完成后,BDS阶段执行LoadDrivers()加载并启动驱动映像具体代码实现过程为: