diff mbox series

[kvm-unit-tests,v2,06/18] arm64: efi: Move run code into a function

Message ID 20240227192109.487402-26-andrew.jones@linux.dev (mailing list archive)
State New, archived
Headers show
Series arm64: EFI improvements | expand

Commit Message

Andrew Jones Feb. 27, 2024, 7:21 p.m. UTC
Push the run code in arm/efi/run into a function named
uefi_shell_run() since it will create an EFI file system, copy
the test and possibly the DTB there, and create a startup.nsh
which executes the test from the UEFI shell. Pushing this
code into a function allows additional execution paths to be
created in the script. Also rename EFI_RUN to UEFI_SHELL_RUN
to pass the information on to arm/run that it's being called
from uefi_shell_run().

Signed-off-by: Andrew Jones <andrew.jones@linux.dev>
---
 arm/efi/run | 33 +++++++++++++++++++--------------
 arm/run     |  4 ++--
 2 files changed, 21 insertions(+), 16 deletions(-)

Comments

Nikos Nikoleris March 4, 2024, 7:19 a.m. UTC | #1
On 27/02/2024 19:21, Andrew Jones wrote:
> Push the run code in arm/efi/run into a function named
> uefi_shell_run() since it will create an EFI file system, copy
> the test and possibly the DTB there, and create a startup.nsh
> which executes the test from the UEFI shell. Pushing this
> code into a function allows additional execution paths to be
> created in the script. Also rename EFI_RUN to UEFI_SHELL_RUN
> to pass the information on to arm/run that it's being called
> from uefi_shell_run().
> 
> Signed-off-by: Andrew Jones <andrew.jones@linux.dev>

Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>

Thanks,

Nikos

> ---
>   arm/efi/run | 33 +++++++++++++++++++--------------
>   arm/run     |  4 ++--
>   2 files changed, 21 insertions(+), 16 deletions(-)
> 
> diff --git a/arm/efi/run b/arm/efi/run
> index e45cecfa3265..494ba9e7efe7 100755
> --- a/arm/efi/run
> +++ b/arm/efi/run
> @@ -63,18 +63,23 @@ if [ "$EFI_CASE" = "_NO_FILE_4Uhere_" ]; then
>   	exit
>   fi
>   
> -mkdir -p "$EFI_CASE_DIR"
> -cp "$EFI_SRC/$EFI_CASE.efi" "$EFI_CASE_DIR/"
> -echo "@echo -off" > "$EFI_CASE_DIR/startup.nsh"
> -if [ "$EFI_USE_DTB" = "y" ]; then
> -	qemu_args+=(-machine acpi=off)
> -	FDT_BASENAME="dtb"
> -	EFI_RUN=y $TEST_DIR/run -machine dumpdtb="$EFI_CASE_DIR/$FDT_BASENAME" "${qemu_args[@]}"
> -	echo "setvar fdtfile -guid $EFI_VAR_GUID -rt =L\"$FDT_BASENAME\""  >> "$EFI_CASE_DIR/startup.nsh"
> -fi
> -echo "$EFI_CASE.efi" "${cmd_args[@]}" >> "$EFI_CASE_DIR/startup.nsh"
> +uefi_shell_run()
> +{
> +	mkdir -p "$EFI_CASE_DIR"
> +	cp "$EFI_SRC/$EFI_CASE.efi" "$EFI_CASE_DIR/"
> +	echo "@echo -off" > "$EFI_CASE_DIR/startup.nsh"
> +	if [ "$EFI_USE_DTB" = "y" ]; then
> +		qemu_args+=(-machine acpi=off)
> +		FDT_BASENAME="dtb"
> +		UEFI_SHELL_RUN=y $TEST_DIR/run -machine dumpdtb="$EFI_CASE_DIR/$FDT_BASENAME" "${qemu_args[@]}"
> +		echo "setvar fdtfile -guid $EFI_VAR_GUID -rt =L\"$FDT_BASENAME\""  >> "$EFI_CASE_DIR/startup.nsh"
> +	fi
> +	echo "$EFI_CASE.efi" "${cmd_args[@]}" >> "$EFI_CASE_DIR/startup.nsh"
> +
> +	UEFI_SHELL_RUN=y $TEST_DIR/run \
> +		-bios "$EFI_UEFI" \
> +		-drive file.dir="$EFI_CASE_DIR/",file.driver=vvfat,file.rw=on,format=raw,if=virtio \
> +		"${qemu_args[@]}"
> +}
>   
> -EFI_RUN=y $TEST_DIR/run \
> -	-bios "$EFI_UEFI" \
> -	-drive file.dir="$EFI_CASE_DIR/",file.driver=vvfat,file.rw=on,format=raw,if=virtio \
> -	"${qemu_args[@]}"
> +uefi_shell_run
> diff --git a/arm/run b/arm/run
> index ac64b3b461a2..40c2ca66ba7e 100755
> --- a/arm/run
> +++ b/arm/run
> @@ -60,7 +60,7 @@ if ! $qemu $M -chardev '?' | grep -q testdev; then
>   	exit 2
>   fi
>   
> -if [ "$EFI_RUN" != "y" ]; then
> +if [ "$UEFI_SHELL_RUN" != "y" ]; then
>   	chr_testdev='-device virtio-serial-device'
>   	chr_testdev+=' -device virtconsole,chardev=ctd -chardev testdev,id=ctd'
>   fi
> @@ -75,7 +75,7 @@ command="$qemu -nodefaults $M $A -cpu $processor $chr_testdev $pci_testdev"
>   command+=" -display none -serial stdio"
>   command="$(migration_cmd) $(timeout_cmd) $command"
>   
> -if [ "$EFI_RUN" = "y" ]; then
> +if [ "$UEFI_SHELL_RUN" = "y" ]; then
>   	ENVIRON_DEFAULT=n run_qemu_status $command "$@"
>   else
>   	run_qemu $command -kernel "$@"
diff mbox series

Patch

diff --git a/arm/efi/run b/arm/efi/run
index e45cecfa3265..494ba9e7efe7 100755
--- a/arm/efi/run
+++ b/arm/efi/run
@@ -63,18 +63,23 @@  if [ "$EFI_CASE" = "_NO_FILE_4Uhere_" ]; then
 	exit
 fi
 
-mkdir -p "$EFI_CASE_DIR"
-cp "$EFI_SRC/$EFI_CASE.efi" "$EFI_CASE_DIR/"
-echo "@echo -off" > "$EFI_CASE_DIR/startup.nsh"
-if [ "$EFI_USE_DTB" = "y" ]; then
-	qemu_args+=(-machine acpi=off)
-	FDT_BASENAME="dtb"
-	EFI_RUN=y $TEST_DIR/run -machine dumpdtb="$EFI_CASE_DIR/$FDT_BASENAME" "${qemu_args[@]}"
-	echo "setvar fdtfile -guid $EFI_VAR_GUID -rt =L\"$FDT_BASENAME\""  >> "$EFI_CASE_DIR/startup.nsh"
-fi
-echo "$EFI_CASE.efi" "${cmd_args[@]}" >> "$EFI_CASE_DIR/startup.nsh"
+uefi_shell_run()
+{
+	mkdir -p "$EFI_CASE_DIR"
+	cp "$EFI_SRC/$EFI_CASE.efi" "$EFI_CASE_DIR/"
+	echo "@echo -off" > "$EFI_CASE_DIR/startup.nsh"
+	if [ "$EFI_USE_DTB" = "y" ]; then
+		qemu_args+=(-machine acpi=off)
+		FDT_BASENAME="dtb"
+		UEFI_SHELL_RUN=y $TEST_DIR/run -machine dumpdtb="$EFI_CASE_DIR/$FDT_BASENAME" "${qemu_args[@]}"
+		echo "setvar fdtfile -guid $EFI_VAR_GUID -rt =L\"$FDT_BASENAME\""  >> "$EFI_CASE_DIR/startup.nsh"
+	fi
+	echo "$EFI_CASE.efi" "${cmd_args[@]}" >> "$EFI_CASE_DIR/startup.nsh"
+
+	UEFI_SHELL_RUN=y $TEST_DIR/run \
+		-bios "$EFI_UEFI" \
+		-drive file.dir="$EFI_CASE_DIR/",file.driver=vvfat,file.rw=on,format=raw,if=virtio \
+		"${qemu_args[@]}"
+}
 
-EFI_RUN=y $TEST_DIR/run \
-	-bios "$EFI_UEFI" \
-	-drive file.dir="$EFI_CASE_DIR/",file.driver=vvfat,file.rw=on,format=raw,if=virtio \
-	"${qemu_args[@]}"
+uefi_shell_run
diff --git a/arm/run b/arm/run
index ac64b3b461a2..40c2ca66ba7e 100755
--- a/arm/run
+++ b/arm/run
@@ -60,7 +60,7 @@  if ! $qemu $M -chardev '?' | grep -q testdev; then
 	exit 2
 fi
 
-if [ "$EFI_RUN" != "y" ]; then
+if [ "$UEFI_SHELL_RUN" != "y" ]; then
 	chr_testdev='-device virtio-serial-device'
 	chr_testdev+=' -device virtconsole,chardev=ctd -chardev testdev,id=ctd'
 fi
@@ -75,7 +75,7 @@  command="$qemu -nodefaults $M $A -cpu $processor $chr_testdev $pci_testdev"
 command+=" -display none -serial stdio"
 command="$(migration_cmd) $(timeout_cmd) $command"
 
-if [ "$EFI_RUN" = "y" ]; then
+if [ "$UEFI_SHELL_RUN" = "y" ]; then
 	ENVIRON_DEFAULT=n run_qemu_status $command "$@"
 else
 	run_qemu $command -kernel "$@"