xref: /optee_os/ldelf/syscalls_rv.S (revision fdc4a8bef4978835f05b1687c99e090c85b84b7c)
1*fdc4a8beSliushiwei/* SPDX-License-Identifier: BSD-2-Clause */
2*fdc4a8beSliushiwei/*
3*fdc4a8beSliushiwei * Copyright (c) 2023 ESWIN Corp. or its affiliates.
4*fdc4a8beSliushiwei * Authors:
5*fdc4a8beSliushiwei *   Liu Shiwei <liushiwei@eswincomputing.com>
6*fdc4a8beSliushiwei */
7*fdc4a8beSliushiwei
8*fdc4a8beSliushiwei#include <asm.S>
9*fdc4a8beSliushiwei
10*fdc4a8beSliushiwei	.section .text
11*fdc4a8beSliushiwei
12*fdc4a8beSliushiwei	.macro LDELF_SYSCALL name, scn, num_args
13*fdc4a8beSliushiweiFUNC \name , :
14*fdc4a8beSliushiwei
15*fdc4a8beSliushiwei	.if \num_args > 8
16*fdc4a8beSliushiwei	.error "Too many arguments for syscall"
17*fdc4a8beSliushiwei	.endif
18*fdc4a8beSliushiwei
19*fdc4a8beSliushiwei	li	t0, \scn
20*fdc4a8beSliushiwei	li	t1, \num_args
21*fdc4a8beSliushiwei	ecall
22*fdc4a8beSliushiwei	ret
23*fdc4a8beSliushiweiEND_FUNC \name
24*fdc4a8beSliushiwei	.endm
25*fdc4a8beSliushiwei
26*fdc4a8beSliushiweiFUNC _ldelf_panic, :
27*fdc4a8beSliushiwei	j	__ldelf_panic
28*fdc4a8beSliushiwei	/* Not reached */
29*fdc4a8beSliushiweiEND_FUNC _ldelf_panic
30*fdc4a8beSliushiwei
31*fdc4a8beSliushiwei#include "syscalls_asm.S"
32