Hi Drew,

On 9/7/21 11:21 AM, Andrew Jones wrote:
> On Fri, Jul 02, 2021 at 05:31:21PM +0100, Alexandru Elisei wrote:
>> Add support for the standalone target when running kvm-unit-tests under
>> kvmtool.
>>
>> Example command line invocation:
>>
>> $ ./configure --target=kvmtool
>> $ make clean && make standalone
>>
>> Signed-off-by: Alexandru Elisei <[email protected]>
>> ---
>>  scripts/mkstandalone.sh | 14 +++++++-------
>>  1 file changed, 7 insertions(+), 7 deletions(-)
>>
>> diff --git a/scripts/mkstandalone.sh b/scripts/mkstandalone.sh
>> index 16f461c06842..d84bdb7e278c 100755
>> --- a/scripts/mkstandalone.sh
>> +++ b/scripts/mkstandalone.sh
>> @@ -44,6 +44,10 @@ generate_test ()
>>      config_export ARCH_NAME
>>      config_export PROCESSOR
>>  
>> +    if [ "$ARCH" = "arm64" ] || [ "$ARCH" = "arm" ]; then
>> +            config_export TARGET
>> +    fi
> Should export unconditionally, since we'll want TARGET set
> unconditionally.

Yes, will do.

>
>> +
>>      echo "echo BUILD_HEAD=$(cat build-head)"
>>  
>>      if [ ! -f $kernel ]; then
>> @@ -59,7 +63,7 @@ generate_test ()
>>              echo 'export FIRMWARE'
>>      fi
>>  
>> -    if [ "$ENVIRON_DEFAULT" = "yes" ] && [ "$ERRATATXT" ]; then
>> +    if [ "$TARGET" != "kvmtool" ] && [ "$ENVIRON_DEFAULT" = "yes" ] && [ 
>> "$ERRATATXT" ]; then
> I think it would be better to ensure that ENVIRON_DEFAULT is "no" for
> TARGET=kvmtool in configure.

>From looking at the code, it is my understanding that with 
>ENVIRON_DEFAULT=yes, an
initrd file is generated with the contents of erratatxt and other information, 
in
a key=value pair format. This initrd is then passed on to the test (please 
correct
me if I'm wrong). With ENVIRON_DEFAULT=no (set via ./configure
--disable-default-environ), this initrd is not generated.

kvmtool doesn't have support for passing an initrd when loading firmware, so 
yes,
I believe the default should be no.

However, I have two questions:

1. What happens when the user specifically enables the default environ via
./configure --enable-default-environ --target=kvmtool? In my opinion, that 
should
be an error because the user wants something that is not possible with kvmtool
(loading an image with --firmware in kvmtool means that the initrd image it not
loaded into the guest memory and no node is generated for it in the dtb), but I
would like to hear your thoughts about it.

2. If the default environment is disabled, is it still possible for an user to
pass an initrd via other means? I couldn't find where that is implemented, so 
I'm
guessing it's not possible.

Thanks,

Alex

>
>
>>              temp_file ERRATATXT "$ERRATATXT"
>>              echo 'export ERRATATXT'
>>      fi
>> @@ -95,12 +99,8 @@ function mkstandalone()
>>      echo Written $standalone.
>>  }
>>  
>> -if [ "$TARGET" = "kvmtool" ]; then
>> -    echo "Standalone tests not supported with kvmtool"
>> -    exit 2
>> -fi
>> -
>> -if [ "$ENVIRON_DEFAULT" = "yes" ] && [ "$ERRATATXT" ] && [ ! -f 
>> "$ERRATATXT" ]; then
>> +if [ "$TARGET" != "kvmtool" ] && [ "$ENVIRON_DEFAULT" = "yes" ] && \
>> +            [ "$ERRATATXT" ] && [ ! -f "$ERRATATXT" ]; then
>>      echo "$ERRATATXT not found. (ERRATATXT=$ERRATATXT)" >&2
>>      exit 2
>>  fi
>> -- 
>> 2.32.0
>>
> Thanks,
> drew 
>
_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Reply via email to