⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 syscall.s

📁 RTEMS (Real-Time Executive for Multiprocessor Systems) is a free open source real-time operating sys
💻 S
字号:
/* *  systrap.S * *  This file contains emulated system calls using software trap 0. *  The following calls are supported: * *    + SYS_exit	(halt) *    + SYS_irqdis	(disable interrupts) *    + SYS_irqset	(set interrupt level) *  *  COPYRIGHT: * *  COPYRIGHT (c) 1995. European Space Agency. * *  This terms of the RTEMS license apply to this file. * */#include <asm.h>#include "syscall.h"        .seg    "text"        /*         *  system call         *         *  On entry:         *         *    l0 = psr (from trap table)         *    l1 = pc         *    l2 = npc         *    g1 = system call id         */        PUBLIC(syscall)SYM(syscall):	subcc   %g1, 2, %g0		! syscall 2, disable interrupts	bne 	3f	or    	%l0, 0x0f00, %l4	! set PIL=15	mov   	%l4, %psr	or	%l0, SPARC_PSR_ET_MASK, %i0	! return old psr with ET=1	ba,a	9f3:	subcc   %g1, 3, %g0		! syscall 3, enable interrupts	bne 	1f	and	%i0, SPARC_PSR_PIL_MASK, %l4	andn	%l0, SPARC_PSR_PIL_MASK, %l5	or	%l5, %l4, %l4	mov   	%l4, %psr	ba,a	9f1:						ta	0			! halt 9:					! leave	mov	0, %g1			! clear %g1         jmpl    %l2, %g0        rett    %l2 + 4        PUBLIC(sparc_disable_interrupts)SYM(sparc_disable_interrupts):	mov	SYS_irqdis, %g1	ta	0	retl	nop        PUBLIC(sparc_enable_interrupts)SYM(sparc_enable_interrupts):	mov	SYS_irqen, %g1	ta	0	retl	nop/* end of file */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -