diff mbox series

[kvm-unit-tests,v1] s390x/Makefile: simplify Secure Execution boot image generation

Message ID 20231121172338.146006-1-mhartmay@linux.ibm.com (mailing list archive)
State New, archived
Headers show
Series [kvm-unit-tests,v1] s390x/Makefile: simplify Secure Execution boot image generation | expand

Commit Message

Marc Hartmayer Nov. 21, 2023, 5:23 p.m. UTC
Changes:
+ merge Makefile rules for the generation of the Secure Execution boot
  image
+ fix `parmfile` dependency for the `selftest.pv.bin` target
+ rename `genprotimg_pcf` to `GENPROTIMG_PCF` to match the coding style
  in the file
+ always provide a customer communication key - not only for the
  confidential dump case. Makes the code little easier and doesn't hurt.

Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
---
 s390x/Makefile | 40 +++++++++++++++++-----------------------
 1 file changed, 17 insertions(+), 23 deletions(-)


base-commit: d0891021d5ad244c99290b4515152a1f997a9404

Comments

Marc Hartmayer Jan. 9, 2024, 1:27 p.m. UTC | #1
On Tue, Nov 21, 2023 at 06:23 PM +0100, Marc Hartmayer <mhartmay@linux.ibm.com> wrote:
> Changes:
> + merge Makefile rules for the generation of the Secure Execution boot
>   image
> + fix `parmfile` dependency for the `selftest.pv.bin` target
> + rename `genprotimg_pcf` to `GENPROTIMG_PCF` to match the coding style
>   in the file
> + always provide a customer communication key - not only for the
>   confidential dump case. Makes the code little easier and doesn't hurt.
>
> Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
> ---
>  s390x/Makefile | 40 +++++++++++++++++-----------------------
>  1 file changed, 17 insertions(+), 23 deletions(-)
>
> diff --git a/s390x/Makefile b/s390x/Makefile
> index f79fd0098312..be89d8de1cba 100644
> --- a/s390x/Makefile
> +++ b/s390x/Makefile
> @@ -194,33 +194,27 @@ $(comm-key):
>  %.bin: %.elf
>  	$(OBJCOPY) -O binary  $< $@
>  
> -# Will only be filled when dump has been enabled
> -GENPROTIMG_COMM_KEY =
> -# allow PCKMO
> -genprotimg_pcf = 0x000000e0
> -
> -ifeq ($(CONFIG_DUMP),yes)
> -	# The genprotimg arguments for the cck changed over time so we need to
> -	# figure out which argument to use in order to set the cck
> -	GENPROTIMG_HAS_COMM_KEY = $(shell $(GENPROTIMG) --help | grep -q -- --comm-key && echo yes)
> -	ifeq ($(GENPROTIMG_HAS_COMM_KEY),yes)
> -		GENPROTIMG_COMM_KEY = --comm-key $(comm-key)
> -	else
> -		GENPROTIMG_COMM_KEY = --x-comm-key $(comm-key)
> -	endif
> -
> -	# allow dumping + PCKMO
> -	genprotimg_pcf = 0x200000e0
> +# The genprotimg arguments for the cck changed over time so we need to
> +# figure out which argument to use in order to set the cck
> +GENPROTIMG_HAS_COMM_KEY = $(shell $(GENPROTIMG) --help | grep -q -- --comm-key && echo yes)
> +ifeq ($(GENPROTIMG_HAS_COMM_KEY),yes)
> +	GENPROTIMG_COMM_OPTION := --comm-key
> +else
> +	GENPROTIMG_COMM_OPTION := --x-comm-key
>  endif
>  
> -# use x-pcf to be compatible with old genprotimg versions
> -genprotimg_args = --host-key-document $(HOST_KEY_DOCUMENT) --no-verify $(GENPROTIMG_COMM_KEY) --x-pcf $(genprotimg_pcf)
> -
> -%selftest.pv.bin: %selftest.bin $(HOST_KEY_DOCUMENT) $(patsubst %.pv.bin,%.parmfile,$@) $(comm-key)
> -	$(GENPROTIMG) $(genprotimg_args) --parmfile $(patsubst %.pv.bin,%.parmfile,$@) --image $< -o $@
> +ifeq ($(CONFIG_DUMP),yes)
> +	# allow dumping + PCKMO
> +	GENPROTIMG_PCF := 0x200000e0
> +else
> +	# allow PCKMO
> +	GENPROTIMG_PCF := 0x000000e0
> +endif
>  
> +$(patsubst %.parmfile,%.pv.bin,$(wildcard s390x/*.parmfile)): %.pv.bin: %.parmfile
>  %.pv.bin: %.bin $(HOST_KEY_DOCUMENT) $(comm-key)
> -	$(GENPROTIMG) $(genprotimg_args) --image $< -o $@
> +	$(eval parmfile_args = $(if $(filter %.parmfile,$^),--parmfile $(filter %.parmfile,$^),))
> +	$(GENPROTIMG) --host-key-document $(HOST_KEY_DOCUMENT) --no-verify $(GENPROTIMG_COMM_OPTION) $(comm-key) --x-pcf $(GENPROTIMG_PCF) $(parmfile_args) --image $(filter %.bin,$^) -o $@
>  
>  $(snippet_asmlib): $$(patsubst %.o,%.S,$$@) $(asm-offsets)
>  	$(CC) $(CFLAGS) -c -nostdlib -o $@ $<
>
> base-commit: d0891021d5ad244c99290b4515152a1f997a9404
> -- 
> 2.34.1
>
>

Polite ping.
Steffen Eiden Jan. 9, 2024, 2:59 p.m. UTC | #2
LGTM.



> Changes:
> + merge Makefile rules for the generation of the Secure Execution boot
>   image
> + fix `parmfile` dependency for the `selftest.pv.bin` target
> + rename `genprotimg_pcf` to `GENPROTIMG_PCF` to match the coding style
>   in the file
> + always provide a customer communication key - not only for the
>   confidential dump case. Makes the code little easier and doesn't hurt.
> 
> Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>

Reviewed-by: Steffen Eiden <seiden@linux.ibm.com>


> ---
>  s390x/Makefile | 40 +++++++++++++++++-----------------------
>  1 file changed, 17 insertions(+), 23 deletions(-)

[...]
Janosch Frank Jan. 10, 2024, 10:44 a.m. UTC | #3
On 11/21/23 18:23, Marc Hartmayer wrote:
> Changes:
> + merge Makefile rules for the generation of the Secure Execution boot
>    image
> + fix `parmfile` dependency for the `selftest.pv.bin` target
> + rename `genprotimg_pcf` to `GENPROTIMG_PCF` to match the coding style
>    in the file
> + always provide a customer communication key - not only for the
>    confidential dump case. Makes the code little easier and doesn't hurt.
> 
> Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>

Thanks, I've pushed this to devel for CI coverage
Marc Hartmayer Jan. 10, 2024, 4:23 p.m. UTC | #4
On Wed, Jan 10, 2024 at 11:44 AM +0100, Janosch Frank <frankja@linux.ibm.com> wrote:
> On 11/21/23 18:23, Marc Hartmayer wrote:
>> Changes:
>> + merge Makefile rules for the generation of the Secure Execution boot
>>    image
>> + fix `parmfile` dependency for the `selftest.pv.bin` target
>> + rename `genprotimg_pcf` to `GENPROTIMG_PCF` to match the coding style
>>    in the file
>> + always provide a customer communication key - not only for the
>>    confidential dump case. Makes the code little easier and doesn't hurt.
>> 
>> Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
>
> Thanks, I've pushed this to devel for CI coverage
>
>

Thanks.
diff mbox series

Patch

diff --git a/s390x/Makefile b/s390x/Makefile
index f79fd0098312..be89d8de1cba 100644
--- a/s390x/Makefile
+++ b/s390x/Makefile
@@ -194,33 +194,27 @@  $(comm-key):
 %.bin: %.elf
 	$(OBJCOPY) -O binary  $< $@
 
-# Will only be filled when dump has been enabled
-GENPROTIMG_COMM_KEY =
-# allow PCKMO
-genprotimg_pcf = 0x000000e0
-
-ifeq ($(CONFIG_DUMP),yes)
-	# The genprotimg arguments for the cck changed over time so we need to
-	# figure out which argument to use in order to set the cck
-	GENPROTIMG_HAS_COMM_KEY = $(shell $(GENPROTIMG) --help | grep -q -- --comm-key && echo yes)
-	ifeq ($(GENPROTIMG_HAS_COMM_KEY),yes)
-		GENPROTIMG_COMM_KEY = --comm-key $(comm-key)
-	else
-		GENPROTIMG_COMM_KEY = --x-comm-key $(comm-key)
-	endif
-
-	# allow dumping + PCKMO
-	genprotimg_pcf = 0x200000e0
+# The genprotimg arguments for the cck changed over time so we need to
+# figure out which argument to use in order to set the cck
+GENPROTIMG_HAS_COMM_KEY = $(shell $(GENPROTIMG) --help | grep -q -- --comm-key && echo yes)
+ifeq ($(GENPROTIMG_HAS_COMM_KEY),yes)
+	GENPROTIMG_COMM_OPTION := --comm-key
+else
+	GENPROTIMG_COMM_OPTION := --x-comm-key
 endif
 
-# use x-pcf to be compatible with old genprotimg versions
-genprotimg_args = --host-key-document $(HOST_KEY_DOCUMENT) --no-verify $(GENPROTIMG_COMM_KEY) --x-pcf $(genprotimg_pcf)
-
-%selftest.pv.bin: %selftest.bin $(HOST_KEY_DOCUMENT) $(patsubst %.pv.bin,%.parmfile,$@) $(comm-key)
-	$(GENPROTIMG) $(genprotimg_args) --parmfile $(patsubst %.pv.bin,%.parmfile,$@) --image $< -o $@
+ifeq ($(CONFIG_DUMP),yes)
+	# allow dumping + PCKMO
+	GENPROTIMG_PCF := 0x200000e0
+else
+	# allow PCKMO
+	GENPROTIMG_PCF := 0x000000e0
+endif
 
+$(patsubst %.parmfile,%.pv.bin,$(wildcard s390x/*.parmfile)): %.pv.bin: %.parmfile
 %.pv.bin: %.bin $(HOST_KEY_DOCUMENT) $(comm-key)
-	$(GENPROTIMG) $(genprotimg_args) --image $< -o $@
+	$(eval parmfile_args = $(if $(filter %.parmfile,$^),--parmfile $(filter %.parmfile,$^),))
+	$(GENPROTIMG) --host-key-document $(HOST_KEY_DOCUMENT) --no-verify $(GENPROTIMG_COMM_OPTION) $(comm-key) --x-pcf $(GENPROTIMG_PCF) $(parmfile_args) --image $(filter %.bin,$^) -o $@
 
 $(snippet_asmlib): $$(patsubst %.o,%.S,$$@) $(asm-offsets)
 	$(CC) $(CFLAGS) -c -nostdlib -o $@ $<