1/* Copyright (c) 2012, 2013 Red Hat, Inc. All rights reserved. 2 3 This copyrighted material is made available to anyone wishing to use, modify, 4 copy, or redistribute it subject to the terms and conditions of the BSD 5 License. This program is distributed in the hope that it will be useful, 6 but WITHOUT ANY WARRANTY expressed or implied, including the implied warranties 7 of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A copy of this license 8 is available at http://www.opensource.org/licenses. Any Red Hat trademarks that 9 are incorporated in the source code or documentation are not subject to the BSD 10 License and may only be used or replicated with the express permission of 11 Red Hat, Inc. 12*/ 13 14/* Empty syscall definitions for when we run on real hardware. */ 15 16#include "../syscall.h" 17#include "memmodel.h" 18 19#define ENOSYS 88 20 21.macro sc,a 22 sc2 \a,\a 23.endm 24 25.macro START_FUNC name1, name2=foo 26 .pushsection .text.\name1,"ax",@progbits 27 .p2align 1 28 .weak \name1 29 .global \name1 30\name1: 31 .ifnc \name2,foo 32 .weak \name2 33 .global \name2 34\name2: 35 .endif 36.endm 37 38.macro END_FUNC name1, name2=foo 39 .type \name1 , @function 40 .size \name1 , . - \name1 41 .ifnc \name2,foo 42 .type \name2 , @function 43 .size \name2 , . - \name2 44 .endif 45 .popsection 46.endm 47 48 49START_FUNC exit, _exit 50 /* For some reason, the board fails to stop at a breakpoint 51 placed on top of a software breakpoint instruction. */ 52/* MOV.B #0,R3 ; this is a software breakpoint instruction */ 531: br_ #1b 54END_FUNC exit, _exit 55 56 57START_FUNC isatty,_isatty 58 MOV #1,R12 59 ret_ 60END_FUNC isatty,_isatty 61 62 63START_FUNC getpid 64 MOV #42,R12 65 ret_ 66END_FUNC getpid 67 68 69.macro sc2,name,num 70 START_FUNC \name 71 call_ #__errno 72 movx_ #ENOSYS, @R12 73 MOV.W #-1,R12 74 ret_ 75 END_FUNC \name 76.endm 77 78#define SC(n) sc2 n,SYS_##n 79 80 SC (open) 81 SC (close) 82 SC (read) 83/* SC (write)*/ 84 SC (fstat) 85 SC (lseek) 86 SC (kill) 87