qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH for 7.0 1/5] h.armv7: Simple hello-world test for armv7


From: Warner Losh
Subject: [PATCH for 7.0 1/5] h.armv7: Simple hello-world test for armv7
Date: Sat, 27 Nov 2021 13:18:42 -0700

A simple, tiny, statically linked armv7 'hello world' test. It uses two
system calls (write and exit) and provides a basic sanity check to make
sure that the arm bsd-user binary can interpret FreeBSD armv7 binaries.

Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 tests/bsd-user-smoke/h.armv7.S | 37 ++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 tests/bsd-user-smoke/h.armv7.S

diff --git a/tests/bsd-user-smoke/h.armv7.S b/tests/bsd-user-smoke/h.armv7.S
new file mode 100644
index 00000000000..fe986f15ef6
--- /dev/null
+++ b/tests/bsd-user-smoke/h.armv7.S
@@ -0,0 +1,37 @@
+# Copyright (c) 2021 Warner Losh
+# SPDX-License-Identifier: BSD-2-Clause
+
+#include <sys/syscall.h>
+#define STDOUT_FILENO  1
+
+       .text
+       .file   "hello.s"
+       .syntax unified
+       .globl  qemu_start                            @ -- Begin function 
qemu_start
+       .p2align        2
+       .type   qemu_start,%function
+       .code   32                              @ @qemu_start
+qemu_start:
+@ %bb.0:                                @ %entry
+
+       # write(1, .L.str, sizeof(.L.str) - 1)
+       movw    r1, :lower16:.L.str     @ Load hello world
+       movt    r1, :upper16:.L.str
+       ldr     r0, =STDOUT_FILENO
+       ldr     r2, =(.L.strEnd - .L.str - 1)
+       ldr     r7, =SYS_write
+       swi     0
+
+       # _exit(0)
+       ldr     r0, =0                  @ success
+       ldr     r7, =SYS_exit
+       swi     0
+.Lfunc_end0:
+       .size   qemu_start, .Lfunc_end0-qemu_start
+                                        @ -- End function
+       .type   .L.str,%object                  @ @.str
+       .section        .rodata.str1.1,"aMS",%progbits,1
+.L.str:
+       .asciz  "Hello World\n"
+.L.strEnd:
+       .size .L.str, .L.strEnd - .L.str
-- 
2.33.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]