sim: ppc: netbsd: Sync errno codes with NetBSD 9.99.49
[deliverable/binutils-gdb.git] / sim / ppc / os_emul.h
index 1febef8e9ff6a0f48f8ab9ef66996d6ec11f6f0a..fdc2579bb265a95b5b0ca2f23433b15e2fc7d850 100644 (file)
@@ -4,7 +4,7 @@
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
+    the Free Software Foundation; either version 3 of the License, or
     (at your option) any later version.
 
     This program is distributed in the hope that it will be useful,
@@ -13,8 +13,7 @@
     GNU General Public License for more details.
  
     You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+    along with this program; if not, see <http://www.gnu.org/licenses/>.
  
     */
 
 #ifndef _OS_EMUL_H_
 #define _OS_EMUL_H_
 
-#ifndef INLINE_OS_EMUL
-#define INLINE_OS_EMUL
-#endif
+typedef struct _os_emul os_emul;
+
+INLINE_OS_EMUL\
+(os_emul *) os_emul_create
+(const char *file_name,
+ device *root);
 
-typedef struct _os_emul *os_emul;
+INLINE_OS_EMUL\
+(void) os_emul_init
+(os_emul *emulation,
+ int nr_cpus);
 
-INLINE_OS_EMUL os_emul *os_emul_create
-(char *emulation_name);
 
-INLINE_OS_EMUL void os_emul_init
-(os_emul *emulation);
+/* System-call emulation - for user code.  Instead of trapping system
+   calls to kernel mode, the simulator emulates the kernels behavour */
 
-INLINE_OS_EMUL void os_emul_call
+INLINE_OS_EMUL\
+(void) os_emul_system_call
 (cpu *processor,
  unsigned_word cia);
 
+
+/* Instruction emulation - for kernel code.  Extra (normally illegal)
+   instructions are added to the instruction table that when executed
+   call this emulation function. The instruction call emulator should
+   verify the address that the instruction appears before emulating
+   the required behavour.  If the verification fails, a zero value
+   should be returned (indicating instruction illegal). */
+
+INLINE_OS_EMUL\
+(int) os_emul_instruction_call
+(cpu *processor,
+ unsigned_word cia,
+ unsigned_word ra);
+
 #endif
This page took 0.024831 seconds and 4 git commands to generate.