• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
Aucun tag

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

Révision00194272519855ad26b7d5de2fd0419cf2963942 (tree)
l'heure2022-07-26 03:57:27
AuteurYogesh Siraswar <yogeshs@ti.c...>
CommiterTom Rini

Message de Log

k3_gen_x509_cert: Make SWRV configurable for anti-rollback protection

The x509 certificate SWRV is currently hard-coded to 0. This need to be
updated to 1 for j721e 1.1, j7200 and am64x. It is don't care for other
k3 devices.

Added new config K3_X509_SWRV to k3. Default is set to 1.

Signed-off-by: Yogesh Siraswar <yogeshs@ti.com>
Reviewed-by: Dave Gerlach <d-gerlach@ti.com>

Change Summary

Modification

--- a/arch/arm/mach-k3/Kconfig
+++ b/arch/arm/mach-k3/Kconfig
@@ -176,6 +176,12 @@ config K3_DM_FW
176176 bootloader, it makes RM and PM services not being available
177177 during R5 SPL execution time.
178178
179+config K3_X509_SWRV
180+ int "SWRV for X509 certificate used for boot images"
181+ default 1
182+ help
183+ SWRV for X509 certificate used for boot images
184+
179185 source "board/ti/am65x/Kconfig"
180186 source "board/ti/am64x/Kconfig"
181187 source "board/ti/am62x/Kconfig"
--- a/arch/arm/mach-k3/config.mk
+++ b/arch/arm/mach-k3/config.mk
@@ -28,6 +28,9 @@ else
2828 KEY=$(patsubst "%",$(srctree)/%,$(CONFIG_SYS_K3_KEY))
2929 endif
3030
31+# X509 SWRV default
32+SWRV = $(CONFIG_K3_X509_SWRV)
33+
3134 # tiboot3.bin is mandated by ROM and ROM only supports R5 boot.
3235 # So restrict tiboot3.bin creation for CPU_V7R.
3336 ifdef CONFIG_CPU_V7R
@@ -42,7 +45,7 @@ image_check: $(obj)/u-boot-spl.bin FORCE
4245
4346 tiboot3.bin: image_check FORCE
4447 $(srctree)/tools/k3_gen_x509_cert.sh -c 16 -b $(obj)/u-boot-spl.bin \
45- -o $@ -l $(CONFIG_SPL_TEXT_BASE) -k $(KEY)
48+ -o $@ -l $(CONFIG_SPL_TEXT_BASE) -r $(SWRV) -k $(KEY)
4649
4750 INPUTS-y += tiboot3.bin
4851 endif
--- a/tools/k3_gen_x509_cert.sh
+++ b/tools/k3_gen_x509_cert.sh
@@ -13,6 +13,7 @@ LOADADDR=0x41c00000
1313 BOOTCORE_OPTS=0
1414 BOOTCORE=16
1515 DEBUG_TYPE=0
16+SWRV=1
1617
1718 gen_degen_template() {
1819 cat << 'EOF' > degen-template.txt
@@ -70,7 +71,7 @@ cat << 'EOF' > x509-template.txt
7071 shaValue = FORMAT:HEX,OCT:TEST_IMAGE_SHA_VAL
7172
7273 [ swrv ]
73- swrv = INTEGER:0
74+ swrv = INTEGER:TEST_SWRV
7475
7576 # [ encryption ]
7677 # initalVector = FORMAT:HEX,OCT:TEST_IMAGE_ENC_IV
@@ -153,8 +154,9 @@ options_help[o]="output_file:Name of the final output file. default to $OUTPUT"
153154 options_help[c]="core_id:target core id on which the image would be running. Default to $BOOTCORE"
154155 options_help[l]="loadaddr: Target load address of the binary in hex. Default to $LOADADDR"
155156 options_help[d]="debug_type: Debug type, set to 4 to enable early JTAG. Default to $DEBUG_TYPE"
157+options_help[r]="SWRV: Software Rev for X509 certificate"
156158
157-while getopts "b:k:o:c:l:d:h" opt
159+while getopts "b:k:o:c:l:d:h:r:" opt
158160 do
159161 case $opt in
160162 b)
@@ -175,6 +177,9 @@ do
175177 d)
176178 DEBUG_TYPE=$OPTARG
177179 ;;
180+ r)
181+ SWRV=$OPTARG
182+ ;;
178183 h)
179184 usage
180185 exit 0
@@ -230,6 +235,7 @@ gen_cert() {
230235 #echo " IMAGE_SIZE = $BIN_SIZE"
231236 #echo " CERT_TYPE = $CERTTYPE"
232237 #echo " DEBUG_TYPE = $DEBUG_TYPE"
238+ echo " SWRV = $SWRV"
233239 sed -e "s/TEST_IMAGE_LENGTH/$BIN_SIZE/" \
234240 -e "s/TEST_IMAGE_SHA_VAL/$SHA_VAL/" \
235241 -e "s/TEST_CERT_TYPE/$CERTTYPE/" \
@@ -237,6 +243,7 @@ gen_cert() {
237243 -e "s/TEST_BOOT_CORE/$BOOTCORE/" \
238244 -e "s/TEST_BOOT_ADDR/$ADDR/" \
239245 -e "s/TEST_DEBUG_TYPE/$DEBUG_TYPE/" \
246+ -e "s/TEST_SWRV/$SWRV/" \
240247 x509-template.txt > $TEMP_X509
241248 openssl req -new -x509 -key $KEY -nodes -outform DER -out $CERT -config $TEMP_X509 -sha512
242249 }