25 |
* SUCH DAMAGE. |
* SUCH DAMAGE. |
26 |
* |
* |
27 |
* |
* |
28 |
* $Id: useremul.c,v 1.70 2006/01/14 12:51:59 debug Exp $ |
* $Id: useremul.c,v 1.72 2006/09/30 05:57:07 debug Exp $ |
29 |
* |
* |
30 |
* Userland (syscall) emulation. |
* Userland (syscall) emulation. |
31 |
* |
* |
40 |
* Dynamic ELFs? |
* Dynamic ELFs? |
41 |
* |
* |
42 |
* Try to prefix "/emul/mips/" or similar to all filenames, |
* Try to prefix "/emul/mips/" or similar to all filenames, |
43 |
* and only if that fails, try the given filename |
* and only if that fails, try the given filename. |
44 |
|
* Read this setting from an environment variable, and only |
45 |
|
* if there is none, fall back to hardcoded string. |
46 |
* |
* |
47 |
* Automagic errno translation? |
* Automagic errno translation! |
48 |
* |
* |
49 |
* Memory allocation? mmap etc. |
* Memory allocation? mmap, munmap, mprotect, etc. |
50 |
|
* mprotect = unmap in dyntrans... |
51 |
* |
* |
52 |
* File descriptor (0,1,2) assumptions? |
* File descriptor (0,1,2) assumptions? Find and fix these? |
53 |
* |
* |
54 |
* |
* |
55 |
* This module needs more cleanup. |
* This module needs more cleanup. |
56 |
* ------------------------------- |
* ------------------------------- |
57 |
* |
* |
58 |
* |
* |
59 |
* NOTE: This module (useremul.c) is just a quick hack to see if |
* NOTE: This module (useremul.c) is just a quick hack so far, to see if |
60 |
* userland emulation works at all. |
* userland emulation works at all. It only works for Hello World- |
61 |
|
* style programs compiled for FreeBSD/alpha or NetBSD/mips. |
62 |
*/ |
*/ |
63 |
|
|
64 |
#include <errno.h> |
#include <errno.h> |
252 |
|
|
253 |
break; |
break; |
254 |
|
|
255 |
|
case ARCH_SH: |
256 |
|
debug("useremul__netbsd_setup(): SH: TODO\n"); |
257 |
|
break; |
258 |
|
|
259 |
case ARCH_X86: |
case ARCH_X86: |
260 |
debug("useremul__netbsd_setup(): X86: TODO\n"); |
debug("useremul__netbsd_setup(): X86: TODO\n"); |
261 |
|
|
1762 |
add_useremul("Ultrix", ARCH_MIPS, "R3000", |
add_useremul("Ultrix", ARCH_MIPS, "R3000", |
1763 |
useremul__ultrix, useremul__ultrix_setup); |
useremul__ultrix, useremul__ultrix_setup); |
1764 |
|
|
1765 |
|
add_useremul("NetBSD/sh", ARCH_SH, "SH4", |
1766 |
|
useremul__netbsd, useremul__netbsd_setup); |
1767 |
|
|
1768 |
add_useremul("NetBSD/powerpc", ARCH_PPC, "PPC750", |
add_useremul("NetBSD/powerpc", ARCH_PPC, "PPC750", |
1769 |
useremul__netbsd, useremul__netbsd_setup); |
useremul__netbsd, useremul__netbsd_setup); |
1770 |
|
|