08.09.2023 09:03, Alistair Francis wrote:
From: Thomas Huth <th...@redhat.com>

@@ -209,11 +210,11 @@ static void htif_handle_tohost_write(HTIFState *s, 
uint64_t val_written)
              } else {
                  uint64_t syscall[8];
                  cpu_physical_memory_read(payload, syscall, sizeof(syscall));
-                if (syscall[0] == PK_SYS_WRITE &&
-                    syscall[1] == HTIF_DEV_CONSOLE &&
-                    syscall[3] == HTIF_CONSOLE_CMD_PUTC) {
+                if (tswap64(syscall[0]) == PK_SYS_WRITE &&
+                    tswap64(syscall[1]) == HTIF_DEV_CONSOLE &&
+                    tswap64(syscall[3]) == HTIF_CONSOLE_CMD_PUTC) {

Maybe not in this very case as it does not seem to be speed-critical,
but I'd say we can change that to read backwards, like:

 +                if (syscall[0] == tswap64(PK_SYS_WRITE) ...

This way it's easier for the compiler to omit call to tswap64 entirely
and calculate the static value at compile time, so only comparison is
left for the runtime.

But this way it's less readable as well.

Just a side note.

/mjt

Reply via email to