summaryrefslogtreecommitdiff
path: root/Board/CPU/Microcode/Microcode.sdl
diff options
context:
space:
mode:
Diffstat (limited to 'Board/CPU/Microcode/Microcode.sdl')
-rw-r--r--Board/CPU/Microcode/Microcode.sdl150
1 files changed, 150 insertions, 0 deletions
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
+