From b7c51c9cf4864df6aabb99a1ae843becd577237c Mon Sep 17 00:00:00 2001 From: raywu Date: Fri, 15 Jun 2018 00:00:50 +0800 Subject: init. 1AQQW051 --- Board/CPU/Microcode/Microcode.sdl | 150 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 Board/CPU/Microcode/Microcode.sdl (limited to 'Board/CPU/Microcode/Microcode.sdl') diff --git a/Board/CPU/Microcode/Microcode.sdl b/Board/CPU/Microcode/Microcode.sdl new file mode 100644 index 0000000..5744c34 --- /dev/null +++ b/Board/CPU/Microcode/Microcode.sdl @@ -0,0 +1,150 @@ +TOKEN + Name = "Microcode_SUPPORT" + Value = "1" + Help = "Main switch to enable Microcode support in Project" + TokenType = Boolean + TargetEQU = Yes + TargetMAK = Yes + Master = Yes +End + +TOKEN + Name = "NON_PRODUCTION_MICROCODE" + Value = "0" + Help = "Enable Non-production Microcode" + TokenType = Boolean +End + +TOKEN + Name = "MICROCODE_SPLIT_BB_UPDATE" + Value = "0" + Help = "If enabled, \ a) Microcode added at build time is stored in boot block.\ b) Microcode updates by INT15h are stored in the main firmware volume.\If disabled, all microcode is in the main firmware volume.\\If enabled, microcode is more fault tolerant, but requires more flash space.\" + TokenType = Boolean + TargetEQU = Yes + TargetMAK = Yes + TargetH = Yes +End + + +TOKEN + Name = "MICROCODE_PAD_SIZE" + Value = "0x2000" + TokenType = Integer + TargetEQU = Yes + TargetMAK = Yes + Token = "MICROCODE_SPLIT_BB_UPDATE" "=" "0" +End + +TOKEN + Name = "MICROCODE_PAD_SIZE" + Value = "0x5000" + TokenType = Integer + TargetEQU = Yes + TargetMAK = Yes + Token = "MICROCODE_SPLIT_BB_UPDATE" "=" "1" +End + +TOKEN + Name = "MICROCODE_BLOCK_SIZE" + Value = "2048" + Help = "Do not change. This matches the INT15h Microcode update." + TokenType = Integer + TargetEQU = Yes + TargetMAK = Yes + TargetH = Yes + Lock = Yes +End + +TOKEN + Name = "PACK_MICROCODE" + Value = "1" + Help = "This packs the microcode with no gaps.\If Split microcode is disabled, it is recommended for this to be disabled\for compatibility with earlier CPU modules.\The CPU module must support this. " + TokenType = Boolean + TargetEQU = Yes + TargetMAK = Yes + TargetH = Yes + Token = "MICROCODE_SPLIT_BB_UPDATE" "=" "1" +End + +TOKEN + Name = "MICROCODE_ALIGNMENT" + Value = "$(MICROCODE_BLOCK_SIZE)" + TokenType = Integer + TargetEQU = Yes + TargetMAK = Yes +End + +TOKEN + Name = "MICROCODE_ALIGNMENT" + Value = "16" + TokenType = Integer + TargetEQU = Yes + TargetMAK = Yes + Token = "MICROCODE_SPLIT_BB_UPDATE" "=" "1" +End + +TOKEN + Name = "FV_MICROCODE_BASE" + Value = "$(FV_MAIN_BASE)" + TokenType = Integer + TargetEQU = Yes + TargetMAK = Yes + TargetH = Yes + Token = "MICROCODE_SPLIT_BB_UPDATE" "=" "0" +End + +TOKEN + Name = "FV_MICROCODE_BASE" + Value = "$(FV_BB_BASE)" + TokenType = Integer + TargetEQU = Yes + TargetMAK = Yes + TargetH = Yes + Token = "MICROCODE_SPLIT_BB_UPDATE" "=" "1" +End + +TOKEN + Name = "FV_MICROCODE_UPDATE_BASE" + Value = "$(FV_MAIN_BASE)" + TokenType = Integer + TargetEQU = Yes + TargetMAK = Yes + TargetH = Yes + Token = "MICROCODE_SPLIT_BB_UPDATE" "=" "1" +End + +PATH + Name = "MICROCODE_DIR" +End + +MODULE + Help = "Includes Microcode.mak to Project" + File = "Microcode.mak" +End + +ELINK + Name = "MICROCODE_FILES" + InvokeOrder = ReplaceParent +End + +ELINK + Name = "$(BUILD_DIR)\Microcode.ffs" + Parent = "FV_MAIN" + Token = "MICROCODE_SPLIT_BB_UPDATE" "=" "0" + InvokeOrder = BeforeParent +End + +ELINK + Name = "$(BUILD_DIR)\Microcode.ffs" + Parent = "FV_BB" + Token = "MICROCODE_SPLIT_BB_UPDATE" "=" "1" + InvokeOrder = BeforeParent +End + +ELINK + Name = "$(BUILD_DIR)\Microcode_Blank.ffs" + Parent = "FV_MAIN" + Token = "MICROCODE_SPLIT_BB_UPDATE" "=" "1" + InvokeOrder = BeforeParent +End + -- cgit v1.2.3