Eric's pre-release fixes.
This commit is contained in:
parent
7a50574134
commit
7d7fcab133
4
Makefile
4
Makefile
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
# Makefile for the iBCS emulator files
|
||||
#
|
||||
# $Id: Makefile,v 1.10 1994/03/29 10:52:09 mike Exp $
|
||||
# $Id: Makefile,v 1.11 1994/04/05 10:37:53 mike Exp $
|
||||
# $Source: /nfs4/sophia/home/mjagdis/src/ibcs.cvs/ibcs/Makefile,v $
|
||||
#
|
||||
# Note! Dependencies are done automagically by 'make dep', which also
|
||||
|
@ -71,7 +71,7 @@ include /usr/src/linux/.config
|
|||
OBJS = binfmt_coff.o binfmt_elf.o binfmt_xout.o \
|
||||
map.o coff.o hrtsys.o ioctl.o ipc.o mmap.o open.o \
|
||||
socket.o poll.o signal.o stat.o sysconf.o sysfs.o sysi86.o socksys.o \
|
||||
ulimit.o wysev386.o wysev386i.o xnx.o xstat.o stream.o
|
||||
svr4.o ulimit.o wysev386.o wysev386i.o xnx.o xstat.o stream.o
|
||||
|
||||
|
||||
ifdef CONFIG_BINFMT_IBCS
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
# Makefile for the iBCS emulator files
|
||||
#
|
||||
# $Id: Makefile,v 1.10 1994/03/29 10:52:09 mike Exp $
|
||||
# $Id: Makefile,v 1.11 1994/04/05 10:37:53 mike Exp $
|
||||
# $Source: /nfs4/sophia/home/mjagdis/src/ibcs.cvs/ibcs/iBCSemul/Makefile,v $
|
||||
#
|
||||
# Note! Dependencies are done automagically by 'make dep', which also
|
||||
|
@ -71,7 +71,7 @@ include /usr/src/linux/.config
|
|||
OBJS = binfmt_coff.o binfmt_elf.o binfmt_xout.o \
|
||||
map.o coff.o hrtsys.o ioctl.o ipc.o mmap.o open.o \
|
||||
socket.o poll.o signal.o stat.o sysconf.o sysfs.o sysi86.o socksys.o \
|
||||
ulimit.o wysev386.o wysev386i.o xnx.o xstat.o stream.o
|
||||
svr4.o ulimit.o wysev386.o wysev386i.o xnx.o xstat.o stream.o
|
||||
|
||||
|
||||
ifdef CONFIG_BINFMT_IBCS
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* Writtin by Drew Sullivan.
|
||||
*
|
||||
* $Id: ioctl.c,v 1.4 1994/03/28 15:06:20 mike Exp $
|
||||
* $Id: ioctl.c,v 1.5 1994/04/05 10:37:54 mike Exp $
|
||||
* $Source: /nfs4/sophia/home/mjagdis/src/ibcs.cvs/ibcs/iBCSemul/ioctl.c,v $
|
||||
*/
|
||||
#include <linux/errno.h>
|
||||
|
@ -90,7 +90,7 @@ int ibcs_ioctl(int fd, unsigned int ioctl_num, void *arg)
|
|||
*/
|
||||
switch (class & 0xff) {
|
||||
/* From SVR4 as specified in sys/iocomm.h */
|
||||
case 'F':
|
||||
case 'f':
|
||||
switch (ioctl_num) {
|
||||
case 0x4004667f:
|
||||
return sys_ioctl(fd, FIONREAD, arg);
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
* to resolve a syscall or when changing trace settings.
|
||||
* Careful!
|
||||
*
|
||||
* $Id: callmap.inc,v 1.7 1994/03/28 08:29:56 mike Exp $
|
||||
* $Id: callmap.inc,v 1.8 1994/04/05 10:36:43 mike Exp $
|
||||
* $Source: /nfs4/sophia/home/mjagdis/src/ibcs.cvs/ibcs/iBCSemul/maps/callmap.inc,v $
|
||||
*/
|
||||
|
||||
|
@ -358,8 +358,8 @@ static IBCS_func iBCS_func_0x80[] = {
|
|||
{ 0, Ukn ITR(1, "memcntl", "") }, /* 131 */
|
||||
{ 0, Ukn ITR(1, "getpmsg", "") }, /* 132 */
|
||||
{ 0, Ukn ITR(1, "putpmsg", "") }, /* 133 */
|
||||
{ 0, Ukn ITR(1, "rename", "") }, /* 134 */
|
||||
{ 0, Ukn ITR(1, "uname", "") } /* 135 */
|
||||
{ sys_rename, 2 ITR(1, "rename", "ss") }, /* 134 */
|
||||
{ abi_uname, 1 ITR(1, "uname", "x") } /* 135 */
|
||||
};
|
||||
static IBCS_func WYSEV386_func_0x80[] = {
|
||||
{ ibcs_lstat, 2 ITR(0, "lstat", "sp") }, /* 128 */
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Function prototypes used by the iBCS2 emulator
|
||||
*
|
||||
* $Id: ibcs.h,v 1.6 1994/03/28 08:29:57 mike Exp $
|
||||
* $Id: ibcs.h,v 1.7 1994/04/05 10:36:18 mike Exp $
|
||||
* $Source: /nfs4/sophia/home/mjagdis/src/ibcs.cvs/ibcs/include/ibcs/ibcs.h,v $
|
||||
*/
|
||||
#include <linux/sys.h> /* for fn_ptr */
|
||||
|
@ -108,6 +108,18 @@ extern int ibcs_poll(struct poll * ufds, size_t nfds, int timeout);
|
|||
/* hrtsys.c */
|
||||
extern int ibcs_hrtsys(struct pt_regs * regs);
|
||||
|
||||
/* svr4.c */
|
||||
#define SYS_NMLN 257
|
||||
struct svr4_utsname{
|
||||
char sysname[SYS_NMLN];
|
||||
char nodename[SYS_NMLN];
|
||||
char release[SYS_NMLN];
|
||||
char version[SYS_NMLN];
|
||||
char machine[SYS_NMLN];
|
||||
};
|
||||
|
||||
extern int abi_uname(struct svr4_utsname * name);
|
||||
|
||||
/* signal.c */
|
||||
void ibcs_sig_handler (struct pt_regs * regs, int sig, __sighandler_t handler);
|
||||
extern int ibcs_signal(struct pt_regs * regs);
|
||||
|
|
35
svr4.c
Normal file
35
svr4.c
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
* linux/ibcs/svr4.c
|
||||
*
|
||||
* Copyright (C) 1994 Eric Youngdale.
|
||||
*
|
||||
* Misc support functions for SVr4.
|
||||
*/
|
||||
|
||||
#include <linux/utsname.h>
|
||||
#include <linux/mm.h>
|
||||
#include <ibcs/ibcs.h>
|
||||
#include <asm/segment.h>
|
||||
|
||||
/* Large enough for internet host names */
|
||||
|
||||
extern struct new_utsname system_utsname;
|
||||
|
||||
#define COPY_UNAMEF(FIELD) \
|
||||
memcpy_tofs(name->FIELD, system_utsname.FIELD, \
|
||||
sizeof(system_utsname.FIELD))
|
||||
|
||||
int abi_uname(struct svr4_utsname * name)
|
||||
{
|
||||
int error;
|
||||
error = verify_area(VERIFY_WRITE, name, sizeof (*name));
|
||||
if (error)
|
||||
return error;
|
||||
|
||||
COPY_UNAMEF(sysname);
|
||||
COPY_UNAMEF(nodename);
|
||||
COPY_UNAMEF(release);
|
||||
COPY_UNAMEF(version);
|
||||
COPY_UNAMEF(machine);
|
||||
return 0;
|
||||
}
|
Loading…
Reference in a new issue