CN105378689B - 用于统一可扩展固件接口(uefi)驱动器和协议的方法和装置 - Google Patents

用于统一可扩展固件接口(uefi)驱动器和协议的方法和装置 Download PDF

Info

Publication number
CN105378689B
CN105378689B CN201380076247.5A CN201380076247A CN105378689B CN 105378689 B CN105378689 B CN 105378689B CN 201380076247 A CN201380076247 A CN 201380076247A CN 105378689 B CN105378689 B CN 105378689B
Authority
CN
China
Prior art keywords
uefi
working device
driver
wrapper
agreement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201380076247.5A
Other languages
English (en)
Other versions
CN105378689A (zh
Inventor
K·柏林
G·特塞尔
L·波罗
C·斯陶布
C·费尔南德斯
B·西尔瓦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN105378689A publication Critical patent/CN105378689A/zh
Application granted granted Critical
Publication of CN105378689B publication Critical patent/CN105378689B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

一种示例装置可以包括处理器和包括计算机程序代码的存储器设备。存储器设备和计算机程序代码利用处理器可以使所述装置:运行客户端应用,所述客户端应用使用第一协议,所述协议已经由统一可扩展固件接口(UEFI)封装器驱动器产生;利用客户端应用,调用UEFI封装器驱动器以执行协议的至少一个操作;利用封装器驱动器加载工作器应用的二进制映像以调用至少一个操作。工作器应用调入软件库的至少一个功能以执行至少一个操作。

Description

用于统一可扩展固件接口(UEFI)驱动器和协议的方法和装置
背景技术
基本输入/输出系统(BIOS)是可以在软件基础设施方面提供有限环境的固件接口,其可用于与个人计算机和其他计算设备对接。在采用统一可扩展固件接口(UEFI)标准以取代或补充BIOS的情况下,已经出现固件级别的基于软件的差异化的新的机遇。
附图说明
为了更完整地理解各种示例,现在参考结合附图考虑的以下描述,其中:
图1图示用于在UEFI环境中利用C库功能的示例运行流程;
图2图示示例系统;和
图3图示用于在UEFI环境中利用C库功能的示例过程。
具体实施方式
统一可扩展固件接口(UEFI)标准可以提供用于通过添加针对新应用和驱动器的开发的灵活性来在BIOS环境上进行改进的框架。然而,与其他开发环境相比,在系统引导时可用的软件基础设施(例如,库和工具)在当前UEFI环境的情况下可能相对较差。
UEFI是定义操作系统和平台固件及硬件之间的软件接口的规范。UEFI可取代在较旧的个人计算机(PC)模型中使用的基本输入/输出系统(BIOS)固件接口。虽然BIOS被实现为固件片,但UEFI可包括置于计算机固件的顶层的可编程软件接口(包括例如可以将类似功能(例如,预引导或自展(bootstrap)功能)执行为“传统(legacy)”BIOS的基于UEFI的BIOS类固件)和硬件。
UEFI可以提供称为EFI字节代码或EBC的设备驱动器环境。系统固件可以包括针对驻留在或加载到EBC环境中的任何EBC映像(image)的解释器。 EBC仅是UEFI模块可被编译成的一种可能的目标二进制格式。UEFI驱动器例如可被编译成不是EBC的格式。UEFI驱动器可以提供针对硬件组件的支持并执行针对客户端应用的任务。UEFI可以定义能够运行UEFI应用的壳(shell) 环境。壳环境通常用作开发/诊断/支持环境。相比而言,UEFI BIOS可潜在的具有许多UEFI应用,以执行各种用户可配置任务,例如以配置比如引导设备偏好等的PC设置。UEFI可以定义作为用于在两个二进制模块(例如,驱动器或客户端应用)之间通信的软件接口集的协议。UEFI驱动器可以经由协议向其他驱动器和应用提供服务。协议可以由UEFI驱动器产生,并且可以被其他UEFI驱动器和任何类型的UEFI应用使用(consume)。
UEFI中更健壮的特征的实现方式可要求程序员充分开发或适配库、应用和 /或驱动器,以符合UEFI的编程模型和应用编程接口(API),其虽然基于C,但可能不符合现有的C标准(例如,ANSI C、C99等)。为了弥补该差距的部分,根据C95规范的标准C库的端口以及附加地伯克利软件分发(BSD)套接字(socket)库的端口以及一些可移植操作系统接口(POSIX)功能可被包括在开源UEFI开发套件(又名TianoCore)中,作为“UEFI应用开发套件”(EADK) 的一部分。
由于关于平台(如小型闪存/ROM部件)的存储空间约束,固件开发中的另一个挑战可以是保持固件二进制映像的大小较小。在一些C开发环境中,使用动态链接(或共享)库(DLL)是解决该问题的常用方法。利用该方法,可以在目标环境中安装库二进制的仅一个拷贝,而不管使用库的应用的数目(因此仅占用与库二进制大小一样多的字节)。在UEFI环境中,动态链接可通过使用UEFI驱动器实现,其中UEFI驱动器可以实现将被UEFI应用或其他UEFI 驱动器使用(例如,链接)的库,并且可以通过一个或多个UEFI协议接口暴露它。
由UEFI应用开发套件提供的标准C库的使用可仅限于从EFI壳启动的 UEFI应用(例如,“托管的实现方式”)。另一方面,UEFI驱动器可能无法直接利用(leverage)这些C库。在本文描述的各种示例中,用户可以被允许规避该限制和将现有基于标准的C库(例如包括,依赖于使用套接字的用于网络通信的标准C API的许多现有库)移植(port)到UEFI环境上,所述UEFI环境包括部署C库的单个拷贝作为UEFI驱动器的能力。
图1图示根据一个示例的用于在UEFI环境中利用C库功能的示例运行流程100。示例运行流程100可以包括一个或多个客户端应用105(在图1的示例中图示三个客户端应用105-1、105-2和105-3),其可以调用(invoke)一个或多个暴露的UEFI驱动器功能110。客户端应用105可以经由用于往来于UEFI 驱动器功能110的通信的一个或多个外部协议117被链接到并调用UEFI驱动器功能110。UEFI驱动器功能110可以包括两个组件:封装器(wrapper)驱动器115和工作器(worker)应用120。封装器驱动器115可被实现为常规的UEFI驱动器(例如,提供加载/卸载能力、安装协议等)。工作器应用120可被实现为 UEFI应用。在各种示例中,工作器应用120可包含通过从标准的基于C的库 125移植的各种功能提供的核心功能,其可以与工作器应用120静态链接。示例运行流程100可以采用允许工作器应用120被嵌入在封装器驱动器115的二进制映像中和从其内加载的技术,从而允许封装器驱动器115和工作器应用120 被捆绑成单个二进制映像。
在运行流程100的各种示例中,封装器驱动器115可以隐藏工作器应用120,并且可以通过一个或多个外部协议117仅仅暴露去往工作器应用120的接口,其包括在工作器应用120中实现无论什么特征。经由外部协议117暴露的特征进而由封装器驱动器通过一个或多个内部协议119与工作器应用连接,以命令工作器应用执行实际工作。在各种示例中,封装器驱动器115可将工作委托给工作器应用120。如上所讨论的,协议可基本上是由要被其它系统组件(例如,类似于公布的DLL或共享库的API)所使用的UEFI驱动器公布的功能指针和数据结构(API)的块。通过在工作器应用120中实现核心功能并经由内部协议 119调用C库特征,示例性运行流程100可以能够规避技术限制,该技术限制可防止构建与由UEFI开发套件(EADK)提供的标准C库直接链接的UEFI驱动器。
在各种示例中,工作器应用120可以被存储在用于封装器驱动器115的代码内。在这方面,每次加载工作器应用120时,它可以从存储器中的固定位置访问。因此,可以减少或消除审查ROM中的驱动器文件或将工作器应用从ROM 加载到RAM的需要。
在各种示例中,工作器应用120可以代表封装器驱动器115运行操作。为此,在一些示例中,当由外部协议117调入(call)时,封装器驱动器115可以加载和启动工作器应用120;当被启动时,工作器应用可以使用内部协议(本文称为GetOperation)查询驱动器以确定什么操作将被工作器应用120运行。在执行GetOperation查询之后,工作器应用可以利用由封装器驱动器115提供的参数调入在移植的C库125中的(一个或多个)对应功能。在一些示例中,在执行指定的操作之后,工作器应用120可以在存储器缓冲器130中存储任何结果,并且然后可以退出,将控制返回给封装器驱动器115,所述封装器驱动器可以然后在完成由客户端应用105之一请求的任务时将控制返回给客户端应用105。客户端应用然后可以从存储器缓冲器130检索结果。以这种方式,对于由客户端应用105向通过封装器驱动器115暴露的外部API进行的每次调入,工作器应用120可被加载到存储器内、被运行和被卸载。
现在参考图2,图示示例系统200。例如,图2的示例系统200可以实现图 1的运行流程100。示例系统200可以包括耦合到UEFI软件接口230的操作系统210,所述UEFI软件接口230可以耦合到处理器250。示例处理器250可以是可处理电子指令的任何处理器,诸如芯片或芯片组。在各种示例中,处理器 250可具有非临时性存储器设备252。示例存储器设备252可以包括各种类型的存储设备中的任一种,诸如闪速存储器、硬盘或其它这样的存储设备。在各种示例中,存储器设备252可以与处理器250整体地形成或者可以是外部存储器设备。存储器设备252可以包括可以由处理器运行的程序代码。例如,可以执行一个或多个过程以运行如以上参考图1描述的客户端应用105。
在各种示例中,UEFI软件接口230可以包括预引导模块235,其提供了UEFI 预引导环境。预引导环境允许UEFI应用(和驱动器)作为系统自举序列的部分运行,其可包括自动加载预定义UEFI模块集(驱动器和应用)。作为自动加载的替代方案,在操作系统210引导之前,自举序列或其一部分可以由用户干预 (例如,通过按压键盘上的键)触发。在各种示例中,待加载的模块的列表可以被硬编码到系统ROM中。例如,BIOS设置菜单用户接口可以是一个这样的应用。
示例系统200还可以包括客户端应用数据库220,其可以存储用于图1的示例的客户端应用105-1、105-2和105-3的计算机程序代码。在客户端应用数据库中的客户端应用105可以调用由UEFI软件接口230实现的UEFI驱动器。客户端应用105可包括在由预引导模块235调用的自举序列期间使用的应用。在各种示例中,UEFI驱动器可以包括封装器驱动器,诸如上述封装器驱动器115,其可以调用工作器应用,诸如上述工作器应用120。封装器驱动器和工作器应用可以被存储在客户端应用数据库220中。
UEFI软件接口230可以与存储标准C库(诸如由UEFI应用开发套件提供的标准C库)的C库数据库340进行通信。如上所述,响应于执行经由内部协议119对封装器驱动器115之一的GetOperation查询,工作器应用120可以动态链接到C库数据库240中的各种功能。
图3图示用于在UEFI环境中利用C库功能的示例过程300,例如,如上面参考图1所描述。在各种示例中,过程300可至少部分由图2的示例系统200 执行。过程300将进一步参考图1和2来描述。
在图3中图示的示例中,过程300可以以通过处理器250例如结合UEFI 软件接口230和预引导模块235发起客户端应用105之一而开始。客户端应用 105可以被存储在客户端应用数据库220中。客户端应用105可被编写成使得其使用由封装器驱动器115产生的UEFI协议(例如,在图1中的外部协议117),并且可以调用UEFI协议的操作(框310)。处理器250可以发起运行封装器驱动器115,以便调用所使用的协议的操作。
当被发起时,封装器驱动器115可以使处理器250记录关于所调用的操作的详情(框315)。例如,可以在存储器设备252中内部记录所述详情。在各种示例中,所记录的详情可包括要运行哪些功能,要使用哪些输入参数以及要在运行调用的操作之后返回哪些输出数据。
在框320处,封装器驱动器115可以使处理器250将工作器应用120的二进制映像加载到存储器252中。在各种示例中,可以使用UEFI接口230的 LoadImage(加载映像)系统服务功能来加载工作器应用120的映像。处理器250 然后可以开始运行工作器应用120的二进制映像。这可以使用UEFI接口230 的StartImage(开始映像)系统服务功能实现。开始运行工作器应用120可阻止客户端应用105调入封装器驱动器115,直到工作器应用120运行、退出并返回到封装器驱动器115为止。
当在框320处由封装器驱动器115发起时,工作器应用120可使用内部协议119查询封装器驱动器115,所述内部协议119提供上述GetOperationAPI(框 325)。在图3的示例中,在框330处,响应于该查询,封装器驱动器115可返回对于运行操作必要的参数,其在阶段315由封装器驱动器115记录。在各种示例中,工作器应用120可接收参数(框330)。
在各种示例中,工作器应用120可基于在框330处从封装器驱动器115接收的参数运行来自C库数据库240的一个或多个移植的功能(框335)。当接收到功能时,工作器应用120可以使处理器250使用在框330处获得的输入参数来运行移植的功能。
在图3的示例中,在框340处,在完成移植的C功能的运行之后,工作器应用120可以将输出数据写到存储器缓冲器130。在一些示例中,在C库中,例如,数据可通过输出指针返回到调入者。这由UEFI接口230完全支持,其利用如下事实:在引导服务可用的同时在UEFI中没有过程/存储器隔离。尽管客户端应用105、封装器驱动器115和工作器应用120都是独立的可执行二进制映像这一事实,来自C库数据库的底层功能可以能够写到由上层(例如,客户端应用105和/或封装器驱动器115)传下来的存储器地址。
在图1的示例过程的框345处,工作器应用120可退出运行,并且控制可经由StartImage系统服务功能返回给封装器驱动器115。在框350处,如果其他操作需要被调用来完成在框315处记录的详情,可以重复框320-345的处理,直到所有操作被完成为止。当完成所有操作时,封装器驱动器115可以退出,并且控制可被返回给客户端应用105(框355)。在框360处,例如,客户端应用 105可以在存储器缓冲器130中在指定的缓冲器地址处检索由工作器应用120 存储的输出数据。
在图3中图示的过程300仅是示例而不是限制性的。在各种示例中,过程 300可以例如通过使步骤或块被添加、移除、重布置、组合和/或并发执行而被变更。例如,在一些示例中,框360(其中,客户端应用105可从存储器缓冲器 130检索输出数据)可在框320-345被重复之前执行(见框350),以在阶段310 处执行由客户端应用调用的其它操作。对如示出和描述的过程300的又其它的变更是可能的并被预计在本公开文件的范围内。
上文描述的方法和系统的一个潜在的益处是减少的开发时间和因此上市时间以及基于UEFI的固件特征的提高的质量,允许在UEFI环境中重用现有的经证实的基于C的应用/库。
本文描述的各种示例在方法步骤或过程的一般上下文中描述,其可以在一个示例中通过体现在机器可读介质中的软件程序产品或组件来实现,所述软件程序产品或组件包括可执行指令,诸如由联网环境中的实体运行的程序代码。通常,程序模块可以包括例程、程序、对象、组件、数据结构等,其可被设计成执行特定任务或实现特定抽象数据类型。可执行指令、关联的数据结构和程序模块表示用于执行本文公开的方法的步骤的程序代码的示例。这样的可执行指令或关联的数据结构的特定序列表示用于实现在这样的步骤或过程中描述的功能的对应动作的示例。
各种示例的软件实现方式可以利用具有基于规则的逻辑和其他逻辑的标准编程技术来实现,以实现各种数据库搜索步骤或过程、相关步骤或过程、比较步骤或过程和决策步骤或过程。
已经出于说明和描述的目的呈现各种示例的前述描述。前述描述并不旨在是穷尽的或限制于所公开的示例,并且修改和变化根据上述教导而是可能的,或者可以从各种示例的实践中获得。本文所讨论的示例被选择和描述,以便解释本公开的各种示例的原则和性质和其实际应用,以使得本领域技术人员能够利用各种示例中的和具有如适合于预计的特定使用的各种修改的本发明。本文所描述的示例的特征可以以方法、装置、模块、系统和计算机程序产品的所有可能的组合进行组合。
本文还注意到,虽然以上描述了示例,但是这些描述不应当被视为限制意义。而是,存在在不背离如所附的权利要求中限定的范围的情况下可以做出的若干变化和修改。

Claims (15)

1.一种用于统一可扩展固件接口的装置,包括:
处理器;和
包括计算机程序代码的存储器设备,存储器设备和计算机程序代码利用所述处理器,以使所述装置:
运行客户端应用,所述客户端应用使用第一协议,所述协议已经由统一可扩展固件接口(UEFI)封装器驱动器产生;
利用客户端应用调用UEFI封装器驱动器以执行所述协议的至少一个操作;
利用封装器驱动器加载工作器应用的二进制映像以调用至少一个操作,
其中,工作器应用调入软件库的至少一个功能以执行至少一个操作。
2.根据权利要求1所述的装置,其中,所述计算机程序代码还使工作器应用经由由UEFI封装器驱动器产生的第二协议来查询UEFI封装器驱动器,和从UEFI封装器驱动器接收参数,所述参数被用于利用至少一个功能来执行至少一个操作。
3.根据权利要求2所述的装置,其中,所述计算机程序代码还使至少一个功能基于所述参数来执行至少一个操作。
4.根据权利要求1所述的装置,其中,所述计算机程序代码还使工作器应用将输出数据写到存储器缓冲器,所述输出数据从至少一个操作得出。
5.根据权利要求4所述的装置,其中,所述计算机程序代码还使客户端应用从存储器缓冲器检索输出数据。
6.一种用于统一可扩展固件接口的方法,包括:
经由由统一可扩展固件接口(UEFI)封装器驱动器产生的第一协议来接收UEFI封装器驱动器处的调用,所述调用指示以执行至少一个操作;
加载工作器应用的二进制映像;
经由由UEFI封装器驱动器产生的第二协议接收来自工作器应用的二进制映像的查询;
响应于所述查询,从UEFI封装器驱动器向工作器应用发送执行至少一个操作所需的参数,和
利用工作器应用调入软件库的至少一个功能,以基于所述参数执行至少一个操作,
其中,UEFI封装器驱动器、工作器应用和至少一个功能在处理器上运行。
7.根据权利要求6所述的方法,还包括:
运行至少一个功能以执行至少一个操作。
8.根据权利要求6所述的方法,其中,所述至少一个功能是C程序。
9.根据权利要求6所述的方法,还包括:
利用工作器应用,在至少一个功能执行至少一个操作之后,将输出数据写到存储器缓冲器。
10.根据权利要求9所述的方法,其中,从使用第一协议的客户端应用接收调用,所述方法还包括:
利用客户端应用从存储器缓冲器检索输出数据。
11.一种其上体现有计算机程序产品的非临时计算机可读介质,包括:
运行统一可扩展固件接口(UEFI)封装器驱动器的计算机代码,所述UEFI封装器驱动器产生第一协议和第二协议;
运行客户端应用的计算机代码,所述客户端应用使用第一协议以调用第一协议的至少一个操作,
响应于至少一个操作被调用而利用UEFI封装器驱动器加载工作器应用的二进制映像的计算机代码;和
运行工作器应用的计算机代码,所述工作器应用调入软件库的至少一个功能以执行至少一个操作。
12.根据权利要求11所述的非临时计算机可读介质,其中,运行工作器应用的计算机代码使工作器应用经由第二协议针对执行至少一个操作所需的参数而查询UEFI封装器驱动器应用。
13.根据权利要求12所述的非临时计算机可读介质,其中,运行UEFI封装器驱动器的计算机代码使UEFI封装器驱动器记录关于存储器中的至少一个操作的详情,以及响应于所述查询而向工作器应用发送详情的至少一部分。
14.根据权利要求11所述的非临时计算机可读介质,其中,当至少一个调入的功能执行至少一个操作时,退出工作器应用,并且控制返回给UEFI封装器驱动器,并且运行UEFI封装器驱动器的计算机代码还使UEFI封装器驱动器加载工作器应用的另一个二进制映像以执行另一个调用的操作。
15.根据权利要求14所述的非临时计算机可读介质,其中,运行工作器应用的计算机代码使工作器应用的第二二进制映像调入软件库的另一个功能,以执行另一个调用的操作。
CN201380076247.5A 2013-06-14 2013-06-14 用于统一可扩展固件接口(uefi)驱动器和协议的方法和装置 Active CN105378689B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/045962 WO2014200511A1 (en) 2013-06-14 2013-06-14 Unified extensible firmware interface (uefi) driver and protocol

Publications (2)

Publication Number Publication Date
CN105378689A CN105378689A (zh) 2016-03-02
CN105378689B true CN105378689B (zh) 2019-01-18

Family

ID=52022637

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380076247.5A Active CN105378689B (zh) 2013-06-14 2013-06-14 用于统一可扩展固件接口(uefi)驱动器和协议的方法和装置

Country Status (4)

Country Link
US (1) US9678767B2 (zh)
EP (1) EP3008604A4 (zh)
CN (1) CN105378689B (zh)
WO (1) WO2014200511A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9613095B2 (en) 2014-09-23 2017-04-04 Quixey, Inc. Entity-based external functionality for software developers
US9766861B2 (en) * 2014-09-23 2017-09-19 Quixey, Inc. State-specific external functionality for software developers
US9703534B2 (en) 2014-09-23 2017-07-11 Quixey, Inc. Dynamic entity inference for developer integration of entity-based external functionality
US9864580B2 (en) 2015-10-26 2018-01-09 Samsung Electronics Co., Ltd. Dynamic availability-based integration of external functionality
US10521216B2 (en) 2017-01-17 2019-12-31 Oracle International Corporation Unified extensible firmware interface updates
US11036408B2 (en) 2017-03-26 2021-06-15 Oracle International Corporation Rule-based modifications in a data storage appliance monitor
US11360907B2 (en) * 2017-03-30 2022-06-14 Intel Corporation Methods and apparatus to protect memory from buffer overflow and/or underflow
TWI660267B (zh) * 2018-03-28 2019-05-21 和碩聯合科技股份有限公司 開機檢測裝置、系統及其方法
US11500994B2 (en) * 2020-09-23 2022-11-15 Dell Products L.P. Communication system personality provisioning system
US11514166B2 (en) * 2020-10-20 2022-11-29 Dell Products L.P. Systems and methods to protect unified extensible firmware interface protocol serviceability
CN113918228B (zh) * 2021-09-15 2023-10-13 成都安恒信息技术有限公司 一种基于多cpu架构的内存文件系统启动方法
CN116149759B (zh) * 2023-04-20 2023-07-14 深圳市吉方工控有限公司 Uefi驱动卸载方法、装置、电子设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102214154A (zh) * 2011-05-31 2011-10-12 上海交通大学 基于usb的交流伺服驱动器通信模块及通信方法
CN102541606A (zh) * 2011-12-31 2012-07-04 曙光信息产业股份有限公司 基于uefi远程管理bios的配置方法和装置
CN103092648A (zh) * 2013-01-07 2013-05-08 华为终端有限公司 一种镜像升级方法、系统及用户设备和个人计算机

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8201239B2 (en) * 2008-06-23 2012-06-12 Intel Corporation Extensible pre-boot authentication
US8082436B2 (en) 2008-07-08 2011-12-20 Dell Products L.P. Enhanced UEFI framework layer
US8321656B2 (en) * 2009-06-13 2012-11-27 Phoenix Technologies Ltd. Timer use in extensible firmware interface compliant systems
US8484631B2 (en) 2011-03-30 2013-07-09 Phoenix Technologies Ltd. Supporting hardware configuration changes in a UEFI firmware component
US8726258B2 (en) * 2011-04-14 2014-05-13 Phoenix Technologies Ltd. Supporting multiple hardware components in UEFI
US9021244B2 (en) * 2011-11-04 2015-04-28 Insyde Software Corp. Secure boot administration in a Unified Extensible Firmware Interface (UEFI)-compliant computing device
KR101805627B1 (ko) * 2011-11-28 2017-12-08 삼성전자주식회사 컴퓨터 시스템의 부팅 제어 방법 및 이를 수행하는 부팅 제어 장치
US9910684B2 (en) * 2013-03-25 2018-03-06 Hewlett Packard Enterprise Development Lp Extensible firmware abstraction

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102214154A (zh) * 2011-05-31 2011-10-12 上海交通大学 基于usb的交流伺服驱动器通信模块及通信方法
CN102541606A (zh) * 2011-12-31 2012-07-04 曙光信息产业股份有限公司 基于uefi远程管理bios的配置方法和装置
CN103092648A (zh) * 2013-01-07 2013-05-08 华为终端有限公司 一种镜像升级方法、系统及用户设备和个人计算机

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Driver Writers Guide for UEFI 2.3.1;Laurie Jarlstrom;《https://github.com/tianocore-docs/Docs/raw/master/Driver_Developer/UEFI_Driver_Writer_Guide_V1.0.1_120308.pdf》;20120803;第24-28页,第80页 *

Also Published As

Publication number Publication date
WO2014200511A1 (en) 2014-12-18
US9678767B2 (en) 2017-06-13
US20160103693A1 (en) 2016-04-14
EP3008604A1 (en) 2016-04-20
CN105378689A (zh) 2016-03-02
EP3008604A4 (en) 2017-01-18

Similar Documents

Publication Publication Date Title
CN105378689B (zh) 用于统一可扩展固件接口(uefi)驱动器和协议的方法和装置
CN109933522B (zh) 一种自动化用例的测试方法、测试系统及存储介质
US11762634B2 (en) Systems and methods for seamlessly integrating multiple products by using a common visual modeler
US9811360B2 (en) Dynamic determination of application server runtime classloading
KR102368200B1 (ko) 장치 설계를 위한 코드 모듈 선택
US20090327996A1 (en) Framework for Programming Embedded System Applications
WO2021018005A1 (zh) 一种跨进程通信方法、装置及设备
US9841953B2 (en) Pluggable components for runtime-image generation
US20130125092A1 (en) Generating deployable code from simulation models
CN112256321A (zh) 静态库打包方法、装置、计算机设备和存储介质
CN113297566A (zh) 沙箱实现方法、装置、设备和存储介质
US20200356400A1 (en) Scalable and Secure Containers
TW201721412A (zh) 選擇及載入韌體卷區之技術
TW202403541A (zh) 第三方行動應用程式中引入小程序的系統、方法、裝置及介質
CN112114789B (zh) 一种业务开发方法及设备
CN110221840B (zh) 应用程序的功能实现方法及装置、设备及存储介质
US20130125093A1 (en) Generating object-oriented programming language code from a multi-domain dynamic simulation model
US11934420B2 (en) Systems and methods for componentization and plug and play workflows
CN106802805B (zh) 一种适用服务器管理的应用服务管理方法及装置
US9244672B2 (en) Optimization utility for developing embedded systems
US11281477B2 (en) Assigning computing resources to execution of evaluators for image animation
CN114237760B (zh) 一种将工业机理模型封装为容器镜像并发布web服务的方法
CN115344275A (zh) 操作系统的镜像文件生成方法、装置和计算机设备
CN112559079A (zh) 数据源连接驱动自适应加载方法、装置及电子设备
CN106775734B (zh) 一种Andriod系统工程化的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant