UEFI中通过Device Path来描述设备的路径,一个完整的路径由多个Device Path Nodes组成。

下面通过输入设备的路径作为例子:

PNP0A03 – PCI Host Bridge
PNP0303 – PC Keyboard Controller
ConIn: The device path of the default input console.

下图是在系统不接任何外设的情况下:系统中只有一个输入设备:PS2 KB

下图在上图的基础上外接了一个USB的键盘:可以看到,除了一个PS2的键盘,系统的输入设备多了一个USB设备。

下面的截图摘自UEFI Spec,Spec对每个Device Path Node的类型做了定义:

下面是boot option的例子:

下图表示系统上有2个可以boot的设备,BootOrder显示2个设备的启动顺序:boot0000,boot0001

01 01 06 00 00 14:表示PCI(0x14,0x00):device14  function00

03 05 06 00 0E 00:表示USB(0x0E,0x00)(U盘接在Port14,使用的interface为00)

下面是PXE的boot option(使用的是接在USB HUB上的LAN dongle):

下面是Legacy support的boot option:

EDK II之Device Path的更多相关文章

  1. What is a Windows USB device path and how is it formatted?

    http://community.silabs.com/t5/Interface-Knowledge-Base/Windows-USB-Device-Path/ta-p/114059 Windows ...

  2. Device Path in WinPrefetchView

    As we know that the Prefetch file is used for optimizing the loading time of the application in the ...

  3. EDK II之Secure Boot简述

    密钥对:公钥分发,私钥自留.常见的公钥格式:cer/der,常见的私钥格式:pfx. BIOS中Secure Boot的原理:把公钥包在code里面,当使用gBS->LoadImage()去加载 ...

  4. Setting up a EDK II build environment on Windows and Linux:搭建Windows和Linux开发环境[2.2]

    Setting up a EDK II build environment on Windows and Linux:搭建Windows和Linux开发环境[2.2] 2015-07   北京海淀区  ...

  5. Tools:downloading and Building EDK II工具篇:安装/使用EDKII源代码获取/编译工具[2.3]

    Tools:Installing and using the Required Tools for downloading and Building EDK II工具篇:安装/使用EDKII源代码获取 ...

  6. 痞子衡嵌入式:可通过USB Device Path来唯一指定i.MXRT设备进行ROM/Flashloader通信

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是通过USB Device Path来唯一指定i.MXRT设备进行ROM/Flashloader通信. i.MXRT系列高性能微控制器从2 ...

  7. leetcode 112. Path Sum 、 113. Path Sum II 、437. Path Sum III

    112. Path Sum 自己的一个错误写法: class Solution { public: bool hasPathSum(TreeNode* root, int sum) { if(root ...

  8. EDK II之驱动程序与硬件平台的初始化简介

    本文旨在简单介绍一下UEFI中驱动程序的加载方式(这里涉及的模块指的是符合UEFI Driver Model的模块): 在UEFI中,当一个驱动模块被加载时,在模块入口点只会安装EFI_DRIVER_ ...

  9. EDK II之USB设备驱动程序的加载与运行

    本文简单介绍一下USB设备的驱动程序是如何匹配设备以及被加载的: 上文(UDK中USB总线驱动的实现框架)提到USB总线枚举设备的最后一步是调用gBS->ConnectController()去 ...

随机推荐

  1. python使用requests发送text/xml报文数据

    def client_post_xmldata_requests(request_url,requestxmldata): #功能说明:发送请求报文到指定的地址并获取请求响应报文 #输入参数说明:接收 ...

  2. Linux块设备IO子系统(一) _驱动模型

    块设备是Linux三大设备之一,其驱动模型主要针对磁盘,Flash等存储类设备,块设备(blockdevice)是一种具有一定结构的随机存取设备,对这种设备的读写是按块(所以叫块设备)进行的,他使用缓 ...

  3. JS学习大作业-Excel

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  4. 关于BigDecimal.ROUND_HALF_UP与ROUND_HALF_DOWN

    ROUND_HALF_UP: 遇到.5的情况时往上近似,例: 1.5 ->;2ROUND_HALF_DOWN : 遇到.5的情况时往下近似,例: 1.5 ->;1 BigDecimal a ...

  5. 我永远无法学会的dp

    起源:在codeforceround518之后我发现别人都会div1A我根本写不出来,所以我决定退役 咕咕咕咕

  6. hibernate04--三种状态之间的转换

    public class StudentTest { Session session=null; Transaction transaction=null; //在执行测试方法之前 先执行before ...

  7. transform的兼容性写法浏览器 和 transition

    transform:rotate(7deg); -ms-transform:rotate(7deg); /* IE 9 */ -moz-transform:rotate(7deg); /* Firef ...

  8. Codeforces 1090B - LaTeX Expert - [字符串模拟][2018-2019 Russia Open High School Programming Contest Problem B]

    题目链接:https://codeforces.com/contest/1090/problem/B Examplesstandard input The most famous characters ...

  9. linux终端提示符显示bash-4.2#

    原因是root在/root下面的几个配置文件丢失,丢失文件如下: 1..bash_profile 2..bashrc 以上这些文件是每个用户都必备的文件. 使用以下命令从主默认文件重新拷贝一份配置信息 ...

  10. linux之more和less的基本使用

    more 基本介绍 more 是我们最常用的工具之一,最常用的就是显示输出的内容,然后根据窗口的大小进行分页显示,然后还能提示文件的百分比.more命令从前向后读取文件,因此在启动时就加载整个文件. ...