| /* SPDX-License-Identifier: GPL-2.0+ */ | |
| /* | |
| * Copyright (C) 2022 Ventana Micro Systems Inc. | |
| */ | |
| #include <asm/asm.h> | |
| #include <linux/linkage.h> | |
| .pushsection .text.smh_trap, "ax" | |
| ENTRY(smh_trap) | |
| .align 4 /* keep slli, ebreak, srai in same page */ | |
| .option push | |
| .option norvc /* semihosting sequence must be 32-bit wide */ | |
| slli zero, zero, 0x1f /* Entry NOP to identify semihosting */ | |
| ebreak | |
| srai zero, zero, 7 /* NOP encoding of semihosting call number */ | |
| .option pop | |
| ret | |
| ENDPROC(smh_trap) | |
| .popsection |