| // Copyright 2026 The IREE Authors |
| // |
| // Licensed under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| |
| // Minimal boot shim for QEMU's virt machine. |
| // QEMU's generic loader sets the PC to the ELF entry point but does not |
| // initialize sp. newlib's crt0 (_start) expects sp to be valid. Enable the |
| // FPU as well: mstatus.FS starts Off, so FP instructions would otherwise trap. |
| .section .text.enter, "ax", @progbits |
| .globl _enter |
| _enter: |
| li t0, 0x6000 // mstatus.FS = 11 (Dirty): enable FPU |
| csrs mstatus, t0 |
| la sp, __stack_top |
| tail _start |