mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-09-23 06:41:36 +02:00
efi_selftest: avoid unnecessary reset
When we do not execute a test requiring ExitBootServices do not reset the system after testing. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
This commit is contained in:
parent
dc374ab08f
commit
eb0d1d8399
@ -142,6 +142,27 @@ static int teardown(struct efi_unit_test *test, unsigned int *failures)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Check that a test requiring reset exists.
|
||||||
|
*
|
||||||
|
* @testname: name of the test
|
||||||
|
* @return: test, or NULL if not found
|
||||||
|
*/
|
||||||
|
static bool need_reset(const u16 *testname)
|
||||||
|
{
|
||||||
|
struct efi_unit_test *test;
|
||||||
|
|
||||||
|
for (test = ll_entry_start(struct efi_unit_test, efi_unit_test);
|
||||||
|
test < ll_entry_end(struct efi_unit_test, efi_unit_test); ++test) {
|
||||||
|
if (testname && efi_st_strcmp_16_8(testname, test->name))
|
||||||
|
continue;
|
||||||
|
if (test->phase == EFI_SETUP_BEFORE_BOOTTIME_EXIT ||
|
||||||
|
test->phase == EFI_SETUP_AFTER_BOOTTIME_EXIT)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check that a test exists.
|
* Check that a test exists.
|
||||||
*
|
*
|
||||||
@ -290,6 +311,16 @@ efi_status_t EFIAPI efi_selftest(efi_handle_t image_handle,
|
|||||||
EFI_ST_SETUP | EFI_ST_EXECUTE | EFI_ST_TEARDOWN,
|
EFI_ST_SETUP | EFI_ST_EXECUTE | EFI_ST_TEARDOWN,
|
||||||
&failures);
|
&failures);
|
||||||
|
|
||||||
|
if (!need_reset(testname)) {
|
||||||
|
if (failures)
|
||||||
|
ret = EFI_PROTOCOL_ERROR;
|
||||||
|
|
||||||
|
/* Give feedback */
|
||||||
|
efi_st_printc(EFI_WHITE, "\nSummary: %u failures\n\n",
|
||||||
|
failures);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
/* Execute mixed tests */
|
/* Execute mixed tests */
|
||||||
efi_st_do_tests(testname, EFI_SETUP_BEFORE_BOOTTIME_EXIT,
|
efi_st_do_tests(testname, EFI_SETUP_BEFORE_BOOTTIME_EXIT,
|
||||||
EFI_ST_SETUP, &failures);
|
EFI_ST_SETUP, &failures);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user