mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC]: Remove SunOS and Solaris binary support.
This commit is contained in:
commit
8a32272688
76 changed files with 172 additions and 11625 deletions
|
|
@ -5,7 +5,6 @@ header-y += asi.h
|
|||
header-y += bpp.h
|
||||
header-y += jsflash.h
|
||||
header-y += openpromio.h
|
||||
header-y += pconf.h
|
||||
header-y += reg.h
|
||||
header-y += traps.h
|
||||
header-y += vfc_ioctls.h
|
||||
|
|
|
|||
|
|
@ -1,52 +0,0 @@
|
|||
/* a.out coredump register dumper
|
||||
*
|
||||
* Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
|
||||
* Written by David Howells (dhowells@redhat.com)
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public Licence
|
||||
* as published by the Free Software Foundation; either version
|
||||
* 2 of the Licence, or (at your option) any later version.
|
||||
*/
|
||||
|
||||
#ifndef _ASM_A_OUT_CORE_H
|
||||
#define _ASM_A_OUT_CORE_H
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#include <linux/user.h>
|
||||
|
||||
/*
|
||||
* fill in the user structure for an a.out core dump
|
||||
*/
|
||||
static inline void aout_dump_thread(struct pt_regs *regs, struct user *dump)
|
||||
{
|
||||
unsigned long first_stack_page;
|
||||
|
||||
dump->magic = SUNOS_CORE_MAGIC;
|
||||
dump->len = sizeof(struct user);
|
||||
dump->regs.psr = regs->psr;
|
||||
dump->regs.pc = regs->pc;
|
||||
dump->regs.npc = regs->npc;
|
||||
dump->regs.y = regs->y;
|
||||
/* fuck me plenty */
|
||||
memcpy(&dump->regs.regs[0], ®s->u_regs[1], (sizeof(unsigned long) * 15));
|
||||
dump->uexec = current->thread.core_exec;
|
||||
dump->u_tsize = (((unsigned long) current->mm->end_code) -
|
||||
((unsigned long) current->mm->start_code)) & ~(PAGE_SIZE - 1);
|
||||
dump->u_dsize = ((unsigned long) (current->mm->brk + (PAGE_SIZE-1)));
|
||||
dump->u_dsize -= dump->u_tsize;
|
||||
dump->u_dsize &= ~(PAGE_SIZE - 1);
|
||||
first_stack_page = (regs->u_regs[UREG_FP] & ~(PAGE_SIZE - 1));
|
||||
dump->u_ssize = (TASK_SIZE - first_stack_page) & ~(PAGE_SIZE - 1);
|
||||
memcpy(&dump->fpu.fpstatus.fregs.regs[0], ¤t->thread.float_regs[0], (sizeof(unsigned long) * 32));
|
||||
dump->fpu.fpstatus.fsr = current->thread.fsr;
|
||||
dump->fpu.fpstatus.flags = dump->fpu.fpstatus.extra = 0;
|
||||
dump->fpu.fpstatus.fpq_count = current->thread.fpqdepth;
|
||||
memcpy(&dump->fpu.fpstatus.fpq[0], ¤t->thread.fpqueue[0],
|
||||
((sizeof(unsigned long) * 2) * 16));
|
||||
dump->sigcode = 0;
|
||||
}
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
#endif /* _ASM_A_OUT_CORE_H */
|
||||
|
|
@ -1,97 +0,0 @@
|
|||
#ifndef __SPARC_A_OUT_H__
|
||||
#define __SPARC_A_OUT_H__
|
||||
|
||||
#define SPARC_PGSIZE 0x2000 /* Thanks to the sun4 architecture... */
|
||||
#define SEGMENT_SIZE SPARC_PGSIZE /* whee... */
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
struct exec {
|
||||
unsigned char a_dynamic:1; /* A __DYNAMIC is in this image */
|
||||
unsigned char a_toolversion:7;
|
||||
unsigned char a_machtype;
|
||||
unsigned short a_info;
|
||||
unsigned int a_text; /* length of text, in bytes */
|
||||
unsigned int a_data; /* length of data, in bytes */
|
||||
unsigned int a_bss; /* length of bss, in bytes */
|
||||
unsigned int a_syms; /* length of symbol table, in bytes */
|
||||
unsigned int a_entry; /* where program begins */
|
||||
unsigned int a_trsize;
|
||||
unsigned int a_drsize;
|
||||
};
|
||||
|
||||
#endif /* !__ASSEMBLY__ */
|
||||
|
||||
/* Where in the file does the text information begin? */
|
||||
#define N_TXTOFF(x) (N_MAGIC(x) == ZMAGIC ? 0 : sizeof (struct exec))
|
||||
|
||||
/* Where do the Symbols start? */
|
||||
#define N_SYMOFF(x) (N_TXTOFF(x) + (x).a_text + \
|
||||
(x).a_data + (x).a_trsize + \
|
||||
(x).a_drsize)
|
||||
|
||||
/* Where does text segment go in memory after being loaded? */
|
||||
#define N_TXTADDR(x) (unsigned long)(((N_MAGIC(x) == ZMAGIC) && \
|
||||
((x).a_entry < SPARC_PGSIZE)) ? \
|
||||
0 : SPARC_PGSIZE)
|
||||
|
||||
/* And same for the data segment.. */
|
||||
#define N_DATADDR(x) (N_MAGIC(x)==OMAGIC ? \
|
||||
(N_TXTADDR(x) + (x).a_text) \
|
||||
: (unsigned long) (_N_SEGMENT_ROUND (_N_TXTENDADDR(x))))
|
||||
|
||||
#define N_TRSIZE(a) ((a).a_trsize)
|
||||
#define N_DRSIZE(a) ((a).a_drsize)
|
||||
#define N_SYMSIZE(a) ((a).a_syms)
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
/*
|
||||
* Sparc relocation types
|
||||
*/
|
||||
enum reloc_type
|
||||
{
|
||||
RELOC_8,
|
||||
RELOC_16,
|
||||
RELOC_32, /* simplest relocs */
|
||||
RELOC_DISP8,
|
||||
RELOC_DISP16,
|
||||
RELOC_DISP32, /* Disp's (pc-rel) */
|
||||
RELOC_WDISP30,
|
||||
RELOC_WDISP22, /* SR word disp's */
|
||||
RELOC_HI22,
|
||||
RELOC_22, /* SR 22-bit relocs */
|
||||
RELOC_13,
|
||||
RELOC_LO10, /* SR 13&10-bit relocs */
|
||||
RELOC_SFA_BASE,
|
||||
RELOC_SFA_OFF13, /* SR S.F.A. relocs */
|
||||
RELOC_BASE10,
|
||||
RELOC_BASE13,
|
||||
RELOC_BASE22, /* base_relative pic */
|
||||
RELOC_PC10,
|
||||
RELOC_PC22, /* special pc-rel pic */
|
||||
RELOC_JMP_TBL, /* jmp_tbl_rel in pic */
|
||||
RELOC_SEGOFF16, /* ShLib offset-in-seg */
|
||||
RELOC_GLOB_DAT,
|
||||
RELOC_JMP_SLOT,
|
||||
RELOC_RELATIVE /* rtld relocs */
|
||||
};
|
||||
|
||||
/*
|
||||
* Format of a relocation datum.
|
||||
*/
|
||||
struct relocation_info /* used when header.a_machtype == M_SPARC */
|
||||
{
|
||||
unsigned int r_address; /* relocation addr */
|
||||
unsigned int r_index:24; /* segment index or symbol index */
|
||||
unsigned int r_extern:1; /* if F, r_index==SEG#; if T, SYM idx */
|
||||
unsigned int r_pad:2; /* <unused> */
|
||||
enum reloc_type r_type:5; /* type of relocation to perform */
|
||||
int r_addend; /* addend for relocation value */
|
||||
};
|
||||
|
||||
#define N_RELOCATION_INFO_DECLARED 1
|
||||
|
||||
#endif /* !(__ASSEMBLY__) */
|
||||
|
||||
#endif /* __SPARC_A_OUT_H__ */
|
||||
|
|
@ -46,45 +46,12 @@
|
|||
b linux_sparc_syscall; \
|
||||
rd %psr, %l0;
|
||||
|
||||
/* Software trap for SunOS4.1.x system calls. */
|
||||
#define SUNOS_SYSCALL_TRAP \
|
||||
rd %psr, %l0; \
|
||||
sethi %hi(sunos_sys_table), %l7; \
|
||||
b linux_sparc_syscall; \
|
||||
or %l7, %lo(sunos_sys_table), %l7;
|
||||
|
||||
#define SUNOS_NO_SYSCALL_TRAP \
|
||||
b sunos_syscall; \
|
||||
rd %psr, %l0; \
|
||||
nop; \
|
||||
nop;
|
||||
|
||||
/* Software trap for Slowaris system calls. */
|
||||
#define SOLARIS_SYSCALL_TRAP \
|
||||
b solaris_syscall; \
|
||||
rd %psr, %l0; \
|
||||
nop; \
|
||||
nop;
|
||||
|
||||
#define INDIRECT_SOLARIS_SYSCALL(x) \
|
||||
mov x, %g1; \
|
||||
b solaris_syscall; \
|
||||
rd %psr, %l0; \
|
||||
nop;
|
||||
|
||||
#define BREAKPOINT_TRAP \
|
||||
b breakpoint_trap; \
|
||||
rd %psr,%l0; \
|
||||
nop; \
|
||||
nop;
|
||||
|
||||
/* Software trap for Sparc-netbsd system calls. */
|
||||
#define NETBSD_SYSCALL_TRAP \
|
||||
sethi %hi(sys_call_table), %l7; \
|
||||
or %l7, %lo(sys_call_table), %l7; \
|
||||
b bsd_syscall; \
|
||||
rd %psr, %l0;
|
||||
|
||||
/* The Get Condition Codes software trap for userland. */
|
||||
#define GETCC_TRAP \
|
||||
b getcc_trap_handler; mov %psr, %l0; nop; nop;
|
||||
|
|
|
|||
|
|
@ -43,8 +43,6 @@
|
|||
#define __TIOCSETX _IOW('t', 34, int) /* SunOS Specific */
|
||||
#define __TIOCGETX _IOR('t', 35, int) /* SunOS Specific */
|
||||
#define TIOCCONS _IO('t', 36)
|
||||
#define __TIOCSSIZE _IOW('t', 37, struct sunos_ttysize) /* SunOS Specific */
|
||||
#define __TIOCGSIZE _IOR('t', 38, struct sunos_ttysize) /* SunOS Specific */
|
||||
#define TIOCGSOFTCAR _IOR('t', 100, int)
|
||||
#define TIOCSSOFTCAR _IOW('t', 101, int)
|
||||
#define __TIOCUCNTL _IOW('t', 102, int) /* SunOS Specific */
|
||||
|
|
|
|||
|
|
@ -22,19 +22,6 @@
|
|||
#define MAP_POPULATE 0x8000 /* populate (prefault) pagetables */
|
||||
#define MAP_NONBLOCK 0x10000 /* do not block on IO */
|
||||
|
||||
/* XXX Need to add flags to SunOS's mctl, mlockall, and madvise system
|
||||
* XXX calls.
|
||||
*/
|
||||
|
||||
/* SunOS sys_mctl() stuff... */
|
||||
#define MC_SYNC 1 /* Sync pages in memory with storage (usu. a file) */
|
||||
#define MC_LOCK 2 /* Lock pages into core ram, do not allow swapping of them */
|
||||
#define MC_UNLOCK 3 /* Unlock pages locked via previous mctl() with MC_LOCK arg */
|
||||
#define MC_LOCKAS 5 /* Lock an entire address space of the calling process */
|
||||
#define MC_UNLOCKAS 6 /* Unlock entire address space of calling process */
|
||||
|
||||
#define MADV_FREE 0x5 /* (Solaris) contents can be freed */
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#ifndef __ASSEMBLY__
|
||||
#define arch_mmap_check sparc_mmap_check
|
||||
|
|
|
|||
|
|
@ -8,19 +8,6 @@
|
|||
#ifndef __SPARC_NAMEI_H
|
||||
#define __SPARC_NAMEI_H
|
||||
|
||||
#define SPARC_BSD_EMUL "/usr/gnemul/sunos/"
|
||||
#define SPARC_SOL_EMUL "/usr/gnemul/solaris/"
|
||||
|
||||
static inline char * __emul_prefix(void)
|
||||
{
|
||||
switch (current->personality) {
|
||||
case PER_SUNOS:
|
||||
return SPARC_BSD_EMUL;
|
||||
case PER_SVR4:
|
||||
return SPARC_SOL_EMUL;
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
#define __emul_prefix() NULL
|
||||
|
||||
#endif /* __SPARC_NAMEI_H */
|
||||
|
|
|
|||
|
|
@ -1,25 +0,0 @@
|
|||
/* $Id: pconf.h,v 1.3 1996/04/25 06:13:25 davem Exp $
|
||||
* pconf.h: pathconf() and fpathconf() defines for SunOS
|
||||
* system call compatibility.
|
||||
*
|
||||
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
|
||||
*/
|
||||
|
||||
#ifndef _SPARC_PCONF_H
|
||||
#define _SPARC_PCONF_H
|
||||
|
||||
#include <linux/fs.h>
|
||||
#include <linux/limits.h>
|
||||
|
||||
#define _PCONF_LINK 1 /* Max number of links to an object */
|
||||
#define _PCONF_CANON 2 /* TTY input buffer line size */
|
||||
#define _PCONF_INPUT 3 /* Biggest packet a tty can imbibe at once */
|
||||
#define _PCONF_NAME 4 /* Filename length max */
|
||||
#define _PCONF_PATH 5 /* Max size of a pathname */
|
||||
#define _PCONF_PIPE 6 /* Buffer size for a pipe */
|
||||
#define _PCONF_CHRESTRICT 7 /* Can only root chown files? */
|
||||
#define _PCONF_NOTRUNC 8 /* Are pathnames truncated if too big? */
|
||||
#define _PCONF_VDISABLE 9 /* Magic char to disable special tty chars */
|
||||
#define _PCONF_MAXPCONF 9
|
||||
|
||||
#endif /* !(_SPARC_PCONF_H) */
|
||||
|
|
@ -13,8 +13,6 @@
|
|||
*/
|
||||
#define current_text_addr() ({ void *pc; __asm__("sethi %%hi(1f), %0; or %0, %%lo(1f), %0;\n1:" : "=r" (pc)); pc; })
|
||||
|
||||
#include <linux/a.out.h>
|
||||
|
||||
#include <asm/psr.h>
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/head.h>
|
||||
|
|
@ -67,7 +65,6 @@ struct thread_struct {
|
|||
struct fpq fpqueue[16];
|
||||
unsigned long flags;
|
||||
mm_segment_t current_ds;
|
||||
struct exec core_exec; /* just what it says. */
|
||||
int new_signal;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -24,9 +24,6 @@
|
|||
#define SO_SNDTIMEO 0x4000
|
||||
#define SO_ACCEPTCONN 0x8000
|
||||
|
||||
/* wha!??? */
|
||||
#define SO_DONTLINGER (~SO_LINGER) /* Older SunOS compat. hack */
|
||||
|
||||
#define SO_SNDBUF 0x1001
|
||||
#define SO_RCVBUF 0x1002
|
||||
#define SO_SNDBUFFORCE 0x100a
|
||||
|
|
|
|||
|
|
@ -1,132 +0,0 @@
|
|||
/* $Id: solerrno.h,v 1.5 1996/04/25 06:13:32 davem Exp $
|
||||
* solerrno.h: Solaris error return codes for compatibility.
|
||||
*
|
||||
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
|
||||
*/
|
||||
|
||||
#ifndef _SPARC_SOLERRNO_H
|
||||
#define _SPARC_SOLERRNO_H
|
||||
|
||||
#define SOL_EPERM 1 /* Required superuser access perms */
|
||||
#define SOL_ENOENT 2 /* File or directory does not exist */
|
||||
#define SOL_ESRCH 3 /* Process did not exist */
|
||||
#define SOL_EINTR 4 /* System call was interrupted */
|
||||
#define SOL_EIO 5 /* An i/o error occurred */
|
||||
#define SOL_ENXIO 6 /* Device or Address does not exist */
|
||||
#define SOL_E2BIG 7 /* Too many arguments were given */
|
||||
#define SOL_ENOEXEC 8 /* Header of executable was munged */
|
||||
#define SOL_EBADF 9 /* Bogus file number */
|
||||
#define SOL_ECHILD 10 /* No children of process exist */
|
||||
#define SOL_EAGAIN 11 /* beep beep, "try again later" */
|
||||
#define SOL_ENOMEM 12 /* No memory available */
|
||||
#define SOL_EACCES 13 /* Access not allowed */
|
||||
#define SOL_EFAULT 14 /* Address passed was invalid */
|
||||
#define SOL_ENOTBLK 15 /* blkdev op on non-block device */
|
||||
#define SOL_EBUSY 16 /* Mounted device was busy */
|
||||
#define SOL_EEXIST 17 /* File specified already exists */
|
||||
#define SOL_EXDEV 18 /* Link request across diff devices */
|
||||
#define SOL_ENODEV 19 /* Device does not exist on system */
|
||||
#define SOL_ENOTDIR 20 /* Dir operation on non-directory */
|
||||
#define SOL_EISDIR 21 /* File was of directory type */
|
||||
#define SOL_EINVAL 22 /* Argument passed was invalid */
|
||||
#define SOL_ENFILE 23 /* No more room in file table */
|
||||
#define SOL_EMFILE 24 /* Proc has too many files open */
|
||||
#define SOL_ENOTTY 25 /* Ioctl was invalid for req device */
|
||||
#define SOL_ETXTBSY 26 /* Text file in busy state */
|
||||
#define SOL_EFBIG 27 /* Too big of a file for operation */
|
||||
#define SOL_ENOSPC 28 /* Disk is full */
|
||||
#define SOL_ESPIPE 29 /* Seek attempted on non-seeking dev*/
|
||||
#define SOL_EROFS 30 /* Write attempted on read-only fs */
|
||||
#define SOL_EMLINK 31 /* Too many links in file search */
|
||||
#define SOL_EPIPE 32 /* Call a plumber */
|
||||
#define SOL_EDOM 33 /* Argument was out of fct domain */
|
||||
#define SOL_ERANGE 34 /* Could not represent math result */
|
||||
#define SOL_ENOMSG 35 /* Message of req type doesn't exist */
|
||||
#define SOL_EIDRM 36 /* Identifier has been removed */
|
||||
#define SOL_ECHRNG 37 /* Req channel number out of range */
|
||||
#define SOL_EL2NSYNC 38 /* Could not sync at run level 2 */
|
||||
#define SOL_EL3HLT 39 /* Halted at run level 3 */
|
||||
#define SOL_EL3RST 40 /* Reset at run level 3 */
|
||||
#define SOL_ELNRNG 41 /* Out of range link number */
|
||||
#define SOL_EUNATCH 42 /* Driver for protocol not attached */
|
||||
#define SOL_ENOCSI 43 /* CSI structure not around */
|
||||
#define SOL_EL2HLT 44 /* Halted at run level 2 */
|
||||
#define SOL_EDEADLK 45 /* Deadlock condition detected */
|
||||
#define SOL_ENOLCK 46 /* Record locks unavailable */
|
||||
#define SOL_ECANCELED 47 /* Cancellation of oper. happened */
|
||||
#define SOL_ENOTSUP 48 /* Attempt of unsupported operation */
|
||||
#define SOL_EDQUOT 49 /* Users disk quota exceeded */
|
||||
#define SOL_EBADE 50 /* Invalid exchange */
|
||||
#define SOL_EBADR 51 /* Request descriptor was invalid */
|
||||
#define SOL_EXFULL 52 /* Full exchange */
|
||||
#define SOL_ENOANO 53 /* ano does not exist */
|
||||
#define SOL_EBADRQC 54 /* Req code was invalid */
|
||||
#define SOL_EBADSLT 55 /* Bad slot number */
|
||||
#define SOL_EDEADLOCK 56 /* Deadlock in fs error */
|
||||
#define SOL_EBFONT 57 /* Font file format invalid */
|
||||
/* YOW, I LOVE SYSV STREAMS!!!! */
|
||||
#define SOL_ENOSTR 60 /* Stream-op on non-stream dev */
|
||||
#define SOL_ENODATA 61 /* No data avail at this time */
|
||||
#define SOL_ETIME 62 /* Expiration of time occurred */
|
||||
#define SOL_ENOSR 63 /* Streams resources exhausted */
|
||||
#define SOL_ENONET 64 /* No network connected */
|
||||
#define SOL_ENOPKG 65 /* Non-installed package */
|
||||
#define SOL_EREMOTE 66 /* Object was on remote machine */
|
||||
#define SOL_ENOLINK 67 /* Cut link */
|
||||
#define SOL_EADV 68 /* Error in advertise */
|
||||
#define SOL_ESRMNT 69 /* Some magic srmount problem */
|
||||
#define SOL_ECOMM 70 /* During send, comm error occurred */
|
||||
#define SOL_EPROTO 71 /* Protocol botch */
|
||||
#define SOL_EMULTIHOP 74 /* Multihop attempted */
|
||||
#define SOL_EBADMSG 77 /* Message was unreadable */
|
||||
#define SOL_ENAMETOOLONG 78 /* Too long of a path name */
|
||||
#define SOL_EOVERFLOW 79 /* Data type too small for datum */
|
||||
#define SOL_ENOTUNIQ 80 /* Logical name was not unique */
|
||||
#define SOL_EBADFD 81 /* Op cannot be performed on fd */
|
||||
#define SOL_EREMCHG 82 /* Remote address is now different */
|
||||
#define SOL_ELIBACC 83 /* Shared lib could not be accessed */
|
||||
#define SOL_ELIBBAD 84 /* ShLib is corrupted in some way */
|
||||
#define SOL_ELIBSCN 85 /* A.out ShLib problems */
|
||||
#define SOL_ELIBMAX 86 /* Exceeded ShLib linkage limit */
|
||||
#define SOL_ELIBEXEC 87 /* Execution of ShLib attempted */
|
||||
#define SOL_EILSEQ 88 /* Bad byte sequence found */
|
||||
#define SOL_ENOSYS 89 /* Invalid filesystem operation */
|
||||
#define SOL_ELOOP 90 /* Detected loop in symbolic links */
|
||||
#define SOL_ERESTART 91 /* System call is restartable */
|
||||
#define SOL_ESTRPIPE 92 /* Do not sleep in head of stream */
|
||||
#define SOL_ENOTEMPTY 93 /* Rmdir of non-empty directory */
|
||||
#define SOL_EUSERS 94 /* Over abundance of users for ufs */
|
||||
#define SOL_ENOTSOCK 95 /* Sock-op on non-sock */
|
||||
#define SOL_EDESTADDRREQ 96 /* No dest addr given, but needed */
|
||||
#define SOL_EMSGSIZE 97 /* Msg too big */
|
||||
#define SOL_EPROTOTYPE 98 /* Bad socket protocol */
|
||||
#define SOL_ENOPROTOOPT 99 /* Unavailable protocol */
|
||||
#define SOL_EPROTONOSUPPORT 120 /* Unsupported protocol */
|
||||
#define SOL_ESOCKTNOSUPPORT 121 /* Unsupported socket type */
|
||||
#define SOL_EOPNOTSUPP 122 /* Unsupported sock-op */
|
||||
#define SOL_EPFNOSUPPORT 123 /* Unsupported protocol family */
|
||||
#define SOL_EAFNOSUPPORT 124 /* Unsup addr family for protocol */
|
||||
#define SOL_EADDRINUSE 125 /* Req addr is already in use */
|
||||
#define SOL_EADDRNOTAVAIL 126 /* Req addr not available right now */
|
||||
#define SOL_ENETDOWN 127 /* Your subnet is on fire */
|
||||
#define SOL_ENETUNREACH 128 /* Someone playing with gateway and */
|
||||
/* did not tell you he was going to */
|
||||
#define SOL_ENETRESET 129 /* Buy less-buggy ethernet cards */
|
||||
#define SOL_ECONNABORTED 130 /* Aborted connection due to sw */
|
||||
#define SOL_ECONNRESET 131 /* Your peers reset your connection */
|
||||
#define SOL_ENOBUFS 132 /* No buffer space available */
|
||||
#define SOL_EISCONN 133 /* Connect on already connected */
|
||||
/* socket attempted */
|
||||
#define SOL_ENOTCONN 134 /* Comm on non-connected socket */
|
||||
#define SOL_ESHUTDOWN 143 /* Op attempted after sock-shutdown */
|
||||
#define SOL_ETOOMANYREFS 144 /* Reference limit exceeded */
|
||||
#define SOL_ETIMEDOUT 145 /* Timed out connection */
|
||||
#define SOL_ECONNREFUSED 146 /* Connection refused by remote host*/
|
||||
#define SOL_EHOSTDOWN 147 /* Remote host is up in flames */
|
||||
#define SOL_EHOSTUNREACH 148 /* Make a left at Easton Ave..... */
|
||||
#define SOL_EWOULDBLOCK EAGAIN /* Just an alias */
|
||||
#define SOL_EALREADY 149 /* Operation is already occurring */
|
||||
#define SOL_EINPROGRESS 150 /* Operation is happening now */
|
||||
#define SOL_ESTALE 151 /* Fungus growth on NFS file handle */
|
||||
|
||||
#endif /* !(_SPARC_SOLERRNO_H) */
|
||||
|
|
@ -1,119 +0,0 @@
|
|||
/* Solaris/SPARC constants and definitions --
|
||||
* (C) 1996 Miguel de Icaza
|
||||
*
|
||||
* This file is not meant to be included by user level applications
|
||||
* but the solaris syscall emulator
|
||||
*/
|
||||
|
||||
#ifndef _SPARC_SVR4_H
|
||||
#define _SPARC_SVR4_H
|
||||
|
||||
/* Signals as used by svr4 */
|
||||
typedef struct { /* signal set type */
|
||||
ulong sigbits[4];
|
||||
} svr4_sigset_t;
|
||||
|
||||
/* Values for siginfo.code */
|
||||
#define SVR4_SINOINFO 32767
|
||||
/* Siginfo, sucker expects bunch of information on those parameters */
|
||||
typedef union {
|
||||
char total_size [128];
|
||||
struct {
|
||||
int signo;
|
||||
int code;
|
||||
int error;
|
||||
union {
|
||||
} data;
|
||||
} siginfo;
|
||||
} svr4_siginfo_t;
|
||||
|
||||
/* Context definition */
|
||||
|
||||
/* Location of the user stored registers into a greg_t */
|
||||
enum {
|
||||
SVR4_PSR, SVR4_PC, SVR4_NPC, SVR4_Y,
|
||||
SVR4_G1, SVR4_G2, SVR4_G3, SVR4_G4,
|
||||
SVR4_G5, SVR4_G6, SVR4_G7, SVR4_O0,
|
||||
SVR4_O1, SVR4_O2, SVR4_O3, SVR4_O4,
|
||||
SVR4_O5, SVR4_O6, SVR4_O7
|
||||
};
|
||||
|
||||
/* sizeof (regs) / sizeof (greg_t), defined in the ABI */
|
||||
#define SVR4_NREGS 19
|
||||
#define SVR4_MAXWIN 31
|
||||
|
||||
typedef struct {
|
||||
uint rwin_lo[8];
|
||||
uint rwin_in[8];
|
||||
} svr4_rwindow_t;
|
||||
|
||||
typedef struct {
|
||||
int count;
|
||||
int __user *winptr [SVR4_MAXWIN]; /* pointer to the windows */
|
||||
svr4_rwindow_t win[SVR4_MAXWIN]; /* the windows */
|
||||
} svr4_gwindows_t;
|
||||
|
||||
typedef int svr4_gregset_t[SVR4_NREGS];
|
||||
|
||||
typedef struct {
|
||||
double fpu_regs[32];
|
||||
void *fp_q;
|
||||
unsigned fp_fsr;
|
||||
u_char fp_nqel;
|
||||
u_char fp_nqsize;
|
||||
u_char inuse; /* if fpu is in use */
|
||||
} svr4_fregset_t;
|
||||
|
||||
typedef struct {
|
||||
uint id; /* if this holds "xrs" string => ptr is valid */
|
||||
caddr_t ptr;
|
||||
} svr4_xrs_t;
|
||||
|
||||
/* Machine dependent context */
|
||||
typedef struct {
|
||||
svr4_gregset_t greg; /* registers 0..19 (see top) */
|
||||
svr4_gwindows_t __user *gwin; /* may point to register windows */
|
||||
svr4_fregset_t freg; /* floating point registers */
|
||||
svr4_xrs_t xrs; /* mhm? */
|
||||
long pad[19];
|
||||
} svr4_mcontext_t;
|
||||
|
||||
/* flags for stack_t.flags */
|
||||
enum svr4_stack_flags {
|
||||
SVR4_SS_ONSTACK,
|
||||
SVR4_SS_DISABLE,
|
||||
};
|
||||
|
||||
/* signal stack exection place, unsupported */
|
||||
typedef struct svr4_stack_t {
|
||||
char __user *sp;
|
||||
int size;
|
||||
int flags;
|
||||
} svr4_stack_t;
|
||||
|
||||
/* Context used by getcontext and setcontext */
|
||||
typedef struct svr4_ucontext_t {
|
||||
u_long flags; /* context flags, indicate what is loaded */
|
||||
struct svr4_ucontext *link;
|
||||
svr4_sigset_t sigmask;
|
||||
svr4_stack_t stack;
|
||||
svr4_mcontext_t mcontext;
|
||||
long pad[23];
|
||||
} svr4_ucontext_t;
|
||||
|
||||
/* windows hold the windows as they were at signal time,
|
||||
* ucontext->mcontext holds a pointer to them.
|
||||
* addresses for uc and si are passed as parameters to svr4 signal
|
||||
* handler
|
||||
*/
|
||||
|
||||
/* This is the signal frame that is passed to the signal handler */
|
||||
typedef struct {
|
||||
svr4_gwindows_t gw; /* windows */
|
||||
svr4_ucontext_t uc; /* machine context */
|
||||
svr4_siginfo_t si; /* siginfo */
|
||||
} svr4_signal_frame_t;
|
||||
|
||||
#define SVR4_SF_ALIGNED (((sizeof (svr4_signal_frame_t) + 7) & (~7)))
|
||||
|
||||
#endif /* include control */
|
||||
|
|
@ -33,11 +33,6 @@ struct ltchars {
|
|||
};
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
struct sunos_ttysize {
|
||||
int st_lines; /* Lines on the terminal */
|
||||
int st_columns; /* Columns on the terminal */
|
||||
};
|
||||
|
||||
struct winsize {
|
||||
unsigned short ws_row;
|
||||
unsigned short ws_col;
|
||||
|
|
|
|||
|
|
@ -1,60 +1,6 @@
|
|||
/* $Id: user.h,v 1.5 1998/02/23 01:49:22 rth Exp $
|
||||
* asm-sparc/user.h: Core file definitions for the Sparc.
|
||||
*
|
||||
* Keep in sync with reg.h. Actually, we could get rid of this
|
||||
* one, since we won't a.out core dump that much anyways - miguel.
|
||||
* Copyright (C) 1995 (davem@caip.rutgers.edu)
|
||||
*/
|
||||
#ifndef _SPARC_USER_H
|
||||
#define _SPARC_USER_H
|
||||
|
||||
#include <asm/a.out.h>
|
||||
struct sunos_regs {
|
||||
unsigned long psr, pc, npc, y;
|
||||
unsigned long regs[15];
|
||||
};
|
||||
|
||||
struct sunos_fpqueue {
|
||||
unsigned long *addr;
|
||||
unsigned long inst;
|
||||
};
|
||||
|
||||
struct sunos_fp {
|
||||
union {
|
||||
unsigned long regs[32];
|
||||
double reg_dbls[16];
|
||||
} fregs;
|
||||
unsigned long fsr;
|
||||
unsigned long flags;
|
||||
unsigned long extra;
|
||||
unsigned long fpq_count;
|
||||
struct sunos_fpqueue fpq[16];
|
||||
};
|
||||
|
||||
struct sunos_fpu {
|
||||
struct sunos_fp fpstatus;
|
||||
};
|
||||
|
||||
/* The SunOS core file header layout. */
|
||||
struct user {
|
||||
unsigned long magic;
|
||||
unsigned long len;
|
||||
struct sunos_regs regs;
|
||||
struct exec uexec;
|
||||
int signal;
|
||||
size_t u_tsize; /* all of these in bytes! */
|
||||
size_t u_dsize;
|
||||
size_t u_ssize;
|
||||
char u_comm[17];
|
||||
struct sunos_fpu fpu;
|
||||
unsigned long sigcode; /* Special sigcontext subcode, if any */
|
||||
};
|
||||
|
||||
#define NBPG 0x2000
|
||||
#define UPAGES 1
|
||||
#define HOST_TEXT_START_ADDR (u.start_code)
|
||||
#define HOST_DATA_START_ADDR (u.uexec.a_data)
|
||||
#define HOST_STACK_END_ADDR (- u.u_ssize * NBPG)
|
||||
#define SUNOS_CORE_MAGIC 0x080456
|
||||
/* Nothing to define. */
|
||||
|
||||
#endif /* !(_SPARC_USER_H) */
|
||||
|
|
|
|||
Loading…
Reference in a new issue