[kvm-unit-tests PATCH 2/2] sbi: dbcn: Add write-byte test with more than byte given

Andrew Jones andrew.jones at linux.dev
Fri Aug 30 08:53:40 PDT 2024


Try the write-byte function, but with a word full of characters. We
should still get 'a' since that's in the least-significant byte.

Signed-off-by: Andrew Jones <andrew.jones at linux.dev>
---
 riscv/sbi.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/riscv/sbi.c b/riscv/sbi.c
index 907bfbe5bb69..a1c97b93cdd0 100644
--- a/riscv/sbi.c
+++ b/riscv/sbi.c
@@ -407,12 +407,18 @@ static void check_dbcn(void)
 	report_prefix_pop();
 	report_prefix_push("write_byte");
 
-	puts("DBCN_WRITE TEST CHAR: ");
+	puts("DBCN_WRITE_BYTE TEST BYTE: ");
 	ret = sbi_dbcn_write_byte(DBCN_WRITE_BYTE_TEST_BYTE);
 	puts("\n");
 	report(ret.error == SBI_SUCCESS, "write success (error=%ld)", ret.error);
 	report(ret.value == 0, "expected ret.value (%ld)", ret.value);
 
+	puts("DBCN_WRITE_BYTE TEST WORD: "); /* still expect 'a' in the output */
+	ret = sbi_ecall(SBI_EXT_DBCN, SBI_EXT_DBCN_CONSOLE_WRITE_BYTE, 0x64636261, 0, 0, 0, 0, 0);
+	puts("\n");
+	report(ret.error == SBI_SUCCESS, "write success (error=%ld)", ret.error);
+	report(ret.value == 0, "expected ret.value (%ld)", ret.value);
+
 	report_prefix_pop();
 	report_prefix_pop();
 }
-- 
2.45.2




More information about the kvm-riscv mailing list