概述
System Description Language-----系统描述语言(用于描述硬件和配置的编程语言)
是AMI引入的一种描述语言,SDL简单的说就是把BIOS代码中经常要改动的地方整理出来,单独放在SDL文件里面。这样要修改BIOS的时候,只需要改动SDL文件就可以了,不用去改动什么ASM,所以用SDL的目的是为了易于BIOS工程师更好的维护整个工程。
TOKEN
在AMI BIOS开发中,Token是一种预处理器宏,用于在编译时控制编译选项,生成代码和配置系统行为。token是由固件开发人员定义的一组字符串常量,可以被用于指定编译选项,开启或关闭特定的功能,配置系统行为等。
TOKEN
Name = "Bds_SUPPORT"
Value = "1"
Help = "Main switch to enable Bds support in Project"
TokenType = Boolean
TargetMAK = Yes
Master = Yes
End
-
Token的名称:使用大写字母和下划线。
-
Token的值:这里是1,一般地值与类型对应。
-
Token的类型:Boolean布尔类型,用于储存逻辑真或假。
除了此类型还有如下几种常用类型:- Integer:表示整数类型的数据。Integer类型的值可以是一个有符号或无符号的整数,取决于具体的应用场景。
- Expression:用于在BIOS配置中表示条件或表达式。Expression类型可以用于根据不同的条件来进行配置。
-
TargetEQU:是该token可以被赋予等于值的属性,进而可以控制BIOS的执行流程。
-
TargetMAK:是表示这个token会被包含在生成的‘.mak’文件中,以供其他的源代码使用。
-
Master:是一种token类型,表示该token是该组内的主token,只有当此token为1时其他token才会发挥作用。
-
Help:是一种token属性,用于提供有关特定token的帮助文本。
ELINK
在UEFI BIOS中,ELINK时一种链接器技术,用于将不同的模块链接在一起,生成一个可执行的UEFI BOIS映像。ELINK块用于在BIOS代码中连接不同代码或对象,并确定它们之间的执行顺序。
ELINK
Name = "PartitionDevicePathTest,"
Parent = "BootOptionDpMatchingFunctions"
InvokeOrder = AfterParent
End
- Name:ELINK块的名称,此处为“ForceBiosRecovery”
- Parent:父ELINK块的名称,此处为“IsPlatformRecovery”
- InvokeOrder:ELINK块的调用顺序,在此处设置为在父ELINK块之后调用
- Token:与ELINK块相关联的token,此处关联的是当“FORCE_BIOS_RECOVERY_SUPPORT”为1时的条件存在时,ELINK执行。