mirror of
https://github.com/torvalds/linux.git
synced 2026-06-05 13:06:59 +02:00
KVM: selftests: Convert the x86 userspace I/O test to printf guest assert
Convert x86's userspace I/O test to use printf-based guest asserts. Link: https://lore.kernel.org/r/20230729003643.1053367-30-seanjc@google.com Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
parent
847ae07955
commit
417bfd0c82
|
|
@ -1,4 +1,6 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
#define USE_GUEST_ASSERT_PRINTF 1
|
||||
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
|
@ -20,8 +22,8 @@ static void guest_ins_port80(uint8_t *buffer, unsigned int count)
|
|||
end = (unsigned long)buffer + 8192;
|
||||
|
||||
asm volatile("cld; rep; insb" : "+D"(buffer), "+c"(count) : "d"(0x80) : "memory");
|
||||
GUEST_ASSERT_1(count == 0, count);
|
||||
GUEST_ASSERT_2((unsigned long)buffer == end, buffer, end);
|
||||
GUEST_ASSERT_EQ(count, 0);
|
||||
GUEST_ASSERT_EQ((unsigned long)buffer, end);
|
||||
}
|
||||
|
||||
static void guest_code(void)
|
||||
|
|
@ -43,7 +45,9 @@ static void guest_code(void)
|
|||
memset(buffer, 0, sizeof(buffer));
|
||||
guest_ins_port80(buffer, 8192);
|
||||
for (i = 0; i < 8192; i++)
|
||||
GUEST_ASSERT_2(buffer[i] == 0xaa, i, buffer[i]);
|
||||
__GUEST_ASSERT(buffer[i] == 0xaa,
|
||||
"Expected '0xaa', got '0x%x' at buffer[%u]",
|
||||
buffer[i], i);
|
||||
|
||||
GUEST_DONE();
|
||||
}
|
||||
|
|
@ -91,7 +95,7 @@ int main(int argc, char *argv[])
|
|||
case UCALL_DONE:
|
||||
break;
|
||||
case UCALL_ABORT:
|
||||
REPORT_GUEST_ASSERT_2(uc, "argN+1 = 0x%lx, argN+2 = 0x%lx");
|
||||
REPORT_GUEST_ASSERT(uc);
|
||||
default:
|
||||
TEST_FAIL("Unknown ucall %lu", uc.cmd);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user