Skip to content

Commit b6f874e

Browse files
committed
testing: Use alternative filenames for OVMF_{VARS,CODE}
Signed-off-by: Alexey Gladkov <[email protected]>
1 parent e292e6c commit b6f874e

File tree

1 file changed

+33
-10
lines changed

1 file changed

+33
-10
lines changed

testing/sh-functions

Lines changed: 33 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -114,9 +114,23 @@ prepare_testsuite()
114114
esac
115115
}
116116

117+
get_ovmf_file()
118+
{
119+
local ret="$1"; shift
120+
while [ "$#" -gt 0 ]; do
121+
if [ -e "$1" ]; then
122+
eval "$ret=\"\$1\""
123+
return
124+
fi
125+
shift
126+
done
127+
fatal "$ret not found"
128+
}
129+
117130
qemu_setup_cpu()
118131
{
119132
:> "$workdir/qemu-cpu"
133+
:> "$workdir/qemu-efi"
120134

121135
if [ ! -c /dev/kvm ]; then
122136
local ncpu
@@ -131,23 +145,31 @@ qemu_setup_cpu()
131145
>> "$workdir/qemu-cpu"
132146
fi
133147

148+
local ovmf_vars="" ovmf_code="" machine="pc"
149+
134150
case "${BOOT_BIOS:-pc}" in
135151
efi)
136-
[ -f "$top_workdir"/efivars.bin ] ||
137-
cp -vTLf /usr/share/OVMF/OVMF_VARS_4M.fd "$top_workdir"/efivars.bin
152+
get_ovmf_file ovmf_vars \
153+
/usr/share/OVMF/OVMF_VARS_4M.fd \
154+
/usr/share/OVMF/OVMF_VARS.fd
155+
156+
get_ovmf_file ovmf_code \
157+
/usr/share/OVMF/OVMF_CODE_4M.fd \
158+
/usr/share/OVMF/OVMF_CODE.fd
159+
160+
cp -vTLf -- "$ovmf_vars" "$top_workdir"/efivars.bin
138161

139162
qemu_args \
140-
-machine q35 \
141-
-drive if=pflash,format=raw,readonly=on,file=/usr/share/OVMF/OVMF_CODE_4M.fd \
163+
-drive if=pflash,format=raw,readonly=on,file="$ovmf_code" \
142164
-drive if=pflash,format=raw,file="$top_workdir/efivars.bin" \
143-
>> "$workdir/qemu-cpu"
144-
;;
145-
pc)
146-
qemu_args \
147-
-machine pc \
148-
>> "$workdir/qemu-cpu"
165+
>> "$workdir/qemu-efi"
166+
167+
machine=q35
149168
;;
150169
esac
170+
171+
qemu_args -machine "$machine" \
172+
>> "$workdir/qemu-cpu"
151173
}
152174

153175
create_qemu_wrapper()
@@ -169,6 +191,7 @@ create_qemu_wrapper()
169191
qemu_args+=( -mon chardev=stdio,mode=readline )
170192
qemu_args+=( -pidfile "$top_workdir/qemu.pid" )
171193
. "$top_workdir/qemu-cpu"
194+
. "$top_workdir/qemu-efi"
172195
. "$top_workdir/qemu-disks"
173196
set -x
174197
exec qemu-system-$ARCH "\${qemu_args[@]}"

0 commit comments

Comments
 (0)