UAPI: (Scripted) Disintegrate arch/sparc/include/asm
authorDavid Howells <dhowells@redhat.com>
Tue, 9 Oct 2012 08:47:43 +0000 (09:47 +0100)
committerDavid Howells <dhowells@redhat.com>
Tue, 9 Oct 2012 08:47:43 +0000 (09:47 +0100)
Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Michael Kerrisk <mtk.manpages@gmail.com>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Dave Jones <davej@redhat.com>
94 files changed:
arch/sparc/include/asm/Kbuild
arch/sparc/include/asm/apc.h [deleted file]
arch/sparc/include/asm/asi.h [deleted file]
arch/sparc/include/asm/auxvec.h [deleted file]
arch/sparc/include/asm/bitsperlong.h [deleted file]
arch/sparc/include/asm/byteorder.h [deleted file]
arch/sparc/include/asm/display7seg.h [deleted file]
arch/sparc/include/asm/envctrl.h [deleted file]
arch/sparc/include/asm/errno.h [deleted file]
arch/sparc/include/asm/fbio.h
arch/sparc/include/asm/fcntl.h [deleted file]
arch/sparc/include/asm/ioctl.h [deleted file]
arch/sparc/include/asm/ioctls.h
arch/sparc/include/asm/ipcbuf.h [deleted file]
arch/sparc/include/asm/jsflash.h [deleted file]
arch/sparc/include/asm/kvm_para.h [deleted file]
arch/sparc/include/asm/mman.h
arch/sparc/include/asm/msgbuf.h [deleted file]
arch/sparc/include/asm/openpromio.h [deleted file]
arch/sparc/include/asm/param.h [deleted file]
arch/sparc/include/asm/perfctr.h [deleted file]
arch/sparc/include/asm/poll.h [deleted file]
arch/sparc/include/asm/posix_types.h [deleted file]
arch/sparc/include/asm/psr.h
arch/sparc/include/asm/psrcompat.h [deleted file]
arch/sparc/include/asm/pstate.h [deleted file]
arch/sparc/include/asm/ptrace.h
arch/sparc/include/asm/resource.h [deleted file]
arch/sparc/include/asm/sembuf.h [deleted file]
arch/sparc/include/asm/setup.h
arch/sparc/include/asm/shmbuf.h [deleted file]
arch/sparc/include/asm/sigcontext.h
arch/sparc/include/asm/siginfo.h
arch/sparc/include/asm/signal.h
arch/sparc/include/asm/socket.h [deleted file]
arch/sparc/include/asm/sockios.h [deleted file]
arch/sparc/include/asm/stat.h [deleted file]
arch/sparc/include/asm/statfs.h [deleted file]
arch/sparc/include/asm/swab.h [deleted file]
arch/sparc/include/asm/termbits.h
arch/sparc/include/asm/termios.h
arch/sparc/include/asm/traps.h
arch/sparc/include/asm/types.h [deleted file]
arch/sparc/include/asm/uctx.h [deleted file]
arch/sparc/include/asm/unistd.h
arch/sparc/include/asm/utrap.h [deleted file]
arch/sparc/include/asm/watchdog.h [deleted file]
arch/sparc/include/uapi/asm/Kbuild
arch/sparc/include/uapi/asm/apc.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/asi.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/auxvec.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/bitsperlong.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/byteorder.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/display7seg.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/envctrl.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/errno.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/fbio.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/fcntl.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/ioctl.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/ioctls.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/ipcbuf.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/jsflash.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/kvm_para.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/mman.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/msgbuf.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/openpromio.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/param.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/perfctr.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/poll.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/posix_types.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/psr.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/psrcompat.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/pstate.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/ptrace.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/resource.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/sembuf.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/setup.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/shmbuf.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/sigcontext.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/siginfo.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/signal.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/socket.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/sockios.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/stat.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/statfs.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/swab.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/termbits.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/termios.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/traps.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/types.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/uctx.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/unistd.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/utrap.h [new file with mode: 0644]
arch/sparc/include/uapi/asm/watchdog.h [new file with mode: 0644]

index f80ff93f6f75a2c05be205167dcb2dd95f65278e..61d41c11ee0ab7b0289fce60e0bc27597518ee2a 100644 (file)
@@ -1,21 +1,5 @@
 # User exported sparc header files
-include include/asm-generic/Kbuild.asm
 
-header-y += apc.h
-header-y += asi.h
-header-y += display7seg.h
-header-y += envctrl.h
-header-y += fbio.h
-header-y += jsflash.h
-header-y += openpromio.h
-header-y += perfctr.h
-header-y += psrcompat.h
-header-y += psr.h
-header-y += pstate.h
-header-y += traps.h
-header-y += uctx.h
-header-y += utrap.h
-header-y += watchdog.h
 
 generic-y += clkdev.h
 generic-y += div64.h
diff --git a/arch/sparc/include/asm/apc.h b/arch/sparc/include/asm/apc.h
deleted file mode 100644 (file)
index 24e9a7d..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/* apc - Driver definitions for power management functions
- * of Aurora Personality Chip (APC) on SPARCstation-4/5 and 
- * derivatives
- *
- * Copyright (c) 2001 Eric Brower (ebrower@usa.net)
- *
- */
-
-#ifndef _SPARC_APC_H
-#define _SPARC_APC_H
-
-#include <linux/ioctl.h>
-
-#define APC_IOC        'A'
-
-#define APCIOCGFANCTL _IOR(APC_IOC, 0x00, int) /* Get fan speed        */
-#define APCIOCSFANCTL _IOW(APC_IOC, 0x01, int) /* Set fan speed        */
-
-#define APCIOCGCPWR   _IOR(APC_IOC, 0x02, int) /* Get CPOWER state     */
-#define APCIOCSCPWR   _IOW(APC_IOC, 0x03, int) /* Set CPOWER state     */
-
-#define APCIOCGBPORT   _IOR(APC_IOC, 0x04, int)        /* Get BPORT state      */
-#define APCIOCSBPORT   _IOW(APC_IOC, 0x05, int)        /* Set BPORT state      */
-
-/*
- * Register offsets
- */
-#define APC_IDLE_REG   0x00
-#define APC_FANCTL_REG 0x20
-#define APC_CPOWER_REG 0x24
-#define APC_BPORT_REG  0x30
-
-#define APC_REGMASK            0x01
-#define APC_BPMASK             0x03
-
-/*
- * IDLE - CPU standby values (set to initiate standby)
- */
-#define APC_IDLE_ON            0x01
-
-/*
- * FANCTL - Fan speed control state values
- */
-#define APC_FANCTL_HI  0x00    /* Fan speed high       */
-#define APC_FANCTL_LO  0x01    /* Fan speed low        */
-
-/*
- * CPWR - Convenience power outlet state values 
- */
-#define APC_CPOWER_ON  0x00    /* Conv power on        */
-#define APC_CPOWER_OFF 0x01    /* Conv power off       */
-
-/*
- * BPA/BPB - Read-Write "Bit Ports" state values (reset to 0 at power-on)
- *
- * WARNING: Internal usage of bit ports is platform dependent--
- * don't modify BPORT settings unless you know what you are doing.
- * 
- * On SS5 BPA seems to toggle onboard ethernet loopback... -E
- */
-#define APC_BPORT_A            0x01    /* Bit Port A           */
-#define APC_BPORT_B            0x02    /* Bit Port B           */
-
-#endif /* !(_SPARC_APC_H) */
diff --git a/arch/sparc/include/asm/asi.h b/arch/sparc/include/asm/asi.h
deleted file mode 100644 (file)
index aace6f3..0000000
+++ /dev/null
@@ -1,297 +0,0 @@
-#ifndef _SPARC_ASI_H
-#define _SPARC_ASI_H
-
-/* asi.h:  Address Space Identifier values for the sparc.
- *
- * Copyright (C) 1995,1996 David S. Miller (davem@caip.rutgers.edu)
- *
- * Pioneer work for sun4m: Paul Hatchman (paul@sfe.com.au)
- * Joint edition for sun4c+sun4m: Pete A. Zaitcev <zaitcev@ipmce.su>
- */
-
-/* The first batch are for the sun4c. */
-
-#define ASI_NULL1           0x00
-#define ASI_NULL2           0x01
-
-/* sun4c and sun4 control registers and mmu/vac ops */
-#define ASI_CONTROL         0x02
-#define ASI_SEGMAP          0x03
-#define ASI_PTE             0x04
-#define ASI_HWFLUSHSEG      0x05
-#define ASI_HWFLUSHPAGE     0x06
-#define ASI_REGMAP          0x06
-#define ASI_HWFLUSHCONTEXT  0x07
-
-#define ASI_USERTXT         0x08
-#define ASI_KERNELTXT       0x09
-#define ASI_USERDATA        0x0a
-#define ASI_KERNELDATA      0x0b
-
-/* VAC Cache flushing on sun4c and sun4 */
-#define ASI_FLUSHSEG        0x0c
-#define ASI_FLUSHPG         0x0d
-#define ASI_FLUSHCTX        0x0e
-
-/* SPARCstation-5: only 6 bits are decoded. */
-/* wo = Write Only, rw = Read Write;        */
-/* ss = Single Size, as = All Sizes;        */
-#define ASI_M_RES00         0x00   /* Don't touch... */
-#define ASI_M_UNA01         0x01   /* Same here... */
-#define ASI_M_MXCC          0x02   /* Access to TI VIKING MXCC registers */
-#define ASI_M_FLUSH_PROBE   0x03   /* Reference MMU Flush/Probe; rw, ss */
-#define ASI_M_MMUREGS       0x04   /* MMU Registers; rw, ss */
-#define ASI_M_TLBDIAG       0x05   /* MMU TLB only Diagnostics */
-#define ASI_M_DIAGS         0x06   /* Reference MMU Diagnostics */
-#define ASI_M_IODIAG        0x07   /* MMU I/O TLB only Diagnostics */
-#define ASI_M_USERTXT       0x08   /* Same as ASI_USERTXT; rw, as */
-#define ASI_M_KERNELTXT     0x09   /* Same as ASI_KERNELTXT; rw, as */
-#define ASI_M_USERDATA      0x0A   /* Same as ASI_USERDATA; rw, as */
-#define ASI_M_KERNELDATA    0x0B   /* Same as ASI_KERNELDATA; rw, as */
-#define ASI_M_TXTC_TAG      0x0C   /* Instruction Cache Tag; rw, ss */
-#define ASI_M_TXTC_DATA     0x0D   /* Instruction Cache Data; rw, ss */
-#define ASI_M_DATAC_TAG     0x0E   /* Data Cache Tag; rw, ss */
-#define ASI_M_DATAC_DATA    0x0F   /* Data Cache Data; rw, ss */
-
-/* The following cache flushing ASIs work only with the 'sta'
- * instruction. Results are unpredictable for 'swap' and 'ldstuba',
- * so don't do it.
- */
-
-/* These ASI flushes affect external caches too. */
-#define ASI_M_FLUSH_PAGE    0x10   /* Flush I&D Cache Line (page); wo, ss */
-#define ASI_M_FLUSH_SEG     0x11   /* Flush I&D Cache Line (seg); wo, ss */
-#define ASI_M_FLUSH_REGION  0x12   /* Flush I&D Cache Line (region); wo, ss */
-#define ASI_M_FLUSH_CTX     0x13   /* Flush I&D Cache Line (context); wo, ss */
-#define ASI_M_FLUSH_USER    0x14   /* Flush I&D Cache Line (user); wo, ss */
-
-/* Block-copy operations are available only on certain V8 cpus. */
-#define ASI_M_BCOPY         0x17   /* Block copy */
-
-/* These affect only the ICACHE and are Ross HyperSparc and TurboSparc specific. */
-#define ASI_M_IFLUSH_PAGE   0x18   /* Flush I Cache Line (page); wo, ss */
-#define ASI_M_IFLUSH_SEG    0x19   /* Flush I Cache Line (seg); wo, ss */
-#define ASI_M_IFLUSH_REGION 0x1A   /* Flush I Cache Line (region); wo, ss */
-#define ASI_M_IFLUSH_CTX    0x1B   /* Flush I Cache Line (context); wo, ss */
-#define ASI_M_IFLUSH_USER   0x1C   /* Flush I Cache Line (user); wo, ss */
-
-/* Block-fill operations are available on certain V8 cpus */
-#define ASI_M_BFILL         0x1F
-
-/* This allows direct access to main memory, actually 0x20 to 0x2f are
- * the available ASI's for physical ram pass-through, but I don't have
- * any idea what the other ones do....
- */
-
-#define ASI_M_BYPASS       0x20   /* Reference MMU bypass; rw, as */
-#define ASI_M_FBMEM        0x29   /* Graphics card frame buffer access */
-#define ASI_M_VMEUS        0x2A   /* VME user 16-bit access */
-#define ASI_M_VMEPS        0x2B   /* VME priv 16-bit access */
-#define ASI_M_VMEUT        0x2C   /* VME user 32-bit access */
-#define ASI_M_VMEPT        0x2D   /* VME priv 32-bit access */
-#define ASI_M_SBUS         0x2E   /* Direct SBus access */
-#define ASI_M_CTL          0x2F   /* Control Space (ECC and MXCC are here) */
-
-
-/* This is ROSS HyperSparc only. */
-#define ASI_M_FLUSH_IWHOLE 0x31   /* Flush entire ICACHE; wo, ss */
-
-/* Tsunami/Viking/TurboSparc i/d cache flash clear. */
-#define ASI_M_IC_FLCLEAR   0x36
-#define ASI_M_DC_FLCLEAR   0x37
-
-#define ASI_M_DCDR         0x39   /* Data Cache Diagnostics Register rw, ss */
-
-#define ASI_M_VIKING_TMP1  0x40          /* Emulation temporary 1 on Viking */
-/* only available on SuperSparc I */
-/* #define ASI_M_VIKING_TMP2  0x41 */  /* Emulation temporary 2 on Viking */
-
-#define ASI_M_ACTION       0x4c   /* Breakpoint Action Register (GNU/Viking) */
-
-/* LEON ASI */
-#define ASI_LEON_NOCACHE        0x01
-
-#define ASI_LEON_DCACHE_MISS    0x01
-
-#define ASI_LEON_CACHEREGS      0x02
-#define ASI_LEON_IFLUSH         0x10
-#define ASI_LEON_DFLUSH         0x11
-
-#define ASI_LEON_MMUFLUSH       0x18
-#define ASI_LEON_MMUREGS        0x19
-#define ASI_LEON_BYPASS         0x1c
-#define ASI_LEON_FLUSH_PAGE     0x10
-
-/* V9 Architecture mandary ASIs. */
-#define ASI_N                  0x04 /* Nucleus                         */
-#define ASI_NL                 0x0c /* Nucleus, little endian          */
-#define ASI_AIUP               0x10 /* Primary, user                   */
-#define ASI_AIUS               0x11 /* Secondary, user                 */
-#define ASI_AIUPL              0x18 /* Primary, user, little endian    */
-#define ASI_AIUSL              0x19 /* Secondary, user, little endian  */
-#define ASI_P                  0x80 /* Primary, implicit               */
-#define ASI_S                  0x81 /* Secondary, implicit             */
-#define ASI_PNF                        0x82 /* Primary, no fault               */
-#define ASI_SNF                        0x83 /* Secondary, no fault             */
-#define ASI_PL                 0x88 /* Primary, implicit, l-endian     */
-#define ASI_SL                 0x89 /* Secondary, implicit, l-endian   */
-#define ASI_PNFL               0x8a /* Primary, no fault, l-endian     */
-#define ASI_SNFL               0x8b /* Secondary, no fault, l-endian   */
-
-/* SpitFire and later extended ASIs.  The "(III)" marker designates
- * UltraSparc-III and later specific ASIs.  The "(CMT)" marker designates
- * Chip Multi Threading specific ASIs.  "(NG)" designates Niagara specific
- * ASIs, "(4V)" designates SUN4V specific ASIs.  "(NG4)" designates SPARC-T4
- * and later ASIs.
- */
-#define ASI_PHYS_USE_EC                0x14 /* PADDR, E-cachable               */
-#define ASI_PHYS_BYPASS_EC_E   0x15 /* PADDR, E-bit                    */
-#define ASI_BLK_AIUP_4V                0x16 /* (4V) Prim, user, block ld/st    */
-#define ASI_BLK_AIUS_4V                0x17 /* (4V) Sec, user, block ld/st     */
-#define ASI_PHYS_USE_EC_L      0x1c /* PADDR, E-cachable, little endian*/
-#define ASI_PHYS_BYPASS_EC_E_L 0x1d /* PADDR, E-bit, little endian     */
-#define ASI_BLK_AIUP_L_4V      0x1e /* (4V) Prim, user, block, l-endian*/
-#define ASI_BLK_AIUS_L_4V      0x1f /* (4V) Sec, user, block, l-endian */
-#define ASI_SCRATCHPAD         0x20 /* (4V) Scratch Pad Registers      */
-#define ASI_MMU                        0x21 /* (4V) MMU Context Registers      */
-#define ASI_BLK_INIT_QUAD_LDD_AIUS 0x23 /* (NG) init-store, twin load,
-                                        * secondary, user
-                                        */
-#define ASI_NUCLEUS_QUAD_LDD   0x24 /* Cachable, qword load            */
-#define ASI_QUEUE              0x25 /* (4V) Interrupt Queue Registers  */
-#define ASI_QUAD_LDD_PHYS_4V   0x26 /* (4V) Physical, qword load       */
-#define ASI_NUCLEUS_QUAD_LDD_L 0x2c /* Cachable, qword load, l-endian  */
-#define ASI_QUAD_LDD_PHYS_L_4V 0x2e /* (4V) Phys, qword load, l-endian */
-#define ASI_PCACHE_DATA_STATUS 0x30 /* (III) PCache data stat RAM diag */
-#define ASI_PCACHE_DATA                0x31 /* (III) PCache data RAM diag      */
-#define ASI_PCACHE_TAG         0x32 /* (III) PCache tag RAM diag       */
-#define ASI_PCACHE_SNOOP_TAG   0x33 /* (III) PCache snoop tag RAM diag */
-#define ASI_QUAD_LDD_PHYS      0x34 /* (III+) PADDR, qword load        */
-#define ASI_WCACHE_VALID_BITS  0x38 /* (III) WCache Valid Bits diag    */
-#define ASI_WCACHE_DATA                0x39 /* (III) WCache data RAM diag      */
-#define ASI_WCACHE_TAG         0x3a /* (III) WCache tag RAM diag       */
-#define ASI_WCACHE_SNOOP_TAG   0x3b /* (III) WCache snoop tag RAM diag */
-#define ASI_QUAD_LDD_PHYS_L    0x3c /* (III+) PADDR, qw-load, l-endian */
-#define ASI_SRAM_FAST_INIT     0x40 /* (III+) Fast SRAM init           */
-#define ASI_CORE_AVAILABLE     0x41 /* (CMT) LP Available              */
-#define ASI_CORE_ENABLE_STAT   0x41 /* (CMT) LP Enable Status          */
-#define ASI_CORE_ENABLE                0x41 /* (CMT) LP Enable RW              */
-#define ASI_XIR_STEERING       0x41 /* (CMT) XIR Steering RW           */
-#define ASI_CORE_RUNNING_RW    0x41 /* (CMT) LP Running RW             */
-#define ASI_CORE_RUNNING_W1S   0x41 /* (CMT) LP Running Write-One Set  */
-#define ASI_CORE_RUNNING_W1C   0x41 /* (CMT) LP Running Write-One Clr  */
-#define ASI_CORE_RUNNING_STAT  0x41 /* (CMT) LP Running Status         */
-#define ASI_CMT_ERROR_STEERING 0x41 /* (CMT) Error Steering RW         */
-#define ASI_DCACHE_INVALIDATE  0x42 /* (III) DCache Invalidate diag    */
-#define ASI_DCACHE_UTAG                0x43 /* (III) DCache uTag diag          */
-#define ASI_DCACHE_SNOOP_TAG   0x44 /* (III) DCache snoop tag RAM diag */
-#define ASI_LSU_CONTROL                0x45 /* Load-store control unit         */
-#define ASI_DCU_CONTROL_REG    0x45 /* (III) DCache Unit Control reg   */
-#define ASI_DCACHE_DATA                0x46 /* DCache data-ram diag access     */
-#define ASI_DCACHE_TAG         0x47 /* Dcache tag/valid ram diag access*/
-#define ASI_INTR_DISPATCH_STAT 0x48 /* IRQ vector dispatch status      */
-#define ASI_INTR_RECEIVE       0x49 /* IRQ vector receive status       */
-#define ASI_UPA_CONFIG         0x4a /* UPA config space                */
-#define ASI_JBUS_CONFIG                0x4a /* (IIIi) JBUS Config Register     */
-#define ASI_SAFARI_CONFIG      0x4a /* (III) Safari Config Register    */
-#define ASI_SAFARI_ADDRESS     0x4a /* (III) Safari Address Register   */
-#define ASI_ESTATE_ERROR_EN    0x4b /* E-cache error enable space      */
-#define ASI_AFSR               0x4c /* Async fault status register     */
-#define ASI_AFAR               0x4d /* Async fault address register    */
-#define ASI_EC_TAG_DATA                0x4e /* E-cache tag/valid ram diag acc  */
-#define ASI_IMMU               0x50 /* Insn-MMU main register space    */
-#define ASI_IMMU_TSB_8KB_PTR   0x51 /* Insn-MMU 8KB TSB pointer reg    */
-#define ASI_IMMU_TSB_64KB_PTR  0x52 /* Insn-MMU 64KB TSB pointer reg   */
-#define ASI_ITLB_DATA_IN       0x54 /* Insn-MMU TLB data in reg        */
-#define ASI_ITLB_DATA_ACCESS   0x55 /* Insn-MMU TLB data access reg    */
-#define ASI_ITLB_TAG_READ      0x56 /* Insn-MMU TLB tag read reg       */
-#define ASI_IMMU_DEMAP         0x57 /* Insn-MMU TLB demap              */
-#define ASI_DMMU               0x58 /* Data-MMU main register space    */
-#define ASI_DMMU_TSB_8KB_PTR   0x59 /* Data-MMU 8KB TSB pointer reg    */
-#define ASI_DMMU_TSB_64KB_PTR  0x5a /* Data-MMU 16KB TSB pointer reg   */
-#define ASI_DMMU_TSB_DIRECT_PTR        0x5b /* Data-MMU TSB direct pointer reg */
-#define ASI_DTLB_DATA_IN       0x5c /* Data-MMU TLB data in reg        */
-#define ASI_DTLB_DATA_ACCESS   0x5d /* Data-MMU TLB data access reg    */
-#define ASI_DTLB_TAG_READ      0x5e /* Data-MMU TLB tag read reg       */
-#define ASI_DMMU_DEMAP         0x5f /* Data-MMU TLB demap              */
-#define ASI_IIU_INST_TRAP      0x60 /* (III) Instruction Breakpoint    */
-#define ASI_INTR_ID            0x63 /* (CMT) Interrupt ID register     */
-#define ASI_CORE_ID            0x63 /* (CMT) LP ID register            */
-#define ASI_CESR_ID            0x63 /* (CMT) CESR ID register          */
-#define ASI_IC_INSTR           0x66 /* Insn cache instrucion ram diag  */
-#define ASI_IC_TAG             0x67 /* Insn cache tag/valid ram diag   */
-#define ASI_IC_STAG            0x68 /* (III) Insn cache snoop tag ram  */
-#define ASI_IC_PRE_DECODE      0x6e /* Insn cache pre-decode ram diag  */
-#define ASI_IC_NEXT_FIELD      0x6f /* Insn cache next-field ram diag  */
-#define ASI_BRPRED_ARRAY       0x6f /* (III) Branch Prediction RAM diag*/
-#define ASI_BLK_AIUP           0x70 /* Primary, user, block load/store */
-#define ASI_BLK_AIUS           0x71 /* Secondary, user, block ld/st    */
-#define ASI_MCU_CTRL_REG       0x72 /* (III) Memory controller regs    */
-#define ASI_EC_DATA            0x74 /* (III) E-cache data staging reg  */
-#define ASI_EC_CTRL            0x75 /* (III) E-cache control reg       */
-#define ASI_EC_W               0x76 /* E-cache diag write access       */
-#define ASI_UDB_ERROR_W                0x77 /* External UDB error regs W       */
-#define ASI_UDB_CONTROL_W      0x77 /* External UDB control regs W     */
-#define ASI_INTR_W             0x77 /* IRQ vector dispatch write       */
-#define ASI_INTR_DATAN_W       0x77 /* (III) Out irq vector data reg N */
-#define ASI_INTR_DISPATCH_W    0x77 /* (III) Interrupt vector dispatch */
-#define ASI_BLK_AIUPL          0x78 /* Primary, user, little, blk ld/st*/
-#define ASI_BLK_AIUSL          0x79 /* Secondary, user, little, blk ld/st*/
-#define ASI_EC_R               0x7e /* E-cache diag read access        */
-#define ASI_UDBH_ERROR_R       0x7f /* External UDB error regs rd hi   */
-#define ASI_UDBL_ERROR_R       0x7f /* External UDB error regs rd low  */
-#define ASI_UDBH_CONTROL_R     0x7f /* External UDB control regs rd hi */
-#define ASI_UDBL_CONTROL_R     0x7f /* External UDB control regs rd low*/
-#define ASI_INTR_R             0x7f /* IRQ vector dispatch read        */
-#define ASI_INTR_DATAN_R       0x7f /* (III) In irq vector data reg N  */
-#define ASI_PIC                        0xb0 /* (NG4) PIC registers             */
-#define ASI_PST8_P             0xc0 /* Primary, 8 8-bit, partial       */
-#define ASI_PST8_S             0xc1 /* Secondary, 8 8-bit, partial     */
-#define ASI_PST16_P            0xc2 /* Primary, 4 16-bit, partial      */
-#define ASI_PST16_S            0xc3 /* Secondary, 4 16-bit, partial    */
-#define ASI_PST32_P            0xc4 /* Primary, 2 32-bit, partial      */
-#define ASI_PST32_S            0xc5 /* Secondary, 2 32-bit, partial    */
-#define ASI_PST8_PL            0xc8 /* Primary, 8 8-bit, partial, L    */
-#define ASI_PST8_SL            0xc9 /* Secondary, 8 8-bit, partial, L  */
-#define ASI_PST16_PL           0xca /* Primary, 4 16-bit, partial, L   */
-#define ASI_PST16_SL           0xcb /* Secondary, 4 16-bit, partial, L */
-#define ASI_PST32_PL           0xcc /* Primary, 2 32-bit, partial, L   */
-#define ASI_PST32_SL           0xcd /* Secondary, 2 32-bit, partial, L */
-#define ASI_FL8_P              0xd0 /* Primary, 1 8-bit, fpu ld/st     */
-#define ASI_FL8_S              0xd1 /* Secondary, 1 8-bit, fpu ld/st   */
-#define ASI_FL16_P             0xd2 /* Primary, 1 16-bit, fpu ld/st    */
-#define ASI_FL16_S             0xd3 /* Secondary, 1 16-bit, fpu ld/st  */
-#define ASI_FL8_PL             0xd8 /* Primary, 1 8-bit, fpu ld/st, L  */
-#define ASI_FL8_SL             0xd9 /* Secondary, 1 8-bit, fpu ld/st, L*/
-#define ASI_FL16_PL            0xda /* Primary, 1 16-bit, fpu ld/st, L */
-#define ASI_FL16_SL            0xdb /* Secondary, 1 16-bit, fpu ld/st,L*/
-#define ASI_BLK_COMMIT_P       0xe0 /* Primary, blk store commit       */
-#define ASI_BLK_COMMIT_S       0xe1 /* Secondary, blk store commit     */
-#define ASI_BLK_INIT_QUAD_LDD_P        0xe2 /* (NG) init-store, twin load,
-                                     * primary, implicit
-                                     */
-#define ASI_BLK_INIT_QUAD_LDD_S        0xe3 /* (NG) init-store, twin load,
-                                     * secondary, implicit
-                                     */
-#define ASI_BLK_P              0xf0 /* Primary, blk ld/st              */
-#define ASI_BLK_S              0xf1 /* Secondary, blk ld/st            */
-#define ASI_ST_BLKINIT_MRU_P   0xf2 /* (NG4) init-store, twin load,
-                                     * Most-Recently-Used, primary,
-                                     * implicit
-                                     */
-#define ASI_ST_BLKINIT_MRU_S   0xf2 /* (NG4) init-store, twin load,
-                                     * Most-Recently-Used, secondary,
-                                     * implicit
-                                     */
-#define ASI_BLK_PL             0xf8 /* Primary, blk ld/st, little      */
-#define ASI_BLK_SL             0xf9 /* Secondary, blk ld/st, little    */
-#define ASI_ST_BLKINIT_MRU_PL  0xfa /* (NG4) init-store, twin load,
-                                     * Most-Recently-Used, primary,
-                                     * implicit, little-endian
-                                     */
-#define ASI_ST_BLKINIT_MRU_SL  0xfb /* (NG4) init-store, twin load,
-                                     * Most-Recently-Used, secondary,
-                                     * implicit, little-endian
-                                     */
-
-#endif /* _SPARC_ASI_H */
diff --git a/arch/sparc/include/asm/auxvec.h b/arch/sparc/include/asm/auxvec.h
deleted file mode 100644 (file)
index ad6f360..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef __ASMSPARC_AUXVEC_H
-#define __ASMSPARC_AUXVEC_H
-
-#endif /* !(__ASMSPARC_AUXVEC_H) */
diff --git a/arch/sparc/include/asm/bitsperlong.h b/arch/sparc/include/asm/bitsperlong.h
deleted file mode 100644 (file)
index 40dcaa3..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef __ASM_ALPHA_BITSPERLONG_H
-#define __ASM_ALPHA_BITSPERLONG_H
-
-#if defined(__sparc__) && defined(__arch64__)
-#define __BITS_PER_LONG 64
-#else
-#define __BITS_PER_LONG 32
-#endif
-
-#include <asm-generic/bitsperlong.h>
-
-#endif /* __ASM_ALPHA_BITSPERLONG_H */
-
diff --git a/arch/sparc/include/asm/byteorder.h b/arch/sparc/include/asm/byteorder.h
deleted file mode 100644 (file)
index ccc1b6b..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _SPARC_BYTEORDER_H
-#define _SPARC_BYTEORDER_H
-
-#include <linux/byteorder/big_endian.h>
-
-#endif /* _SPARC_BYTEORDER_H */
diff --git a/arch/sparc/include/asm/display7seg.h b/arch/sparc/include/asm/display7seg.h
deleted file mode 100644 (file)
index 86d4a90..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- *
- * display7seg - Driver interface for the 7-segment display
- * present on Sun Microsystems CP1400 and CP1500
- *
- * Copyright (c) 2000 Eric Brower <ebrower@usa.net>
- *
- */
-
-#ifndef __display7seg_h__
-#define __display7seg_h__
-
-#define D7S_IOC        'p'
-
-#define D7SIOCRD _IOR(D7S_IOC, 0x45, int)      /* Read device state    */
-#define D7SIOCWR _IOW(D7S_IOC, 0x46, int)      /* Write device state   */
-#define D7SIOCTM _IO (D7S_IOC, 0x47)           /* Translate mode (FLIP)*/
-
-/*
- * ioctl flag definitions
- *
- * POINT       - Toggle decimal point  (0=absent 1=present)
- * ALARM       - Toggle alarm LED              (0=green  1=red)
- * FLIP                - Toggle inverted mode  (0=normal 1=flipped)
- * bits 0-4    - Character displayed   (see definitions below)
- *
- * Display segments are defined as follows,
- * subject to D7S_FLIP register state:
- *
- *    a
- *   ---
- * f|   |b
- *   -g-
- * e|   |c
- *   ---
- *    d
- */
-
-#define D7S_POINT      (1 << 7)        /* Decimal point*/
-#define D7S_ALARM      (1 << 6)        /* Alarm LED    */
-#define D7S_FLIP       (1 << 5)        /* Flip display */
-
-#define D7S_0          0x00            /* Numerals 0-9 */
-#define D7S_1          0x01
-#define D7S_2          0x02
-#define D7S_3          0x03
-#define D7S_4          0x04
-#define D7S_5          0x05
-#define D7S_6          0x06
-#define D7S_7          0x07
-#define D7S_8          0x08
-#define D7S_9          0x09
-#define D7S_A          0x0A            /* Letters A-F, H, L, P */
-#define D7S_B          0x0B
-#define D7S_C          0x0C
-#define D7S_D          0x0D
-#define D7S_E          0x0E
-#define D7S_F          0x0F
-#define D7S_H          0x10
-#define D7S_E2         0x11
-#define D7S_L          0x12
-#define D7S_P          0x13
-#define D7S_SEGA       0x14            /* Individual segments */
-#define D7S_SEGB       0x15
-#define D7S_SEGC       0x16
-#define D7S_SEGD       0x17
-#define D7S_SEGE       0x18
-#define D7S_SEGF       0x19
-#define D7S_SEGG       0x1A
-#define D7S_SEGABFG 0x1B               /* Segment groupings */
-#define D7S_SEGCDEG    0x1C
-#define D7S_SEGBCEF 0x1D
-#define D7S_SEGADG     0x1E
-#define D7S_BLANK      0x1F            /* Clear all segments */
-
-#define D7S_MIN_VAL    0x0
-#define D7S_MAX_VAL    0x1F
-
-#endif /* ifndef __display7seg_h__ */
diff --git a/arch/sparc/include/asm/envctrl.h b/arch/sparc/include/asm/envctrl.h
deleted file mode 100644 (file)
index 624fa7e..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- *
- * envctrl.h: Definitions for access to the i2c environment
- *            monitoring on Ultrasparc systems.
- *
- * Copyright (C) 1998  Eddie C. Dost  (ecd@skynet.be)
- * Copyright (C) 2000  Vinh Truong  (vinh.truong@eng.sun.com)
- * VT - Add all ioctl commands and environment status definitions
- * VT - Add application note
- */
-#ifndef _SPARC64_ENVCTRL_H
-#define _SPARC64_ENVCTRL_H 1
-
-#include <linux/ioctl.h>
-
-/* Application note:
- *
- * The driver supports 4 operations: open(), close(), ioctl(), read()
- * The device name is /dev/envctrl.
- * Below is sample usage:
- *
- *     fd = open("/dev/envtrl", O_RDONLY);
- *     if (ioctl(fd, ENVCTRL_READ_SHUTDOWN_TEMPERATURE, 0) < 0)
- *             printf("error\n");
- *     ret = read(fd, buf, 10);
- *     close(fd);
- *
- * Notice in the case of cpu voltage and temperature, the default is
- * cpu0.  If we need to know the info of cpu1, cpu2, cpu3, we need to
- * pass in cpu number in ioctl() last parameter.  For example, to
- * get the voltage of cpu2:
- *
- *     ioctlbuf[0] = 2;
- *     if (ioctl(fd, ENVCTRL_READ_CPU_VOLTAGE, ioctlbuf) < 0)
- *             printf("error\n");
- *     ret = read(fd, buf, 10);
- *
- * All the return values are in ascii.  So check read return value
- * and do appropriate conversions in your application.
- */
-
-/* IOCTL commands */
-
-/* Note: these commands reflect possible monitor features.
- * Some boards choose to support some of the features only.
- */
-#define ENVCTRL_RD_CPU_TEMPERATURE     _IOR('p', 0x40, int)
-#define ENVCTRL_RD_CPU_VOLTAGE         _IOR('p', 0x41, int)
-#define ENVCTRL_RD_FAN_STATUS          _IOR('p', 0x42, int)
-#define ENVCTRL_RD_WARNING_TEMPERATURE _IOR('p', 0x43, int)
-#define ENVCTRL_RD_SHUTDOWN_TEMPERATURE        _IOR('p', 0x44, int)
-#define ENVCTRL_RD_VOLTAGE_STATUS      _IOR('p', 0x45, int)
-#define ENVCTRL_RD_SCSI_TEMPERATURE    _IOR('p', 0x46, int)
-#define ENVCTRL_RD_ETHERNET_TEMPERATURE        _IOR('p', 0x47, int)
-#define ENVCTRL_RD_MTHRBD_TEMPERATURE  _IOR('p', 0x48, int)
-
-#define ENVCTRL_RD_GLOBALADDRESS       _IOR('p', 0x49, int)
-
-/* Read return values for a voltage status request. */
-#define ENVCTRL_VOLTAGE_POWERSUPPLY_GOOD       0x01
-#define ENVCTRL_VOLTAGE_BAD                    0x02
-#define ENVCTRL_POWERSUPPLY_BAD                        0x03
-#define ENVCTRL_VOLTAGE_POWERSUPPLY_BAD                0x04
-
-/* Read return values for a fan status request.
- * A failure match means either the fan fails or
- * the fan is not connected.  Some boards have optional
- * connectors to connect extra fans.
- *
- * There are maximum 8 monitor fans.  Some are cpu fans
- * some are system fans.  The mask below only indicates
- * fan by order number.
- * Below is a sample application:
- *
- *     if (ioctl(fd, ENVCTRL_READ_FAN_STATUS, 0) < 0) {
- *             printf("ioctl fan failed\n");
- *     }
- *     if (read(fd, rslt, 1) <= 0) {
- *             printf("error or fan not monitored\n");
- *     } else {
- *             if (rslt[0] == ENVCTRL_ALL_FANS_GOOD) {
- *                     printf("all fans good\n");
- *     } else if (rslt[0] == ENVCTRL_ALL_FANS_BAD) {
- *             printf("all fans bad\n");
- *     } else {
- *             if (rslt[0] & ENVCTRL_FAN0_FAILURE_MASK) {
- *                     printf("fan 0 failed or not connected\n");
- *     }
- *     ......
- */
-
-#define ENVCTRL_ALL_FANS_GOOD                  0x00
-#define ENVCTRL_FAN0_FAILURE_MASK              0x01
-#define ENVCTRL_FAN1_FAILURE_MASK              0x02
-#define ENVCTRL_FAN2_FAILURE_MASK              0x04
-#define ENVCTRL_FAN3_FAILURE_MASK              0x08
-#define ENVCTRL_FAN4_FAILURE_MASK              0x10
-#define ENVCTRL_FAN5_FAILURE_MASK              0x20
-#define ENVCTRL_FAN6_FAILURE_MASK              0x40
-#define ENVCTRL_FAN7_FAILURE_MASK              0x80
-#define ENVCTRL_ALL_FANS_BAD                   0xFF
-
-#endif /* !(_SPARC64_ENVCTRL_H) */
diff --git a/arch/sparc/include/asm/errno.h b/arch/sparc/include/asm/errno.h
deleted file mode 100644 (file)
index c351aba..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-#ifndef _SPARC_ERRNO_H
-#define _SPARC_ERRNO_H
-
-/* These match the SunOS error numbering scheme. */
-
-#include <asm-generic/errno-base.h>
-
-#define        EWOULDBLOCK     EAGAIN  /* Operation would block */
-#define        EINPROGRESS     36      /* Operation now in progress */
-#define        EALREADY        37      /* Operation already in progress */
-#define        ENOTSOCK        38      /* Socket operation on non-socket */
-#define        EDESTADDRREQ    39      /* Destination address required */
-#define        EMSGSIZE        40      /* Message too long */
-#define        EPROTOTYPE      41      /* Protocol wrong type for socket */
-#define        ENOPROTOOPT     42      /* Protocol not available */
-#define        EPROTONOSUPPORT 43      /* Protocol not supported */
-#define        ESOCKTNOSUPPORT 44      /* Socket type not supported */
-#define        EOPNOTSUPP      45      /* Op not supported on transport endpoint */
-#define        EPFNOSUPPORT    46      /* Protocol family not supported */
-#define        EAFNOSUPPORT    47      /* Address family not supported by protocol */
-#define        EADDRINUSE      48      /* Address already in use */
-#define        EADDRNOTAVAIL   49      /* Cannot assign requested address */
-#define        ENETDOWN        50      /* Network is down */
-#define        ENETUNREACH     51      /* Network is unreachable */
-#define        ENETRESET       52      /* Net dropped connection because of reset */
-#define        ECONNABORTED    53      /* Software caused connection abort */
-#define        ECONNRESET      54      /* Connection reset by peer */
-#define        ENOBUFS         55      /* No buffer space available */
-#define        EISCONN         56      /* Transport endpoint is already connected */
-#define        ENOTCONN        57      /* Transport endpoint is not connected */
-#define        ESHUTDOWN       58      /* No send after transport endpoint shutdown */
-#define        ETOOMANYREFS    59      /* Too many references: cannot splice */
-#define        ETIMEDOUT       60      /* Connection timed out */
-#define        ECONNREFUSED    61      /* Connection refused */
-#define        ELOOP           62      /* Too many symbolic links encountered */
-#define        ENAMETOOLONG    63      /* File name too long */
-#define        EHOSTDOWN       64      /* Host is down */
-#define        EHOSTUNREACH    65      /* No route to host */
-#define        ENOTEMPTY       66      /* Directory not empty */
-#define EPROCLIM        67      /* SUNOS: Too many processes */
-#define        EUSERS          68      /* Too many users */
-#define        EDQUOT          69      /* Quota exceeded */
-#define        ESTALE          70      /* Stale NFS file handle */
-#define        EREMOTE         71      /* Object is remote */
-#define        ENOSTR          72      /* Device not a stream */
-#define        ETIME           73      /* Timer expired */
-#define        ENOSR           74      /* Out of streams resources */
-#define        ENOMSG          75      /* No message of desired type */
-#define        EBADMSG         76      /* Not a data message */
-#define        EIDRM           77      /* Identifier removed */
-#define        EDEADLK         78      /* Resource deadlock would occur */
-#define        ENOLCK          79      /* No record locks available */
-#define        ENONET          80      /* Machine is not on the network */
-#define ERREMOTE        81      /* SunOS: Too many lvls of remote in path */
-#define        ENOLINK         82      /* Link has been severed */
-#define        EADV            83      /* Advertise error */
-#define        ESRMNT          84      /* Srmount error */
-#define        ECOMM           85      /* Communication error on send */
-#define        EPROTO          86      /* Protocol error */
-#define        EMULTIHOP       87      /* Multihop attempted */
-#define        EDOTDOT         88      /* RFS specific error */
-#define        EREMCHG         89      /* Remote address changed */
-#define        ENOSYS          90      /* Function not implemented */
-
-/* The rest have no SunOS equivalent. */
-#define        ESTRPIPE        91      /* Streams pipe error */
-#define        EOVERFLOW       92      /* Value too large for defined data type */
-#define        EBADFD          93      /* File descriptor in bad state */
-#define        ECHRNG          94      /* Channel number out of range */
-#define        EL2NSYNC        95      /* Level 2 not synchronized */
-#define        EL3HLT          96      /* Level 3 halted */
-#define        EL3RST          97      /* Level 3 reset */
-#define        ELNRNG          98      /* Link number out of range */
-#define        EUNATCH         99      /* Protocol driver not attached */
-#define        ENOCSI          100     /* No CSI structure available */
-#define        EL2HLT          101     /* Level 2 halted */
-#define        EBADE           102     /* Invalid exchange */
-#define        EBADR           103     /* Invalid request descriptor */
-#define        EXFULL          104     /* Exchange full */
-#define        ENOANO          105     /* No anode */
-#define        EBADRQC         106     /* Invalid request code */
-#define        EBADSLT         107     /* Invalid slot */
-#define        EDEADLOCK       108     /* File locking deadlock error */
-#define        EBFONT          109     /* Bad font file format */
-#define        ELIBEXEC        110     /* Cannot exec a shared library directly */
-#define        ENODATA         111     /* No data available */
-#define        ELIBBAD         112     /* Accessing a corrupted shared library */
-#define        ENOPKG          113     /* Package not installed */
-#define        ELIBACC         114     /* Can not access a needed shared library */
-#define        ENOTUNIQ        115     /* Name not unique on network */
-#define        ERESTART        116     /* Interrupted syscall should be restarted */
-#define        EUCLEAN         117     /* Structure needs cleaning */
-#define        ENOTNAM         118     /* Not a XENIX named type file */
-#define        ENAVAIL         119     /* No XENIX semaphores available */
-#define        EISNAM          120     /* Is a named type file */
-#define        EREMOTEIO       121     /* Remote I/O error */
-#define        EILSEQ          122     /* Illegal byte sequence */
-#define        ELIBMAX         123     /* Atmpt to link in too many shared libs */
-#define        ELIBSCN         124     /* .lib section in a.out corrupted */
-
-#define        ENOMEDIUM       125     /* No medium found */
-#define        EMEDIUMTYPE     126     /* Wrong medium type */
-#define        ECANCELED       127     /* Operation Cancelled */
-#define        ENOKEY          128     /* Required key not available */
-#define        EKEYEXPIRED     129     /* Key has expired */
-#define        EKEYREVOKED     130     /* Key has been revoked */
-#define        EKEYREJECTED    131     /* Key was rejected by service */
-
-/* for robust mutexes */
-#define        EOWNERDEAD      132     /* Owner died */
-#define        ENOTRECOVERABLE 133     /* State not recoverable */
-
-#define        ERFKILL         134     /* Operation not possible due to RF-kill */
-
-#define EHWPOISON      135     /* Memory page has hardware error */
-
-#endif
index 0a21da87f7d6b409dff755b0e34434c2917ce278..1d9afe277e9c76d6a3481385758ae402da2e45e6 100644 (file)
 #ifndef __LINUX_FBIO_H
 #define __LINUX_FBIO_H
 
-#include <linux/compiler.h>
-#include <linux/types.h>
+#include <uapi/asm/fbio.h>
 
-/* Constants used for fbio SunOS compatibility */
-/* (C) 1996 Miguel de Icaza */
-
-/* Frame buffer types */
-#define FBTYPE_NOTYPE           -1
-#define FBTYPE_SUN1BW           0   /* mono */
-#define FBTYPE_SUN1COLOR        1 
-#define FBTYPE_SUN2BW           2 
-#define FBTYPE_SUN2COLOR        3 
-#define FBTYPE_SUN2GP           4 
-#define FBTYPE_SUN5COLOR        5 
-#define FBTYPE_SUN3COLOR        6 
-#define FBTYPE_MEMCOLOR         7 
-#define FBTYPE_SUN4COLOR        8 
-#define FBTYPE_NOTSUN1          9 
-#define FBTYPE_NOTSUN2          10
-#define FBTYPE_NOTSUN3          11
-#define FBTYPE_SUNFAST_COLOR    12  /* cg6 */
-#define FBTYPE_SUNROP_COLOR     13
-#define FBTYPE_SUNFB_VIDEO      14
-#define FBTYPE_SUNGIFB          15
-#define FBTYPE_SUNGPLAS         16
-#define FBTYPE_SUNGP3           17
-#define FBTYPE_SUNGT            18
-#define FBTYPE_SUNLEO           19      /* zx Leo card */
-#define FBTYPE_MDICOLOR         20      /* cg14 */
-#define FBTYPE_TCXCOLOR                21      /* SUNW,tcx card */
-
-#define FBTYPE_LASTPLUSONE      21     /* This is not last + 1 in fact... */
-
-/* Does not seem to be listed in the Sun file either */
-#define FBTYPE_CREATOR          22
-#define FBTYPE_PCI_IGA1682     23
-#define FBTYPE_P9100COLOR      24
-
-#define FBTYPE_PCI_GENERIC     1000
-#define FBTYPE_PCI_MACH64      1001
-
-/* fbio ioctls */
-/* Returned by FBIOGTYPE */
-struct  fbtype {
-        int     fb_type;        /* fb type, see above */
-        int     fb_height;      /* pixels */
-        int     fb_width;       /* pixels */
-        int     fb_depth;
-        int     fb_cmsize;      /* color map entries */
-        int     fb_size;        /* fb size in bytes */
-};
-#define FBIOGTYPE _IOR('F', 0, struct fbtype)
-
-struct  fbcmap {
-        int             index;          /* first element (0 origin) */
-        int             count;
-        unsigned char   __user *red;
-        unsigned char   __user *green;
-        unsigned char   __user *blue;
-};
-
-#ifdef __KERNEL__
 #define FBIOPUTCMAP_SPARC _IOW('F', 3, struct fbcmap)
 #define FBIOGETCMAP_SPARC _IOW('F', 4, struct fbcmap)
-#else
-#define FBIOPUTCMAP _IOW('F', 3, struct fbcmap)
-#define FBIOGETCMAP _IOW('F', 4, struct fbcmap)
-#endif
-
-/* # of device specific values */
-#define FB_ATTR_NDEVSPECIFIC    8
-/* # of possible emulations */
-#define FB_ATTR_NEMUTYPES       4
-struct fbsattr {
-        int     flags;
-        int     emu_type;      /* -1 if none */
-        int     dev_specific[FB_ATTR_NDEVSPECIFIC];
-};
-struct fbgattr {
-        int     real_type;     /* real frame buffer type */
-        int     owner;         /* unknown */
-        struct fbtype fbtype;  /* real frame buffer fbtype */
-        struct fbsattr sattr;   
-        int     emu_types[FB_ATTR_NEMUTYPES]; /* supported emulations */
-};
-#define FBIOSATTR  _IOW('F', 5, struct fbgattr) /* Unsupported: */
-#define FBIOGATTR  _IOR('F', 6, struct fbgattr)        /* supported */
-
-#define FBIOSVIDEO _IOW('F', 7, int)
-#define FBIOGVIDEO _IOR('F', 8, int)
-
-struct fbcursor {
-        short set;              /* what to set, choose from the list above */
-        short enable;           /* cursor on/off */
-        struct fbcurpos pos;    /* cursor position */
-        struct fbcurpos hot;    /* cursor hot spot */
-        struct fbcmap cmap;     /* color map info */
-        struct fbcurpos size;   /* cursor bit map size */
-        char __user *image;     /* cursor image bits */
-        char __user *mask;      /* cursor mask bits */
-};
-
-/* set/get cursor attributes/shape */
-#define FBIOSCURSOR     _IOW('F', 24, struct fbcursor)
-#define FBIOGCURSOR     _IOWR('F', 25, struct fbcursor)
-/* set/get cursor position */
-#define FBIOSCURPOS     _IOW('F', 26, struct fbcurpos)
-#define FBIOGCURPOS     _IOW('F', 27, struct fbcurpos)
-/* get max cursor size */
-#define FBIOGCURMAX     _IOR('F', 28, struct fbcurpos)
-
-/* wid manipulation */
-struct fb_wid_alloc {
-#define FB_WID_SHARED_8                0
-#define FB_WID_SHARED_24       1
-#define FB_WID_DBL_8           2
-#define FB_WID_DBL_24          3
-       __u32   wa_type;
-       __s32   wa_index;       /* Set on return */
-       __u32   wa_count;       
-};
-struct fb_wid_item {
-       __u32   wi_type;
-       __s32   wi_index;
-       __u32   wi_attrs;
-       __u32   wi_values[32];
-};
-struct fb_wid_list {
-       __u32   wl_flags;
-       __u32   wl_count;
-       struct fb_wid_item      *wl_list;
-};
-
-#define FBIO_WID_ALLOC _IOWR('F', 30, struct fb_wid_alloc)
-#define FBIO_WID_FREE  _IOW('F', 31, struct fb_wid_alloc)
-#define FBIO_WID_PUT   _IOW('F', 32, struct fb_wid_list)
-#define FBIO_WID_GET   _IOWR('F', 33, struct fb_wid_list)
-
-/* Creator ioctls */
-#define FFB_IOCTL      ('F'<<8)
-#define FFB_SYS_INFO           (FFB_IOCTL|80)
-#define FFB_CLUTREAD           (FFB_IOCTL|81)
-#define FFB_CLUTPOST           (FFB_IOCTL|82)
-#define FFB_SETDIAGMODE                (FFB_IOCTL|83)
-#define FFB_GETMONITORID       (FFB_IOCTL|84)
-#define FFB_GETVIDEOMODE       (FFB_IOCTL|85)
-#define FFB_SETVIDEOMODE       (FFB_IOCTL|86)
-#define FFB_SETSERVER          (FFB_IOCTL|87)
-#define FFB_SETOVCTL           (FFB_IOCTL|88)
-#define FFB_GETOVCTL           (FFB_IOCTL|89)
-#define FFB_GETSAXNUM          (FFB_IOCTL|90)
-#define FFB_FBDEBUG            (FFB_IOCTL|91)
-
-/* Cg14 ioctls */
-#define MDI_IOCTL          ('M'<<8)
-#define MDI_RESET          (MDI_IOCTL|1)
-#define MDI_GET_CFGINFO    (MDI_IOCTL|2)
-#define MDI_SET_PIXELMODE  (MDI_IOCTL|3)
-#    define MDI_32_PIX     32
-#    define MDI_16_PIX     16
-#    define MDI_8_PIX      8
-
-struct mdi_cfginfo {
-       int     mdi_ncluts;     /* Number of implemented CLUTs in this MDI */
-        int     mdi_type;       /* FBTYPE name */
-        int     mdi_height;     /* height */
-        int     mdi_width;      /* width */
-        int     mdi_size;       /* available ram */
-        int     mdi_mode;       /* 8bpp, 16bpp or 32bpp */
-        int     mdi_pixfreq;    /* pixel clock (from PROM) */
-};
-
-/* SparcLinux specific ioctl for the MDI, should be replaced for
- * the SET_XLUT/SET_CLUTn ioctls instead
- */
-#define MDI_CLEAR_XLUT       (MDI_IOCTL|9)
-
-/* leo & ffb ioctls */
-struct fb_clut_alloc {
-       __u32   clutid; /* Set on return */
-       __u32   flag;
-       __u32   index;
-};
-
-struct fb_clut {
-#define FB_CLUT_WAIT   0x00000001      /* Not yet implemented */
-       __u32   flag;
-       __u32   clutid;
-       __u32   offset;
-       __u32   count;
-       char *  red;
-       char *  green;
-       char *  blue;
-};
-
-struct fb_clut32 {
-       __u32   flag;
-       __u32   clutid;
-       __u32   offset;
-       __u32   count;
-       __u32   red;
-       __u32   green;
-       __u32   blue;
-};
-
-#define LEO_CLUTALLOC  _IOWR('L', 53, struct fb_clut_alloc)
-#define LEO_CLUTFREE   _IOW('L', 54, struct fb_clut_alloc)
-#define LEO_CLUTREAD   _IOW('L', 55, struct fb_clut)
-#define LEO_CLUTPOST   _IOW('L', 56, struct fb_clut)
-#define LEO_SETGAMMA   _IOW('L', 68, int) /* Not yet implemented */
-#define LEO_GETGAMMA   _IOR('L', 69, int) /* Not yet implemented */
-
-#ifdef __KERNEL__
 /* Addresses on the fd of a cgsix that are mappable */
 #define CG6_FBC    0x70000000
 #define CG6_TEC    0x70001000
@@ -260,47 +45,6 @@ struct fb_clut32 {
 #define CG14_CLUT3       0x6000  /* Color Look Up Table */
 #define CG14_AUTO       0xf000
 
-#endif /* KERNEL */
-
-/* These are exported to userland for applications to use */
-/* Mappable offsets for the cg14: control registers */
-#define MDI_DIRECT_MAP 0x10000000
-#define MDI_CTLREG_MAP 0x20000000
-#define MDI_CURSOR_MAP 0x30000000
-#define MDI_SHDW_VRT_MAP 0x40000000
-
-/* Mappable offsets for the cg14: frame buffer resolutions */
-/* 32 bits */
-#define MDI_CHUNKY_XBGR_MAP 0x50000000
-#define MDI_CHUNKY_BGR_MAP 0x60000000
-
-/* 16 bits */
-#define MDI_PLANAR_X16_MAP 0x70000000
-#define MDI_PLANAR_C16_MAP 0x80000000
-
-/* 8 bit is done as CG3 MMAP offset */
-/* 32 bits, planar */
-#define MDI_PLANAR_X32_MAP 0x90000000
-#define MDI_PLANAR_B32_MAP 0xa0000000
-#define MDI_PLANAR_G32_MAP 0xb0000000
-#define MDI_PLANAR_R32_MAP 0xc0000000
-
-/* Mappable offsets on leo */
-#define LEO_SS0_MAP            0x00000000
-#define LEO_LC_SS0_USR_MAP     0x00800000
-#define LEO_LD_SS0_MAP         0x00801000
-#define LEO_LX_CURSOR_MAP      0x00802000
-#define LEO_SS1_MAP            0x00803000
-#define LEO_LC_SS1_USR_MAP     0x01003000
-#define LEO_LD_SS1_MAP         0x01004000
-#define LEO_UNK_MAP            0x01005000
-#define LEO_LX_KRN_MAP         0x01006000
-#define LEO_LC_SS0_KRN_MAP     0x01007000
-#define LEO_LC_SS1_KRN_MAP     0x01008000
-#define LEO_LD_GBL_MAP         0x01009000
-#define LEO_UNK2_MAP           0x0100a000
-
-#ifdef __KERNEL__
 struct  fbcmap32 {
        int             index;          /* first element (0 origin) */
        int             count;
@@ -325,6 +69,4 @@ struct fbcursor32 {
 
 #define FBIOSCURSOR32  _IOW('F', 24, struct fbcursor32)
 #define FBIOGCURSOR32  _IOW('F', 25, struct fbcursor32)
-#endif
-
 #endif /* __LINUX_FBIO_H */
diff --git a/arch/sparc/include/asm/fcntl.h b/arch/sparc/include/asm/fcntl.h
deleted file mode 100644 (file)
index d0b83f6..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef _SPARC_FCNTL_H
-#define _SPARC_FCNTL_H
-
-#define O_APPEND       0x0008
-#define FASYNC         0x0040  /* fcntl, for BSD compatibility */
-#define O_CREAT                0x0200  /* not fcntl */
-#define O_TRUNC                0x0400  /* not fcntl */
-#define O_EXCL         0x0800  /* not fcntl */
-#define O_DSYNC                0x2000  /* used to be O_SYNC, see below */
-#define O_NONBLOCK     0x4000
-#if defined(__sparc__) && defined(__arch64__)
-#define O_NDELAY       0x0004
-#else
-#define O_NDELAY       (0x0004 | O_NONBLOCK)
-#endif
-#define O_NOCTTY       0x8000  /* not fcntl */
-#define O_LARGEFILE    0x40000
-#define O_DIRECT        0x100000 /* direct disk access hint */
-#define O_NOATIME      0x200000
-#define O_CLOEXEC      0x400000
-/*
- * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using
- * the O_SYNC flag.  We continue to use the existing numerical value
- * for O_DSYNC semantics now, but using the correct symbolic name for it.
- * This new value is used to request true Posix O_SYNC semantics.  It is
- * defined in this strange way to make sure applications compiled against
- * new headers get at least O_DSYNC semantics on older kernels.
- *
- * This has the nice side-effect that we can simply test for O_DSYNC
- * wherever we do not care if O_DSYNC or O_SYNC is used.
- *
- * Note: __O_SYNC must never be used directly.
- */
-#define __O_SYNC       0x800000
-#define O_SYNC         (__O_SYNC|O_DSYNC)
-
-#define O_PATH         0x1000000
-
-#define F_GETOWN       5       /*  for sockets. */
-#define F_SETOWN       6       /*  for sockets. */
-#define F_GETLK                7
-#define F_SETLK                8
-#define F_SETLKW       9
-
-/* for posix fcntl() and lockf() */
-#define F_RDLCK                1
-#define F_WRLCK                2
-#define F_UNLCK                3
-
-#define __ARCH_FLOCK_PAD       short __unused;
-#define __ARCH_FLOCK64_PAD     short __unused;
-
-#include <asm-generic/fcntl.h>
-
-#endif
diff --git a/arch/sparc/include/asm/ioctl.h b/arch/sparc/include/asm/ioctl.h
deleted file mode 100644 (file)
index 7d6bd51..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef _SPARC_IOCTL_H
-#define _SPARC_IOCTL_H
-
-/*
- * Our DIR and SIZE overlap in order to simulteneously provide
- * a non-zero _IOC_NONE (for binary compatibility) and
- * 14 bits of size as on i386. Here's the layout:
- *
- *   0xE0000000   DIR
- *   0x80000000     DIR = WRITE
- *   0x40000000     DIR = READ
- *   0x20000000     DIR = NONE
- *   0x3FFF0000   SIZE (overlaps NONE bit)
- *   0x0000FF00   TYPE
- *   0x000000FF   NR (CMD)
- */
-
-#define _IOC_NRBITS      8
-#define _IOC_TYPEBITS    8
-#define _IOC_SIZEBITS   13     /* Actually 14, see below. */
-#define _IOC_DIRBITS     3
-
-#define _IOC_NRMASK      ((1 << _IOC_NRBITS)-1)
-#define _IOC_TYPEMASK    ((1 << _IOC_TYPEBITS)-1)
-#define _IOC_SIZEMASK    ((1 << _IOC_SIZEBITS)-1)
-#define _IOC_XSIZEMASK   ((1 << (_IOC_SIZEBITS+1))-1)
-#define _IOC_DIRMASK     ((1 << _IOC_DIRBITS)-1)
-
-#define _IOC_NRSHIFT     0
-#define _IOC_TYPESHIFT   (_IOC_NRSHIFT + _IOC_NRBITS)
-#define _IOC_SIZESHIFT   (_IOC_TYPESHIFT + _IOC_TYPEBITS)
-#define _IOC_DIRSHIFT    (_IOC_SIZESHIFT + _IOC_SIZEBITS)
-
-#define _IOC_NONE        1U
-#define _IOC_READ        2U
-#define _IOC_WRITE       4U
-
-#define _IOC(dir,type,nr,size) \
-        (((dir)  << _IOC_DIRSHIFT) | \
-         ((type) << _IOC_TYPESHIFT) | \
-         ((nr)   << _IOC_NRSHIFT) | \
-         ((size) << _IOC_SIZESHIFT))
-
-#define _IO(type,nr)        _IOC(_IOC_NONE,(type),(nr),0)
-#define _IOR(type,nr,size)  _IOC(_IOC_READ,(type),(nr),sizeof(size))
-#define _IOW(type,nr,size)  _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
-#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
-
-/* Used to decode ioctl numbers in drivers despite the leading underscore... */
-#define _IOC_DIR(nr)    \
- ( (((((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) & (_IOC_WRITE|_IOC_READ)) != 0)?   \
-                            (((nr) >> _IOC_DIRSHIFT) & (_IOC_WRITE|_IOC_READ)):  \
-                            (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) )
-#define _IOC_TYPE(nr)       (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
-#define _IOC_NR(nr)         (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
-#define _IOC_SIZE(nr)   \
- ((((((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) & (_IOC_WRITE|_IOC_READ)) == 0)?    \
-                         0: (((nr) >> _IOC_SIZESHIFT) & _IOC_XSIZEMASK))
-
-/* ...and for the PCMCIA and sound. */
-#define IOC_IN          (_IOC_WRITE << _IOC_DIRSHIFT)
-#define IOC_OUT         (_IOC_READ << _IOC_DIRSHIFT)
-#define IOC_INOUT       ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
-#define IOCSIZE_MASK    (_IOC_XSIZEMASK << _IOC_SIZESHIFT)
-#define IOCSIZE_SHIFT   (_IOC_SIZESHIFT)
-
-#endif /* !(_SPARC_IOCTL_H) */
index 28d0c8b02cc3c054dae2c23c737afd5ffdf8a9c2..77413b7e3a186e4c146b943a6dddc840a30155d4 100644 (file)
@@ -1,123 +1,8 @@
 #ifndef _ASM_SPARC_IOCTLS_H
 #define _ASM_SPARC_IOCTLS_H
 
-#include <asm/ioctl.h>
+#include <uapi/asm/ioctls.h>
 
-/* Big T */
-#define TCGETA         _IOR('T', 1, struct termio)
-#define TCSETA         _IOW('T', 2, struct termio)
-#define TCSETAW                _IOW('T', 3, struct termio)
-#define TCSETAF                _IOW('T', 4, struct termio)
-#define TCSBRK         _IO('T', 5)
-#define TCXONC         _IO('T', 6)
-#define TCFLSH         _IO('T', 7)
-#define TCGETS         _IOR('T', 8, struct termios)
-#define TCSETS         _IOW('T', 9, struct termios)
-#define TCSETSW                _IOW('T', 10, struct termios)
-#define TCSETSF                _IOW('T', 11, struct termios)
-#define TCGETS2                _IOR('T', 12, struct termios2)
-#define TCSETS2                _IOW('T', 13, struct termios2)
-#define TCSETSW2       _IOW('T', 14, struct termios2)
-#define TCSETSF2       _IOW('T', 15, struct termios2)
-#define TIOCGDEV       _IOR('T',0x32, unsigned int) /* Get primary device node of /dev/console */
-#define TIOCVHANGUP    _IO('T', 0x37)
-
-/* Note that all the ioctls that are not available in Linux have a 
- * double underscore on the front to: a) avoid some programs to
- * think we support some ioctls under Linux (autoconfiguration stuff)
- */
-/* Little t */
-#define TIOCGETD       _IOR('t', 0, int)
-#define TIOCSETD       _IOW('t', 1, int)
-#define __TIOCHPCL        _IO('t', 2) /* SunOS Specific */
-#define __TIOCMODG        _IOR('t', 3, int) /* SunOS Specific */
-#define __TIOCMODS        _IOW('t', 4, int) /* SunOS Specific */
-#define __TIOCGETP        _IOR('t', 8, struct sgttyb) /* SunOS Specific */
-#define __TIOCSETP        _IOW('t', 9, struct sgttyb) /* SunOS Specific */
-#define __TIOCSETN        _IOW('t', 10, struct sgttyb) /* SunOS Specific */
-#define TIOCEXCL       _IO('t', 13)
-#define TIOCNXCL       _IO('t', 14)
-#define __TIOCFLUSH       _IOW('t', 16, int) /* SunOS Specific */
-#define __TIOCSETC        _IOW('t', 17, struct tchars) /* SunOS Specific */
-#define __TIOCGETC        _IOR('t', 18, struct tchars) /* SunOS Specific */
-#define __TIOCTCNTL       _IOW('t', 32, int) /* SunOS Specific */
-#define __TIOCSIGNAL      _IOW('t', 33, int) /* SunOS Specific */
-#define __TIOCSETX        _IOW('t', 34, int) /* SunOS Specific */
-#define __TIOCGETX        _IOR('t', 35, int) /* SunOS Specific */
-#define TIOCCONS       _IO('t', 36)
-#define TIOCGSOFTCAR   _IOR('t', 100, int)
-#define TIOCSSOFTCAR   _IOW('t', 101, int)
-#define __TIOCUCNTL       _IOW('t', 102, int) /* SunOS Specific */
-#define TIOCSWINSZ     _IOW('t', 103, struct winsize)
-#define TIOCGWINSZ     _IOR('t', 104, struct winsize)
-#define __TIOCREMOTE      _IOW('t', 105, int) /* SunOS Specific */
-#define TIOCMGET       _IOR('t', 106, int)
-#define TIOCMBIC       _IOW('t', 107, int)
-#define TIOCMBIS       _IOW('t', 108, int)
-#define TIOCMSET       _IOW('t', 109, int)
-#define TIOCSTART       _IO('t', 110)
-#define TIOCSTOP        _IO('t', 111)
-#define TIOCPKT                _IOW('t', 112, int)
-#define TIOCNOTTY      _IO('t', 113)
-#define TIOCSTI                _IOW('t', 114, char)
-#define TIOCOUTQ       _IOR('t', 115, int)
-#define __TIOCGLTC        _IOR('t', 116, struct ltchars) /* SunOS Specific */
-#define __TIOCSLTC        _IOW('t', 117, struct ltchars) /* SunOS Specific */
-/* 118 is the non-posix setpgrp tty ioctl */
-/* 119 is the non-posix getpgrp tty ioctl */
-#define __TIOCCDTR        _IO('t', 120) /* SunOS Specific */
-#define __TIOCSDTR        _IO('t', 121) /* SunOS Specific */
-#define TIOCCBRK        _IO('t', 122)
-#define TIOCSBRK        _IO('t', 123)
-#define __TIOCLGET        _IOW('t', 124, int) /* SunOS Specific */
-#define __TIOCLSET        _IOW('t', 125, int) /* SunOS Specific */
-#define __TIOCLBIC        _IOW('t', 126, int) /* SunOS Specific */
-#define __TIOCLBIS        _IOW('t', 127, int) /* SunOS Specific */
-#define __TIOCISPACE      _IOR('t', 128, int) /* SunOS Specific */
-#define __TIOCISIZE       _IOR('t', 129, int) /* SunOS Specific */
-#define TIOCSPGRP      _IOW('t', 130, int)
-#define TIOCGPGRP      _IOR('t', 131, int)
-#define TIOCSCTTY      _IO('t', 132)
-#define TIOCGSID       _IOR('t', 133, int)
-/* Get minor device of a pty master's FD -- Solaris equiv is ISPTM */
-#define TIOCGPTN       _IOR('t', 134, unsigned int) /* Get Pty Number */
-#define TIOCSPTLCK     _IOW('t', 135, int) /* Lock/unlock PTY */
-#define TIOCSIG                _IOW('t', 136, int) /* Generate signal on Pty slave */
-
-/* Little f */
-#define FIOCLEX                _IO('f', 1)
-#define FIONCLEX       _IO('f', 2)
-#define FIOASYNC       _IOW('f', 125, int)
-#define FIONBIO                _IOW('f', 126, int)
-#define FIONREAD       _IOR('f', 127, int)
-#define TIOCINQ                FIONREAD
-#define FIOQSIZE       _IOR('f', 128, loff_t)
-
-/* SCARY Rutgers local SunOS kernel hackery, perhaps I will support it
- * someday.  This is completely bogus, I know...
- */
-#define __TCGETSTAT       _IO('T', 200) /* Rutgers specific */
-#define __TCSETSTAT       _IO('T', 201) /* Rutgers specific */
-
-/* Linux specific, no SunOS equivalent. */
-#define TIOCLINUX      0x541C
-#define TIOCGSERIAL    0x541E
-#define TIOCSSERIAL    0x541F
-#define TCSBRKP                0x5425
-#define TIOCSERCONFIG  0x5453
-#define TIOCSERGWILD   0x5454
-#define TIOCSERSWILD   0x5455
-#define TIOCGLCKTRMIOS 0x5456
-#define TIOCSLCKTRMIOS 0x5457
-#define TIOCSERGSTRUCT 0x5458 /* For debugging only */
-#define TIOCSERGETLSR   0x5459 /* Get line status register */
-#define TIOCSERGETMULTI 0x545A /* Get multiport config  */
-#define TIOCSERSETMULTI 0x545B /* Set multiport config */
-#define TIOCMIWAIT     0x545C /* Wait for change on serial input line(s) */
-#define TIOCGICOUNT    0x545D /* Read serial port inline interrupt counts */
-
-/* Kernel definitions */
-#ifdef __KERNEL__
 #define TIOCGETC __TIOCGETC
 #define TIOCGETP __TIOCGETP
 #define TIOCGLTC __TIOCGLTC
 #define TIOCSETP __TIOCSETP
 #define TIOCSETN __TIOCSETN
 #define TIOCSETC __TIOCSETC
-#endif
-
-/* Used for packet mode */
-#define TIOCPKT_DATA            0
-#define TIOCPKT_FLUSHREAD       1
-#define TIOCPKT_FLUSHWRITE      2
-#define TIOCPKT_STOP            4
-#define TIOCPKT_START           8
-#define TIOCPKT_NOSTOP         16
-#define TIOCPKT_DOSTOP         32
-#define TIOCPKT_IOCTL          64
-
 #endif /* !(_ASM_SPARC_IOCTLS_H) */
diff --git a/arch/sparc/include/asm/ipcbuf.h b/arch/sparc/include/asm/ipcbuf.h
deleted file mode 100644 (file)
index 66013b4..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef __SPARC_IPCBUF_H
-#define __SPARC_IPCBUF_H
-
-/*
- * The ipc64_perm structure for sparc/sparc64 architecture.
- * Note extra padding because this structure is passed back and forth
- * between kernel and user space.
- *
- * Pad space is left for:
- * - 32-bit seq
- * - on sparc for 32 bit mode (it is 32 bit on sparc64)
- * - 2 miscellaneous 64-bit values
- */
-
-struct ipc64_perm
-{
-       __kernel_key_t  key;
-       __kernel_uid_t  uid;
-       __kernel_gid_t  gid;
-       __kernel_uid_t  cuid;
-       __kernel_gid_t  cgid;
-#ifndef __arch64__
-       unsigned short  __pad0;
-#endif
-       __kernel_mode_t mode;
-       unsigned short  __pad1;
-       unsigned short  seq;
-       unsigned long long __unused1;
-       unsigned long long __unused2;
-};
-
-#endif /* __SPARC_IPCBUF_H */
diff --git a/arch/sparc/include/asm/jsflash.h b/arch/sparc/include/asm/jsflash.h
deleted file mode 100644 (file)
index 0717d9e..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * jsflash.h: OS Flash SIMM support for JavaStations.
- *
- * Copyright (C) 1999  Pete Zaitcev
- */
-
-#ifndef _SPARC_JSFLASH_H
-#define _SPARC_JSFLASH_H
-
-#ifndef _SPARC_TYPES_H
-#include <linux/types.h>
-#endif
-
-/*
- * Semantics of the offset is a full address.
- * Hardcode it or get it from probe ioctl.
- *
- * We use full bus address, so that we would be
- * automatically compatible with possible future systems.
- */
-
-#define JSFLASH_IDENT   (('F'<<8)|54)
-struct jsflash_ident_arg {
-       __u64 off;                /* 0x20000000 is included */
-       __u32 size;
-       char name[32];          /* With trailing zero */
-};
-
-#define JSFLASH_ERASE   (('F'<<8)|55)
-/* Put 0 as argument, may be flags or sector number... */
-
-#define JSFLASH_PROGRAM (('F'<<8)|56)
-struct jsflash_program_arg {
-       __u64 data;             /* char* for sparc and sparc64 */
-       __u64 off;
-       __u32 size;
-};
-
-#endif /* _SPARC_JSFLASH_H */
diff --git a/arch/sparc/include/asm/kvm_para.h b/arch/sparc/include/asm/kvm_para.h
deleted file mode 100644 (file)
index 14fab8f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/kvm_para.h>
index c3029ad6619a31d7984138a3183432b9a7f59a2b..59bb5938d85273fd04a2a5345b22185e108eceb5 100644 (file)
@@ -1,33 +1,10 @@
 #ifndef __SPARC_MMAN_H__
 #define __SPARC_MMAN_H__
 
-#include <asm-generic/mman-common.h>
+#include <uapi/asm/mman.h>
 
-/* SunOS'ified... */
-
-#define MAP_RENAME      MAP_ANONYMOUS   /* In SunOS terminology */
-#define MAP_NORESERVE   0x40            /* don't reserve swap pages */
-#define MAP_INHERIT     0x80            /* SunOS doesn't do this, but... */
-#define MAP_LOCKED      0x100           /* lock the mapping */
-#define _MAP_NEW        0x80000000      /* Binary compatibility is fun... */
-
-#define MAP_GROWSDOWN  0x0200          /* stack-like segment */
-#define MAP_DENYWRITE  0x0800          /* ETXTBSY */
-#define MAP_EXECUTABLE 0x1000          /* mark it as an executable */
-
-#define MCL_CURRENT     0x2000          /* lock all currently mapped pages */
-#define MCL_FUTURE      0x4000          /* lock all additions to address space */
-
-#define MAP_POPULATE   0x8000          /* populate (prefault) pagetables */
-#define MAP_NONBLOCK   0x10000         /* do not block on IO */
-#define MAP_STACK      0x20000         /* give out an address that is best suited for process/thread stacks */
-#define MAP_HUGETLB    0x40000         /* create a huge page mapping */
-
-#ifdef __KERNEL__
 #ifndef __ASSEMBLY__
 #define arch_mmap_check(addr,len,flags)        sparc_mmap_check(addr,len)
 int sparc_mmap_check(unsigned long addr, unsigned long len);
 #endif
-#endif
-
 #endif /* __SPARC_MMAN_H__ */
diff --git a/arch/sparc/include/asm/msgbuf.h b/arch/sparc/include/asm/msgbuf.h
deleted file mode 100644 (file)
index efc7cbe..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifndef _SPARC_MSGBUF_H
-#define _SPARC_MSGBUF_H
-
-/*
- * The msqid64_ds structure for sparc64 architecture.
- * Note extra padding because this structure is passed back and forth
- * between kernel and user space.
- *
- * Pad space is left for:
- * - 64-bit time_t to solve y2038 problem
- * - 2 miscellaneous 32-bit values
- */
-
-#if defined(__sparc__) && defined(__arch64__)
-# define PADDING(x)
-#else
-# define PADDING(x) unsigned int x;
-#endif
-
-
-struct msqid64_ds {
-       struct ipc64_perm msg_perm;
-       PADDING(__pad1)
-       __kernel_time_t msg_stime;      /* last msgsnd time */
-       PADDING(__pad2)
-       __kernel_time_t msg_rtime;      /* last msgrcv time */
-       PADDING(__pad3)
-       __kernel_time_t msg_ctime;      /* last change time */
-       unsigned long  msg_cbytes;      /* current number of bytes on queue */
-       unsigned long  msg_qnum;        /* number of messages in queue */
-       unsigned long  msg_qbytes;      /* max number of bytes on queue */
-       __kernel_pid_t msg_lspid;       /* pid of last msgsnd */
-       __kernel_pid_t msg_lrpid;       /* last receive pid */
-       unsigned long  __unused1;
-       unsigned long  __unused2;
-};
-#undef PADDING
-#endif /* _SPARC_MSGBUF_H */
diff --git a/arch/sparc/include/asm/openpromio.h b/arch/sparc/include/asm/openpromio.h
deleted file mode 100644 (file)
index 917fb8e..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef        _SPARC_OPENPROMIO_H
-#define        _SPARC_OPENPROMIO_H
-
-#include <linux/compiler.h>
-#include <linux/ioctl.h>
-#include <linux/types.h>
-
-/*
- * SunOS and Solaris /dev/openprom definitions. The ioctl values
- * were chosen to be exactly equal to the SunOS equivalents.
- */
-
-struct openpromio
-{
-       u_int   oprom_size;             /* Actual size of the oprom_array. */
-       char    oprom_array[1];         /* Holds property names and values. */
-};
-
-#define        OPROMMAXPARAM   4096            /* Maximum size of oprom_array. */
-
-#define        OPROMGETOPT             0x20004F01
-#define        OPROMSETOPT             0x20004F02
-#define        OPROMNXTOPT             0x20004F03
-#define        OPROMSETOPT2            0x20004F04
-#define        OPROMNEXT               0x20004F05
-#define        OPROMCHILD              0x20004F06
-#define        OPROMGETPROP            0x20004F07
-#define        OPROMNXTPROP            0x20004F08
-#define        OPROMU2P                0x20004F09
-#define        OPROMGETCONS            0x20004F0A
-#define        OPROMGETFBNAME          0x20004F0B
-#define        OPROMGETBOOTARGS        0x20004F0C
-/* Linux extensions */                         /* Arguments in oprom_array: */
-#define OPROMSETCUR            0x20004FF0      /* int node - Sets current node */
-#define OPROMPCI2NODE          0x20004FF1      /* int pci_bus, pci_devfn - Sets current node to PCI device's node */
-#define OPROMPATH2NODE         0x20004FF2      /* char path[] - Set current node from fully qualified PROM path */
-
-/*
- * Return values from OPROMGETCONS:
- */
-
-#define OPROMCONS_NOT_WSCONS    0
-#define OPROMCONS_STDIN_IS_KBD  0x1     /* stdin device is kbd */
-#define OPROMCONS_STDOUT_IS_FB  0x2     /* stdout is a framebuffer */
-#define OPROMCONS_OPENPROM      0x4     /* supports openboot */
-
-
-/*
- *  NetBSD/OpenBSD /dev/openprom definitions.
- */
-
-struct opiocdesc
-{
-       int     op_nodeid;              /* PROM Node ID (value-result) */
-       int     op_namelen;             /* Length of op_name. */
-       char    __user *op_name;        /* Pointer to the property name. */
-       int     op_buflen;              /* Length of op_buf (value-result) */
-       char    __user *op_buf;         /* Pointer to buffer. */
-};
-
-#define        OPIOCGET        _IOWR('O', 1, struct opiocdesc)
-#define        OPIOCSET        _IOW('O', 2, struct opiocdesc)
-#define        OPIOCNEXTPROP   _IOWR('O', 3, struct opiocdesc)
-#define        OPIOCGETOPTNODE _IOR('O', 4, int)
-#define        OPIOCGETNEXT    _IOWR('O', 5, int)
-#define        OPIOCGETCHILD   _IOWR('O', 6, int)
-
-#endif /* _SPARC_OPENPROMIO_H */
-
diff --git a/arch/sparc/include/asm/param.h b/arch/sparc/include/asm/param.h
deleted file mode 100644 (file)
index 0bc356b..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef _ASMSPARC_PARAM_H
-#define _ASMSPARC_PARAM_H
-
-#define EXEC_PAGESIZE  8192    /* Thanks for sun4's we carry baggage... */
-#include <asm-generic/param.h>
-
-#endif /* _ASMSPARC_PARAM_H */
diff --git a/arch/sparc/include/asm/perfctr.h b/arch/sparc/include/asm/perfctr.h
deleted file mode 100644 (file)
index 214feef..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-/*----------------------------------------
-  PERFORMANCE INSTRUMENTATION  
-  Guillaume Thouvenin           08/10/98
-  David S. Miller               10/06/98
-  ---------------------------------------*/
-#ifndef PERF_COUNTER_API
-#define PERF_COUNTER_API
-
-/* sys_perfctr() interface.  First arg is operation code
- * from enumeration below.  The meaning of further arguments
- * are determined by the operation code.
- *
- * NOTE: This system call is no longer provided, use the perf_events
- *       infrastructure.
- *
- * Pointers which are passed by the user are pointers to 64-bit
- * integers.
- *
- * Once enabled, performance counter state is retained until the
- * process either exits or performs an exec.  That is, performance
- * counters remain enabled for fork/clone children.
- */
-enum perfctr_opcode {
-       /* Enable UltraSparc performance counters, ARG0 is pointer
-        * to 64-bit accumulator for D0 counter in PIC, ARG1 is pointer
-        * to 64-bit accumulator for D1 counter.  ARG2 is a pointer to
-        * the initial PCR register value to use.
-        */
-       PERFCTR_ON,
-
-       /* Disable UltraSparc performance counters.  The PCR is written
-        * with zero and the user counter accumulator pointers and
-        * working PCR register value are forgotten.
-        */
-       PERFCTR_OFF,
-
-       /* Add current D0 and D1 PIC values into user pointers given
-        * in PERFCTR_ON operation.  The PIC is cleared before returning.
-        */
-       PERFCTR_READ,
-
-       /* Clear the PIC register. */
-       PERFCTR_CLRPIC,
-
-       /* Begin using a new PCR value, the pointer to which is passed
-        * in ARG0.  The PIC is also cleared after the new PCR value is
-        * written.
-        */
-       PERFCTR_SETPCR,
-
-       /* Store in pointer given in ARG0 the current PCR register value
-        * being used.
-        */
-       PERFCTR_GETPCR
-};
-
-#define  PRIV 0x00000001
-#define  SYS  0x00000002
-#define  USR  0x00000004
-
-/* Pic.S0 Selection Bit Field Encoding, Ultra-I/II  */
-#define  CYCLE_CNT            0x00000000
-#define  INSTR_CNT            0x00000010
-#define  DISPATCH0_IC_MISS    0x00000020
-#define  DISPATCH0_STOREBUF   0x00000030
-#define  IC_REF               0x00000080
-#define  DC_RD                0x00000090
-#define  DC_WR                0x000000A0
-#define  LOAD_USE             0x000000B0
-#define  EC_REF               0x000000C0
-#define  EC_WRITE_HIT_RDO     0x000000D0
-#define  EC_SNOOP_INV         0x000000E0
-#define  EC_RD_HIT            0x000000F0
-
-/* Pic.S0 Selection Bit Field Encoding, Ultra-III  */
-#define  US3_CYCLE_CNT         0x00000000
-#define  US3_INSTR_CNT         0x00000010
-#define  US3_DISPATCH0_IC_MISS 0x00000020
-#define  US3_DISPATCH0_BR_TGT  0x00000030
-#define  US3_DISPATCH0_2ND_BR  0x00000040
-#define  US3_RSTALL_STOREQ     0x00000050
-#define  US3_RSTALL_IU_USE     0x00000060
-#define  US3_IC_REF            0x00000080
-#define  US3_DC_RD             0x00000090
-#define  US3_DC_WR             0x000000a0
-#define  US3_EC_REF            0x000000c0
-#define  US3_EC_WR_HIT_RTO     0x000000d0
-#define  US3_EC_SNOOP_INV      0x000000e0
-#define  US3_EC_RD_MISS                0x000000f0
-#define  US3_PC_PORT0_RD       0x00000100
-#define  US3_SI_SNOOP          0x00000110
-#define  US3_SI_CIQ_FLOW       0x00000120
-#define  US3_SI_OWNED          0x00000130
-#define  US3_SW_COUNT_0                0x00000140
-#define  US3_IU_BR_MISS_TAKEN  0x00000150
-#define  US3_IU_BR_COUNT_TAKEN 0x00000160
-#define  US3_DISP_RS_MISPRED   0x00000170
-#define  US3_FA_PIPE_COMPL     0x00000180
-#define  US3_MC_READS_0                0x00000200
-#define  US3_MC_READS_1                0x00000210
-#define  US3_MC_READS_2                0x00000220
-#define  US3_MC_READS_3                0x00000230
-#define  US3_MC_STALLS_0       0x00000240
-#define  US3_MC_STALLS_2       0x00000250
-
-/* Pic.S1 Selection Bit Field Encoding, Ultra-I/II  */
-#define  CYCLE_CNT_D1         0x00000000
-#define  INSTR_CNT_D1         0x00000800
-#define  DISPATCH0_IC_MISPRED 0x00001000
-#define  DISPATCH0_FP_USE     0x00001800
-#define  IC_HIT               0x00004000
-#define  DC_RD_HIT            0x00004800
-#define  DC_WR_HIT            0x00005000
-#define  LOAD_USE_RAW         0x00005800
-#define  EC_HIT               0x00006000
-#define  EC_WB                0x00006800
-#define  EC_SNOOP_CB          0x00007000
-#define  EC_IT_HIT            0x00007800
-
-/* Pic.S1 Selection Bit Field Encoding, Ultra-III  */
-#define  US3_CYCLE_CNT_D1      0x00000000
-#define  US3_INSTR_CNT_D1      0x00000800
-#define  US3_DISPATCH0_MISPRED 0x00001000
-#define  US3_IC_MISS_CANCELLED 0x00001800
-#define  US3_RE_ENDIAN_MISS    0x00002000
-#define  US3_RE_FPU_BYPASS     0x00002800
-#define  US3_RE_DC_MISS                0x00003000
-#define  US3_RE_EC_MISS                0x00003800
-#define  US3_IC_MISS           0x00004000
-#define  US3_DC_RD_MISS                0x00004800
-#define  US3_DC_WR_MISS                0x00005000
-#define  US3_RSTALL_FP_USE     0x00005800
-#define  US3_EC_MISSES         0x00006000
-#define  US3_EC_WB             0x00006800
-#define  US3_EC_SNOOP_CB       0x00007000
-#define  US3_EC_IC_MISS                0x00007800
-#define  US3_RE_PC_MISS                0x00008000
-#define  US3_ITLB_MISS         0x00008800
-#define  US3_DTLB_MISS         0x00009000
-#define  US3_WC_MISS           0x00009800
-#define  US3_WC_SNOOP_CB       0x0000a000
-#define  US3_WC_SCRUBBED       0x0000a800
-#define  US3_WC_WB_WO_READ     0x0000b000
-#define  US3_PC_SOFT_HIT       0x0000c000
-#define  US3_PC_SNOOP_INV      0x0000c800
-#define  US3_PC_HARD_HIT       0x0000d000
-#define  US3_PC_PORT1_RD       0x0000d800
-#define  US3_SW_COUNT_1                0x0000e000
-#define  US3_IU_STAT_BR_MIS_UNTAKEN    0x0000e800
-#define  US3_IU_STAT_BR_COUNT_UNTAKEN  0x0000f000
-#define  US3_PC_MS_MISSES      0x0000f800
-#define  US3_MC_WRITES_0       0x00010800
-#define  US3_MC_WRITES_1       0x00011000
-#define  US3_MC_WRITES_2       0x00011800
-#define  US3_MC_WRITES_3       0x00012000
-#define  US3_MC_STALLS_1       0x00012800
-#define  US3_MC_STALLS_3       0x00013000
-#define  US3_RE_RAW_MISS       0x00013800
-#define  US3_FM_PIPE_COMPLETION        0x00014000
-
-struct vcounter_struct {
-  unsigned long long vcnt0;
-  unsigned long long vcnt1;
-};
-
-#endif /* !(PERF_COUNTER_API) */
diff --git a/arch/sparc/include/asm/poll.h b/arch/sparc/include/asm/poll.h
deleted file mode 100644 (file)
index 091d3ad..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef __SPARC_POLL_H
-#define __SPARC_POLL_H
-
-#define POLLWRNORM     POLLOUT
-#define POLLWRBAND     256
-#define POLLMSG                512
-#define POLLREMOVE     1024
-#define POLLRDHUP       2048
-
-#include <asm-generic/poll.h>
-
-#endif
diff --git a/arch/sparc/include/asm/posix_types.h b/arch/sparc/include/asm/posix_types.h
deleted file mode 100644 (file)
index 156220e..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * This file is generally used by user-level software, so you need to
- * be a little careful about namespace pollution etc.  Also, we cannot
- * assume GCC is being used.
- */
-
-#ifndef __SPARC_POSIX_TYPES_H
-#define __SPARC_POSIX_TYPES_H
-
-#if defined(__sparc__) && defined(__arch64__)
-/* sparc 64 bit */
-
-typedef unsigned short                __kernel_old_uid_t;
-typedef unsigned short         __kernel_old_gid_t;
-#define __kernel_old_uid_t __kernel_old_uid_t
-
-/* Note this piece of asymmetry from the v9 ABI.  */
-typedef int                   __kernel_suseconds_t;
-#define __kernel_suseconds_t __kernel_suseconds_t
-
-#else
-/* sparc 32 bit */
-
-typedef unsigned int           __kernel_size_t;
-typedef int                    __kernel_ssize_t;
-typedef long int               __kernel_ptrdiff_t;
-#define __kernel_size_t __kernel_size_t
-
-typedef unsigned short         __kernel_ipc_pid_t;
-#define __kernel_ipc_pid_t __kernel_ipc_pid_t
-
-typedef unsigned short         __kernel_uid_t;
-typedef unsigned short         __kernel_gid_t;
-#define __kernel_uid_t __kernel_uid_t
-
-typedef unsigned short         __kernel_mode_t;
-#define __kernel_mode_t __kernel_mode_t
-
-typedef long                   __kernel_daddr_t;
-#define __kernel_daddr_t __kernel_daddr_t
-
-typedef unsigned short        __kernel_old_dev_t;
-#define __kernel_old_dev_t __kernel_old_dev_t
-
-#endif /* defined(__sparc__) && defined(__arch64__) */
-
-#include <asm-generic/posix_types.h>
-
-#endif /* __SPARC_POSIX_TYPES_H */
index cee7ed9c927d9ac433db875646add31e212dc32b..e71eb57945e064eb4602464af190278578a1b53e 100644 (file)
@@ -7,43 +7,11 @@
  *
  * Copyright (C) 1994 David S. Miller (davem@caip.rutgers.edu)
  */
-
 #ifndef __LINUX_SPARC_PSR_H
 #define __LINUX_SPARC_PSR_H
 
-/* The Sparc PSR fields are laid out as the following:
- *
- *  ------------------------------------------------------------------------
- *  | impl  | vers  | icc   | resv  | EC | EF | PIL  | S | PS | ET |  CWP  |
- *  | 31-28 | 27-24 | 23-20 | 19-14 | 13 | 12 | 11-8 | 7 | 6  | 5  |  4-0  |
- *  ------------------------------------------------------------------------
- */
-#define PSR_CWP     0x0000001f         /* current window pointer     */
-#define PSR_ET      0x00000020         /* enable traps field         */
-#define PSR_PS      0x00000040         /* previous privilege level   */
-#define PSR_S       0x00000080         /* current privilege level    */
-#define PSR_PIL     0x00000f00         /* processor interrupt level  */
-#define PSR_EF      0x00001000         /* enable floating point      */
-#define PSR_EC      0x00002000         /* enable co-processor        */
-#define PSR_SYSCALL 0x00004000         /* inside of a syscall        */
-#define PSR_LE      0x00008000         /* SuperSparcII little-endian */
-#define PSR_ICC     0x00f00000         /* integer condition codes    */
-#define PSR_C       0x00100000         /* carry bit                  */
-#define PSR_V       0x00200000         /* overflow bit               */
-#define PSR_Z       0x00400000         /* zero bit                   */
-#define PSR_N       0x00800000         /* negative bit               */
-#define PSR_VERS    0x0f000000         /* cpu-version field          */
-#define PSR_IMPL    0xf0000000         /* cpu-implementation field   */
-
-#define PSR_VERS_SHIFT         24
-#define PSR_IMPL_SHIFT         28
-#define PSR_VERS_SHIFTED_MASK  0xf
-#define PSR_IMPL_SHIFTED_MASK  0xf
-
-#define PSR_IMPL_TI            0x4
-#define PSR_IMPL_LEON          0xf
+#include <uapi/asm/psr.h>
 
-#ifdef __KERNEL__
 
 #ifndef __ASSEMBLY__
 /* Get the %psr register. */
@@ -96,6 +64,4 @@ static inline unsigned int get_fsr(void)
 
 #endif /* !(__ASSEMBLY__) */
 
-#endif /* (__KERNEL__) */
-
 #endif /* !(__LINUX_SPARC_PSR_H) */
diff --git a/arch/sparc/include/asm/psrcompat.h b/arch/sparc/include/asm/psrcompat.h
deleted file mode 100644 (file)
index 44b6327..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef _SPARC64_PSRCOMPAT_H
-#define _SPARC64_PSRCOMPAT_H
-
-#include <asm/pstate.h>
-
-/* Old 32-bit PSR fields for the compatibility conversion code. */
-#define PSR_CWP     0x0000001f         /* current window pointer     */
-#define PSR_ET      0x00000020         /* enable traps field         */
-#define PSR_PS      0x00000040         /* previous privilege level   */
-#define PSR_S       0x00000080         /* current privilege level    */
-#define PSR_PIL     0x00000f00         /* processor interrupt level  */
-#define PSR_EF      0x00001000         /* enable floating point      */
-#define PSR_EC      0x00002000         /* enable co-processor        */
-#define PSR_SYSCALL 0x00004000         /* inside of a syscall        */
-#define PSR_LE      0x00008000         /* SuperSparcII little-endian */
-#define PSR_ICC     0x00f00000         /* integer condition codes    */
-#define PSR_C       0x00100000         /* carry bit                  */
-#define PSR_V       0x00200000         /* overflow bit               */
-#define PSR_Z       0x00400000         /* zero bit                   */
-#define PSR_N       0x00800000         /* negative bit               */
-#define PSR_VERS    0x0f000000         /* cpu-version field          */
-#define PSR_IMPL    0xf0000000         /* cpu-implementation field   */
-
-#define PSR_V8PLUS  0xff000000         /* fake impl/ver, meaning a 64bit CPU is present */
-#define PSR_XCC            0x000f0000         /* if PSR_V8PLUS, this is %xcc */
-
-static inline unsigned int tstate_to_psr(unsigned long tstate)
-{
-       return ((tstate & TSTATE_CWP)                   |
-               PSR_S                                   |
-               ((tstate & TSTATE_ICC) >> 12)           |
-               ((tstate & TSTATE_XCC) >> 20)           |
-               ((tstate & TSTATE_SYSCALL) ? PSR_SYSCALL : 0) |
-               PSR_V8PLUS);
-}
-
-static inline unsigned long psr_to_tstate_icc(unsigned int psr)
-{
-       unsigned long tstate = ((unsigned long)(psr & PSR_ICC)) << 12;
-       if ((psr & (PSR_VERS|PSR_IMPL)) == PSR_V8PLUS)
-               tstate |= ((unsigned long)(psr & PSR_XCC)) << 20;
-       return tstate;
-}
-
-#endif /* !(_SPARC64_PSRCOMPAT_H) */
diff --git a/arch/sparc/include/asm/pstate.h b/arch/sparc/include/asm/pstate.h
deleted file mode 100644 (file)
index 4b6b998..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-#ifndef _SPARC64_PSTATE_H
-#define _SPARC64_PSTATE_H
-
-#include <linux/const.h>
-
-/* The V9 PSTATE Register (with SpitFire extensions).
- *
- * -----------------------------------------------------------------------
- * | Resv | IG | MG | CLE | TLE |  MM  | RED | PEF | AM | PRIV | IE | AG |
- * -----------------------------------------------------------------------
- *  63  12  11   10    9     8    7   6   5     4     3     2     1    0
- */
-#define PSTATE_IG   _AC(0x0000000000000800,UL) /* Interrupt Globals.   */
-#define PSTATE_MG   _AC(0x0000000000000400,UL) /* MMU Globals.         */
-#define PSTATE_CLE  _AC(0x0000000000000200,UL) /* Current Little Endian.*/
-#define PSTATE_TLE  _AC(0x0000000000000100,UL) /* Trap Little Endian.  */
-#define PSTATE_MM   _AC(0x00000000000000c0,UL) /* Memory Model.                */
-#define PSTATE_TSO  _AC(0x0000000000000000,UL) /* MM: TotalStoreOrder  */
-#define PSTATE_PSO  _AC(0x0000000000000040,UL) /* MM: PartialStoreOrder        */
-#define PSTATE_RMO  _AC(0x0000000000000080,UL) /* MM: RelaxedMemoryOrder*/
-#define PSTATE_RED  _AC(0x0000000000000020,UL) /* Reset Error Debug.   */
-#define PSTATE_PEF  _AC(0x0000000000000010,UL) /* Floating Point Enable.*/
-#define PSTATE_AM   _AC(0x0000000000000008,UL) /* Address Mask.                */
-#define PSTATE_PRIV _AC(0x0000000000000004,UL) /* Privilege.           */
-#define PSTATE_IE   _AC(0x0000000000000002,UL) /* Interrupt Enable.    */
-#define PSTATE_AG   _AC(0x0000000000000001,UL) /* Alternate Globals.   */
-
-/* The V9 TSTATE Register (with SpitFire and Linux extensions).
- *
- * ---------------------------------------------------------------------
- * |  Resv |  GL  |  CCR  |  ASI  |  %pil  |  PSTATE  |  Resv  |  CWP  |
- * ---------------------------------------------------------------------
- *  63   43 42  40 39   32 31   24 23    20 19       8 7      5 4     0
- */
-#define TSTATE_GL      _AC(0x0000070000000000,UL) /* Global reg level  */
-#define TSTATE_CCR     _AC(0x000000ff00000000,UL) /* Condition Codes.  */
-#define TSTATE_XCC     _AC(0x000000f000000000,UL) /* Condition Codes.  */
-#define TSTATE_XNEG    _AC(0x0000008000000000,UL) /* %xcc Negative.    */
-#define TSTATE_XZERO   _AC(0x0000004000000000,UL) /* %xcc Zero.        */
-#define TSTATE_XOVFL   _AC(0x0000002000000000,UL) /* %xcc Overflow.    */
-#define TSTATE_XCARRY  _AC(0x0000001000000000,UL) /* %xcc Carry.       */
-#define TSTATE_ICC     _AC(0x0000000f00000000,UL) /* Condition Codes.  */
-#define TSTATE_INEG    _AC(0x0000000800000000,UL) /* %icc Negative.    */
-#define TSTATE_IZERO   _AC(0x0000000400000000,UL) /* %icc Zero.        */
-#define TSTATE_IOVFL   _AC(0x0000000200000000,UL) /* %icc Overflow.    */
-#define TSTATE_ICARRY  _AC(0x0000000100000000,UL) /* %icc Carry.       */
-#define TSTATE_ASI     _AC(0x00000000ff000000,UL) /* AddrSpace ID.     */
-#define TSTATE_PIL     _AC(0x0000000000f00000,UL) /* %pil (Linux traps)*/
-#define TSTATE_PSTATE  _AC(0x00000000000fff00,UL) /* PSTATE.           */
-#define TSTATE_IG      _AC(0x0000000000080000,UL) /* Interrupt Globals.*/
-#define TSTATE_MG      _AC(0x0000000000040000,UL) /* MMU Globals.      */
-#define TSTATE_CLE     _AC(0x0000000000020000,UL) /* CurrLittleEndian. */
-#define TSTATE_TLE     _AC(0x0000000000010000,UL) /* TrapLittleEndian. */
-#define TSTATE_MM      _AC(0x000000000000c000,UL) /* Memory Model.     */
-#define TSTATE_TSO     _AC(0x0000000000000000,UL) /* MM: TSO           */
-#define TSTATE_PSO     _AC(0x0000000000004000,UL) /* MM: PSO           */
-#define TSTATE_RMO     _AC(0x0000000000008000,UL) /* MM: RMO           */
-#define TSTATE_RED     _AC(0x0000000000002000,UL) /* Reset Error Debug.*/
-#define TSTATE_PEF     _AC(0x0000000000001000,UL) /* FPU Enable.       */
-#define TSTATE_AM      _AC(0x0000000000000800,UL) /* Address Mask.     */
-#define TSTATE_PRIV    _AC(0x0000000000000400,UL) /* Privilege.        */
-#define TSTATE_IE      _AC(0x0000000000000200,UL) /* Interrupt Enable. */
-#define TSTATE_AG      _AC(0x0000000000000100,UL) /* Alternate Globals.*/
-#define TSTATE_SYSCALL _AC(0x0000000000000020,UL) /* in syscall trap   */
-#define TSTATE_CWP     _AC(0x000000000000001f,UL) /* Curr Win-Pointer. */
-
-/* Floating-Point Registers State Register.
- *
- * --------------------------------
- * |  Resv  |  FEF  |  DU  |  DL  |
- * --------------------------------
- *  63     3    2       1      0
- */
-#define FPRS_FEF       _AC(0x0000000000000004,UL) /* FPU Enable.       */
-#define FPRS_DU                _AC(0x0000000000000002,UL) /* Dirty Upper.      */
-#define FPRS_DL                _AC(0x0000000000000001,UL) /* Dirty Lower.      */
-
-/* Version Register.
- *
- * ------------------------------------------------------
- * | MANUF | IMPL | MASK | Resv | MAXTL | Resv | MAXWIN |
- * ------------------------------------------------------
- *  63   48 47  32 31  24 23  16 15    8 7    5 4      0
- */
-#define VERS_MANUF     _AC(0xffff000000000000,UL) /* Manufacturer.     */
-#define VERS_IMPL      _AC(0x0000ffff00000000,UL) /* Implementation.   */
-#define VERS_MASK      _AC(0x00000000ff000000,UL) /* Mask Set Revision.*/
-#define VERS_MAXTL     _AC(0x000000000000ff00,UL) /* Max Trap Level.   */
-#define VERS_MAXWIN    _AC(0x000000000000001f,UL) /* Max RegWindow Idx.*/
-
-/* Compatability Feature Register (%asr26), SPARC-T4 and later  */
-#define CFR_AES                _AC(0x0000000000000001,UL) /* Supports AES opcodes     */
-#define CFR_DES                _AC(0x0000000000000002,UL) /* Supports DES opcodes     */
-#define CFR_KASUMI     _AC(0x0000000000000004,UL) /* Supports KASUMI opcodes  */
-#define CFR_CAMELLIA   _AC(0x0000000000000008,UL) /* Supports CAMELLIA opcodes*/
-#define CFR_MD5                _AC(0x0000000000000010,UL) /* Supports MD5 opcodes     */
-#define CFR_SHA1       _AC(0x0000000000000020,UL) /* Supports SHA1 opcodes    */
-#define CFR_SHA256     _AC(0x0000000000000040,UL) /* Supports SHA256 opcodes  */
-#define CFR_SHA512     _AC(0x0000000000000080,UL) /* Supports SHA512 opcodes  */
-#define CFR_MPMUL      _AC(0x0000000000000100,UL) /* Supports MPMUL opcodes   */
-#define CFR_MONTMUL    _AC(0x0000000000000200,UL) /* Supports MONTMUL opcodes */
-#define CFR_MONTSQR    _AC(0x0000000000000400,UL) /* Supports MONTSQR opcodes */
-#define CFR_CRC32C     _AC(0x0000000000000800,UL) /* Supports CRC32C opcodes  */
-
-#endif /* !(_SPARC64_PSTATE_H) */
index fd9c3f21cbf059d8130fd90d44cf67c3d0641942..0c6f6b068289ad4e74f8ea563a6ccd569f6743f5 100644 (file)
 #ifndef __SPARC_PTRACE_H
 #define __SPARC_PTRACE_H
 
-#if defined(__sparc__) && defined(__arch64__)
-/* 64 bit sparc */
-#include <asm/pstate.h>
-
-/* This struct defines the way the registers are stored on the
- * stack during a system call and basically all traps.
- */
-
-/* This magic value must have the low 9 bits clear,
- * as that is where we encode the %tt value, see below.
- */
-#define PT_REGS_MAGIC 0x57ac6c00
-
-#ifndef __ASSEMBLY__
-
-#include <linux/types.h>
-
-struct pt_regs {
-       unsigned long u_regs[16]; /* globals and ins */
-       unsigned long tstate;
-       unsigned long tpc;
-       unsigned long tnpc;
-       unsigned int y;
-
-       /* We encode a magic number, PT_REGS_MAGIC, along
-        * with the %tt (trap type) register value at trap
-        * entry time.  The magic number allows us to identify
-        * accurately a trap stack frame in the stack
-        * unwinder, and the %tt value allows us to test
-        * things like "in a system call" etc. for an arbitray
-        * process.
-        *
-        * The PT_REGS_MAGIC is chosen such that it can be
-        * loaded completely using just a sethi instruction.
-        */
-       unsigned int magic;
-};
-
-struct pt_regs32 {
-       unsigned int psr;
-       unsigned int pc;
-       unsigned int npc;
-       unsigned int y;
-       unsigned int u_regs[16]; /* globals and ins */
-};
-
-/* A V9 register window */
-struct reg_window {
-       unsigned long locals[8];
-       unsigned long ins[8];
-};
-
-/* A 32-bit register window. */
-struct reg_window32 {
-       unsigned int locals[8];
-       unsigned int ins[8];
-};
-
-/* A V9 Sparc stack frame */
-struct sparc_stackf {
-       unsigned long locals[8];
-        unsigned long ins[6];
-       struct sparc_stackf *fp;
-       unsigned long callers_pc;
-       char *structptr;
-       unsigned long xargs[6];
-       unsigned long xxargs[1];
-};
-
-/* A 32-bit Sparc stack frame */
-struct sparc_stackf32 {
-       unsigned int locals[8];
-        unsigned int ins[6];
-       unsigned int fp;
-       unsigned int callers_pc;
-       unsigned int structptr;
-       unsigned int xargs[6];
-       unsigned int xxargs[1];
-};
-
-struct sparc_trapf {
-       unsigned long locals[8];
-       unsigned long ins[8];
-       unsigned long _unused;
-       struct pt_regs *regs;
-};
-#endif /* (!__ASSEMBLY__) */
-#else
-/* 32 bit sparc */
-
-#include <asm/psr.h>
-
-/* This struct defines the way the registers are stored on the
- * stack during a system call and basically all traps.
- */
-#ifndef __ASSEMBLY__
-
-#include <linux/types.h>
-
-struct pt_regs {
-       unsigned long psr;
-       unsigned long pc;
-       unsigned long npc;
-       unsigned long y;
-       unsigned long u_regs[16]; /* globals and ins */
-};
-
-/* A 32-bit register window. */
-struct reg_window32 {
-       unsigned long locals[8];
-       unsigned long ins[8];
-};
-
-/* A Sparc stack frame */
-struct sparc_stackf {
-       unsigned long locals[8];
-        unsigned long ins[6];
-       struct sparc_stackf *fp;
-       unsigned long callers_pc;
-       char *structptr;
-       unsigned long xargs[6];
-       unsigned long xxargs[1];
-};
-#endif /* (!__ASSEMBLY__) */
-
-#endif /* (defined(__sparc__) && defined(__arch64__))*/
-
-#ifndef __ASSEMBLY__
-
-#define TRACEREG_SZ    sizeof(struct pt_regs)
-#define STACKFRAME_SZ  sizeof(struct sparc_stackf)
-
-#define TRACEREG32_SZ  sizeof(struct pt_regs32)
-#define STACKFRAME32_SZ        sizeof(struct sparc_stackf32)
-
-#endif /* (!__ASSEMBLY__) */
-
-#define UREG_G0        0
-#define UREG_G1        1
-#define UREG_G2        2
-#define UREG_G3        3
-#define UREG_G4        4
-#define UREG_G5        5
-#define UREG_G6        6
-#define UREG_G7        7
-#define UREG_I0        8
-#define UREG_I1        9
-#define UREG_I2        10
-#define UREG_I3        11
-#define UREG_I4        12
-#define UREG_I5        13
-#define UREG_I6        14
-#define UREG_I7        15
-#define UREG_FP        UREG_I6
-#define UREG_RETPC     UREG_I7
+#include <uapi/asm/ptrace.h>
 
 #if defined(__sparc__) && defined(__arch64__)
-/* 64 bit sparc */
-
 #ifndef __ASSEMBLY__
 
-#ifdef __KERNEL__
-
 #include <linux/threads.h>
 #include <asm/switch_to.h>
 
@@ -223,24 +65,10 @@ extern unsigned long profile_pc(struct pt_regs *);
 #else
 #define profile_pc(regs) instruction_pointer(regs)
 #endif
-#endif /* (__KERNEL__) */
-
 #else /* __ASSEMBLY__ */
-/* For assembly code. */
-#define TRACEREG_SZ            0xa0
-#define STACKFRAME_SZ          0xc0
-
-#define TRACEREG32_SZ          0x50
-#define STACKFRAME32_SZ                0x60
 #endif /* __ASSEMBLY__ */
-
 #else /* (defined(__sparc__) && defined(__arch64__)) */
-
-/* 32 bit sparc */
-
 #ifndef __ASSEMBLY__
-
-#ifdef __KERNEL__
 #include <asm/switch_to.h>
 
 static inline bool pt_regs_is_syscall(struct pt_regs *regs)
@@ -265,158 +93,10 @@ static inline bool pt_regs_clear_syscall(struct pt_regs *regs)
 #define instruction_pointer(regs) ((regs)->pc)
 #define user_stack_pointer(regs) ((regs)->u_regs[UREG_FP])
 unsigned long profile_pc(struct pt_regs *);
-#endif /* (__KERNEL__) */
-
 #else /* (!__ASSEMBLY__) */
-/* For assembly code. */
-#define TRACEREG_SZ       0x50
-#define STACKFRAME_SZ     0x60
 #endif /* (!__ASSEMBLY__) */
-
 #endif /* (defined(__sparc__) && defined(__arch64__)) */
-
-#ifdef __KERNEL__
 #define STACK_BIAS             2047
-#endif
-
-/* These are for pt_regs. */
-#define PT_V9_G0     0x00
-#define PT_V9_G1     0x08
-#define PT_V9_G2     0x10
-#define PT_V9_G3     0x18
-#define PT_V9_G4     0x20
-#define PT_V9_G5     0x28
-#define PT_V9_G6     0x30
-#define PT_V9_G7     0x38
-#define PT_V9_I0     0x40
-#define PT_V9_I1     0x48
-#define PT_V9_I2     0x50
-#define PT_V9_I3     0x58
-#define PT_V9_I4     0x60
-#define PT_V9_I5     0x68
-#define PT_V9_I6     0x70
-#define PT_V9_FP     PT_V9_I6
-#define PT_V9_I7     0x78
-#define PT_V9_TSTATE 0x80
-#define PT_V9_TPC    0x88
-#define PT_V9_TNPC   0x90
-#define PT_V9_Y      0x98
-#define PT_V9_MAGIC  0x9c
-#define PT_TSTATE      PT_V9_TSTATE
-#define PT_TPC         PT_V9_TPC
-#define PT_TNPC                PT_V9_TNPC
-
-/* These for pt_regs32. */
-#define PT_PSR    0x0
-#define PT_PC     0x4
-#define PT_NPC    0x8
-#define PT_Y      0xc
-#define PT_G0     0x10
-#define PT_WIM    PT_G0
-#define PT_G1     0x14
-#define PT_G2     0x18
-#define PT_G3     0x1c
-#define PT_G4     0x20
-#define PT_G5     0x24
-#define PT_G6     0x28
-#define PT_G7     0x2c
-#define PT_I0     0x30
-#define PT_I1     0x34
-#define PT_I2     0x38
-#define PT_I3     0x3c
-#define PT_I4     0x40
-#define PT_I5     0x44
-#define PT_I6     0x48
-#define PT_FP     PT_I6
-#define PT_I7     0x4c
-
-/* Reg_window offsets */
-#define RW_V9_L0     0x00
-#define RW_V9_L1     0x08
-#define RW_V9_L2     0x10
-#define RW_V9_L3     0x18
-#define RW_V9_L4     0x20
-#define RW_V9_L5     0x28
-#define RW_V9_L6     0x30
-#define RW_V9_L7     0x38
-#define RW_V9_I0     0x40
-#define RW_V9_I1     0x48
-#define RW_V9_I2     0x50
-#define RW_V9_I3     0x58
-#define RW_V9_I4     0x60
-#define RW_V9_I5     0x68
-#define RW_V9_I6     0x70
-#define RW_V9_I7     0x78
-
-#define RW_L0     0x00
-#define RW_L1     0x04
-#define RW_L2     0x08
-#define RW_L3     0x0c
-#define RW_L4     0x10
-#define RW_L5     0x14
-#define RW_L6     0x18
-#define RW_L7     0x1c
-#define RW_I0     0x20
-#define RW_I1     0x24
-#define RW_I2     0x28
-#define RW_I3     0x2c
-#define RW_I4     0x30
-#define RW_I5     0x34
-#define RW_I6     0x38
-#define RW_I7     0x3c
-
-/* Stack_frame offsets */
-#define SF_V9_L0     0x00
-#define SF_V9_L1     0x08
-#define SF_V9_L2     0x10
-#define SF_V9_L3     0x18
-#define SF_V9_L4     0x20
-#define SF_V9_L5     0x28
-#define SF_V9_L6     0x30
-#define SF_V9_L7     0x38
-#define SF_V9_I0     0x40
-#define SF_V9_I1     0x48
-#define SF_V9_I2     0x50
-#define SF_V9_I3     0x58
-#define SF_V9_I4     0x60
-#define SF_V9_I5     0x68
-#define SF_V9_FP     0x70
-#define SF_V9_PC     0x78
-#define SF_V9_RETP   0x80
-#define SF_V9_XARG0  0x88
-#define SF_V9_XARG1  0x90
-#define SF_V9_XARG2  0x98
-#define SF_V9_XARG3  0xa0
-#define SF_V9_XARG4  0xa8
-#define SF_V9_XARG5  0xb0
-#define SF_V9_XXARG  0xb8
-
-#define SF_L0     0x00
-#define SF_L1     0x04
-#define SF_L2     0x08
-#define SF_L3     0x0c
-#define SF_L4     0x10
-#define SF_L5     0x14
-#define SF_L6     0x18
-#define SF_L7     0x1c
-#define SF_I0     0x20
-#define SF_I1     0x24
-#define SF_I2     0x28
-#define SF_I3     0x2c
-#define SF_I4     0x30
-#define SF_I5     0x34
-#define SF_FP     0x38
-#define SF_PC     0x3c
-#define SF_RETP   0x40
-#define SF_XARG0  0x44
-#define SF_XARG1  0x48
-#define SF_XARG2  0x4c
-#define SF_XARG3  0x50
-#define SF_XARG4  0x54
-#define SF_XARG5  0x58
-#define SF_XXARG  0x5c
-
-#ifdef __KERNEL__
 
 /* global_reg_snapshot offsets */
 #define GR_SNAP_TSTATE 0x00
@@ -428,29 +108,4 @@ unsigned long profile_pc(struct pt_regs *);
 #define GR_SNAP_THREAD 0x30
 #define GR_SNAP_PAD1   0x38
 
-#endif  /*  __KERNEL__  */
-
-/* Stuff for the ptrace system call */
-#define PTRACE_SPARC_DETACH       11
-#define PTRACE_GETREGS            12
-#define PTRACE_SETREGS            13
-#define PTRACE_GETFPREGS          14
-#define PTRACE_SETFPREGS          15
-#define PTRACE_READDATA           16
-#define PTRACE_WRITEDATA          17
-#define PTRACE_READTEXT           18
-#define PTRACE_WRITETEXT          19
-#define PTRACE_GETFPAREGS         20
-#define PTRACE_SETFPAREGS         21
-
-/* There are for debugging 64-bit processes, either from a 32 or 64 bit
- * parent.  Thus their complements are for debugging 32-bit processes only.
- */
-
-#define PTRACE_GETREGS64         22
-#define PTRACE_SETREGS64         23
-/* PTRACE_SYSCALL is 24 */
-#define PTRACE_GETFPREGS64       25
-#define PTRACE_SETFPREGS64       26
-
 #endif /* !(__SPARC_PTRACE_H) */
diff --git a/arch/sparc/include/asm/resource.h b/arch/sparc/include/asm/resource.h
deleted file mode 100644 (file)
index fe163ca..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * resource.h: Resource definitions.
- *
- * Copyright (C) 1995,1996 David S. Miller (davem@caip.rutgers.edu)
- */
-
-#ifndef _SPARC_RESOURCE_H
-#define _SPARC_RESOURCE_H
-
-/*
- * These two resource limit IDs have a Sparc/Linux-specific ordering,
- * the rest comes from the generic header:
- */
-#define RLIMIT_NOFILE          6       /* max number of open files */
-#define RLIMIT_NPROC           7       /* max number of processes */
-
-#if defined(__sparc__) && defined(__arch64__)
-/* Use generic version */
-#else
-/*
- * SuS says limits have to be unsigned.
- * We make this unsigned, but keep the
- * old value for compatibility:
- */
-#define RLIM_INFINITY          0x7fffffff
-#endif
-
-#include <asm-generic/resource.h>
-
-#endif /* !(_SPARC_RESOURCE_H) */
diff --git a/arch/sparc/include/asm/sembuf.h b/arch/sparc/include/asm/sembuf.h
deleted file mode 100644 (file)
index faee1be..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifndef _SPARC_SEMBUF_H
-#define _SPARC_SEMBUF_H
-
-/*
- * The semid64_ds structure for sparc architecture.
- * Note extra padding because this structure is passed back and forth
- * between kernel and user space.
- *
- * Pad space is left for:
- * - 64-bit time_t to solve y2038 problem
- * - 2 miscellaneous 32-bit values
- */
-#if defined(__sparc__) && defined(__arch64__)
-# define PADDING(x)
-#else
-# define PADDING(x) unsigned int x;
-#endif
-
-struct semid64_ds {
-       struct ipc64_perm sem_perm;             /* permissions .. see ipc.h */
-       PADDING(__pad1)
-       __kernel_time_t sem_otime;              /* last semop time */
-       PADDING(__pad2)
-       __kernel_time_t sem_ctime;              /* last change time */
-       unsigned long   sem_nsems;              /* no. of semaphores in array */
-       unsigned long   __unused1;
-       unsigned long   __unused2;
-};
-#undef PADDING
-
-#endif /* _SPARC64_SEMBUF_H */
index 8a83699a55072848d7f72854c69a5d7144362223..5e35e051731887c3e284b2b7e92c254365ac36be 100644 (file)
@@ -1,17 +1,11 @@
 /*
  *     Just a place holder. 
  */
-
 #ifndef _SPARC_SETUP_H
 #define _SPARC_SETUP_H
 
-#if defined(__sparc__) && defined(__arch64__)
-# define COMMAND_LINE_SIZE 2048
-#else
-# define COMMAND_LINE_SIZE 256
-#endif
+#include <uapi/asm/setup.h>
 
-#ifdef __KERNEL__
 
 extern char reboot_command[];
 
@@ -34,6 +28,4 @@ extern void sun_do_break(void);
 extern int stop_a_enabled;
 extern int scons_pwroff;
 
-#endif /* __KERNEL__ */
-
 #endif /* _SPARC_SETUP_H */
diff --git a/arch/sparc/include/asm/shmbuf.h b/arch/sparc/include/asm/shmbuf.h
deleted file mode 100644 (file)
index 83a1605..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef _SPARC_SHMBUF_H
-#define _SPARC_SHMBUF_H
-
-/* 
- * The shmid64_ds structure for sparc architecture.
- * Note extra padding because this structure is passed back and forth
- * between kernel and user space.
- *
- * Pad space is left for:
- * - 64-bit time_t to solve y2038 problem
- * - 2 miscellaneous 32-bit values
- */
-
-#if defined(__sparc__) && defined(__arch64__)
-# define PADDING(x)
-#else
-# define PADDING(x) unsigned int x;
-#endif
-
-struct shmid64_ds {
-       struct ipc64_perm       shm_perm;       /* operation perms */
-       PADDING(__pad1)
-       __kernel_time_t         shm_atime;      /* last attach time */
-       PADDING(__pad2)
-       __kernel_time_t         shm_dtime;      /* last detach time */
-       PADDING(__pad3)
-       __kernel_time_t         shm_ctime;      /* last change time */
-       size_t                  shm_segsz;      /* size of segment (bytes) */
-       __kernel_pid_t          shm_cpid;       /* pid of creator */
-       __kernel_pid_t          shm_lpid;       /* pid of last operator */
-       unsigned long           shm_nattch;     /* no. of current attaches */
-       unsigned long           __unused1;
-       unsigned long           __unused2;
-};
-
-struct shminfo64 {
-       unsigned long   shmmax;
-       unsigned long   shmmin;
-       unsigned long   shmmni;
-       unsigned long   shmseg;
-       unsigned long   shmall;
-       unsigned long   __unused1;
-       unsigned long   __unused2;
-       unsigned long   __unused3;
-       unsigned long   __unused4;
-};
-
-#undef PADDING
-
-#endif /* _SPARC_SHMBUF_H */
index 69914d748130a9b151d4f4c8f17a496fe2d5d39e..fc2df1e892cbb196d7c62fd3695d65837d3a97cc 100644 (file)
@@ -1,8 +1,8 @@
 #ifndef __SPARC_SIGCONTEXT_H
 #define __SPARC_SIGCONTEXT_H
 
-#ifdef __KERNEL__
 #include <asm/ptrace.h>
+#include <uapi/asm/sigcontext.h>
 
 #ifndef __ASSEMBLY__
 
@@ -105,6 +105,4 @@ typedef struct {
 
 #endif /* !(__ASSEMBLY__) */
 
-#endif /* (__KERNEL__) */
-
 #endif /* !(__SPARC_SIGCONTEXT_H) */
index dbc182c438b494052d2f2aa51a9b001199472f10..48c34c19f81017c1f930c788efbea10246016c6b 100644 (file)
@@ -1,19 +1,8 @@
 #ifndef __SPARC_SIGINFO_H
 #define __SPARC_SIGINFO_H
 
-#if defined(__sparc__) && defined(__arch64__)
+#include <uapi/asm/siginfo.h>
 
-#define __ARCH_SI_PREAMBLE_SIZE        (4 * sizeof(int))
-#define __ARCH_SI_BAND_T int
-
-#endif /* defined(__sparc__) && defined(__arch64__) */
-
-
-#define __ARCH_SI_TRAPNO
-
-#include <asm-generic/siginfo.h>
-
-#ifdef __KERNEL__
 
 #ifdef CONFIG_COMPAT
 
@@ -21,14 +10,4 @@ struct compat_siginfo;
 
 #endif /* CONFIG_COMPAT */
 
-#endif /* __KERNEL__ */
-
-#define SI_NOINFO      32767           /* no information in siginfo_t */
-
-/*
- * SIGEMT si_codes
- */
-#define EMT_TAGOVF     (__SI_FAULT|1)  /* tag overflow */
-#define NSIGEMT                1
-
 #endif /* !(__SPARC_SIGINFO_H) */
index aa42fe30d5b96f0c3f1029274932d7bbbbd3da4d..d243c2ae02d297d40303b237f9c9e1d53842adfd 100644 (file)
 #ifndef __SPARC_SIGNAL_H
 #define __SPARC_SIGNAL_H
 
-#include <asm/sigcontext.h>
-#include <linux/compiler.h>
-
-#ifdef __KERNEL__
 #ifndef __ASSEMBLY__
 #include <linux/personality.h>
 #include <linux/types.h>
 #endif
-#endif
-
-/* On the Sparc the signal handlers get passed a 'sub-signal' code
- * for certain signal types, which we document here.
- */
-#define SIGHUP          1
-#define SIGINT          2
-#define SIGQUIT                 3
-#define SIGILL          4
-#define    SUBSIG_STACK       0
-#define    SUBSIG_ILLINST     2
-#define    SUBSIG_PRIVINST    3
-#define    SUBSIG_BADTRAP(t)  (0x80 + (t))
-
-#define SIGTRAP                 5
-#define SIGABRT                 6
-#define SIGIOT          6
-
-#define SIGEMT           7
-#define    SUBSIG_TAG    10
-
-#define SIGFPE          8
-#define    SUBSIG_FPDISABLED     0x400
-#define    SUBSIG_FPERROR        0x404
-#define    SUBSIG_FPINTOVFL      0x001
-#define    SUBSIG_FPSTSIG        0x002
-#define    SUBSIG_IDIVZERO       0x014
-#define    SUBSIG_FPINEXACT      0x0c4
-#define    SUBSIG_FPDIVZERO      0x0c8
-#define    SUBSIG_FPUNFLOW       0x0cc
-#define    SUBSIG_FPOPERROR      0x0d0
-#define    SUBSIG_FPOVFLOW       0x0d4
-
-#define SIGKILL                 9
-#define SIGBUS          10
-#define    SUBSIG_BUSTIMEOUT    1
-#define    SUBSIG_ALIGNMENT     2
-#define    SUBSIG_MISCERROR     5
-
-#define SIGSEGV                11
-#define    SUBSIG_NOMAPPING     3
-#define    SUBSIG_PROTECTION    4
-#define    SUBSIG_SEGERROR      5
-
-#define SIGSYS         12
-
-#define SIGPIPE                13
-#define SIGALRM                14
-#define SIGTERM                15
-#define SIGURG          16
-
-/* SunOS values which deviate from the Linux/i386 ones */
-#define SIGSTOP                17
-#define SIGTSTP                18
-#define SIGCONT                19
-#define SIGCHLD                20
-#define SIGTTIN                21
-#define SIGTTOU                22
-#define SIGIO          23
-#define SIGPOLL                SIGIO   /* SysV name for SIGIO */
-#define SIGXCPU                24
-#define SIGXFSZ                25
-#define SIGVTALRM      26
-#define SIGPROF                27
-#define SIGWINCH       28
-#define SIGLOST                29
-#define SIGPWR         SIGLOST
-#define SIGUSR1                30
-#define SIGUSR2                31
-
-/* Most things should be clean enough to redefine this at will, if care
-   is taken to make libc match.  */
-
-#define __OLD_NSIG     32
-#define __NEW_NSIG      64
-#ifdef __arch64__
-#define _NSIG_BPW       64
-#else
-#define _NSIG_BPW       32
-#endif
-#define _NSIG_WORDS     (__NEW_NSIG / _NSIG_BPW)
-
-#define SIGRTMIN       32
-#define SIGRTMAX       __NEW_NSIG
-
-#if defined(__KERNEL__) || defined(__WANT_POSIX1B_SIGNALS__)
-#define _NSIG                  __NEW_NSIG
-#define __new_sigset_t         sigset_t
-#define __new_sigaction                sigaction
-#define __new_sigaction32      sigaction32
-#define __old_sigset_t         old_sigset_t
-#define __old_sigaction                old_sigaction
-#define __old_sigaction32      old_sigaction32
-#else
-#define _NSIG                  __OLD_NSIG
-#define NSIG                   _NSIG
-#define __old_sigset_t         sigset_t
-#define __old_sigaction                sigaction
-#define __old_sigaction32      sigaction32
-#endif
+#include <uapi/asm/signal.h>
 
 #ifndef __ASSEMBLY__
-
-typedef unsigned long __old_sigset_t;            /* at least 32 bits */
-
-typedef struct {
-       unsigned long sig[_NSIG_WORDS];
-} __new_sigset_t;
-
-/* A SunOS sigstack */
-struct sigstack {
-       /* XXX 32-bit pointers pinhead XXX */
-       char *the_stack;
-       int   cur_status;
-};
-
-/* Sigvec flags */
-#define _SV_SSTACK    1u    /* This signal handler should use sig-stack */
-#define _SV_INTR      2u    /* Sig return should not restart system call */
-#define _SV_RESET     4u    /* Set handler to SIG_DFL upon taken signal */
-#define _SV_IGNCHILD  8u    /* Do not send SIGCHLD */
-
-/*
- * sa_flags values: SA_STACK is not currently supported, but will allow the
- * usage of signal stacks by using the (now obsolete) sa_restorer field in
- * the sigaction structure as a stack pointer. This is now possible due to
- * the changes in signal handling. LBT 010493.
- * SA_RESTART flag to get restarting signals (which were the default long ago)
- */
-#define SA_NOCLDSTOP   _SV_IGNCHILD
-#define SA_STACK       _SV_SSTACK
-#define SA_ONSTACK     _SV_SSTACK
-#define SA_RESTART     _SV_INTR
-#define SA_ONESHOT     _SV_RESET
-#define SA_NODEFER     0x20u
-#define SA_NOCLDWAIT    0x100u
-#define SA_SIGINFO      0x200u
-
-#define SA_NOMASK      SA_NODEFER
-
-#define SIG_BLOCK          0x01        /* for blocking signals */
-#define SIG_UNBLOCK        0x02        /* for unblocking signals */
-#define SIG_SETMASK        0x04        /* for setting the signal mask */
-
-/*
- * sigaltstack controls
- */
-#define SS_ONSTACK     1
-#define SS_DISABLE     2
-
-#define MINSIGSTKSZ    4096
-#define SIGSTKSZ       16384
-
-#ifdef __KERNEL__
 /*
  * DJHR
  * SA_STATIC_ALLOC is used for the sparc32 system to indicate that this
@@ -175,31 +20,6 @@ struct sigstack {
  *
  */
 #define SA_STATIC_ALLOC         0x8000
-#endif
-
-#include <asm-generic/signal-defs.h>
-
-struct __new_sigaction {
-       __sighandler_t          sa_handler;
-       unsigned long           sa_flags;
-       __sigrestore_t          sa_restorer;  /* not used by Linux/SPARC yet */
-       __new_sigset_t          sa_mask;
-};
-
-struct __old_sigaction {
-       __sighandler_t          sa_handler;
-       __old_sigset_t          sa_mask;
-       unsigned long           sa_flags;
-       void                    (*sa_restorer)(void);  /* not used by Linux/SPARC yet */
-};
-
-typedef struct sigaltstack {
-       void                    __user *ss_sp;
-       int                     ss_flags;
-       size_t                  ss_size;
-} stack_t;
-
-#ifdef __KERNEL__
 
 struct k_sigaction {
        struct                  __new_sigaction sa;
@@ -208,8 +28,5 @@ struct k_sigaction {
 
 #define ptrace_signal_deliver(regs, cookie) do { } while (0)
 
-#endif /* !(__KERNEL__) */
-
 #endif /* !(__ASSEMBLY__) */
-
 #endif /* !(__SPARC_SIGNAL_H) */
diff --git a/arch/sparc/include/asm/socket.h b/arch/sparc/include/asm/socket.h
deleted file mode 100644 (file)
index bea1568..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef _ASM_SOCKET_H
-#define _ASM_SOCKET_H
-
-#include <asm/sockios.h>
-
-/* For setsockopt(2) */
-#define SOL_SOCKET     0xffff
-
-#define SO_DEBUG       0x0001
-#define SO_PASSCRED    0x0002
-#define SO_REUSEADDR   0x0004
-#define SO_KEEPALIVE   0x0008
-#define SO_DONTROUTE   0x0010
-#define SO_BROADCAST   0x0020
-#define SO_PEERCRED    0x0040
-#define SO_LINGER      0x0080
-#define SO_OOBINLINE   0x0100
-/* To add :#define SO_REUSEPORT 0x0200 */
-#define SO_BSDCOMPAT    0x0400
-#define SO_RCVLOWAT     0x0800
-#define SO_SNDLOWAT     0x1000
-#define SO_RCVTIMEO     0x2000
-#define SO_SNDTIMEO     0x4000
-#define SO_ACCEPTCONN  0x8000
-
-#define SO_SNDBUF      0x1001
-#define SO_RCVBUF      0x1002
-#define SO_SNDBUFFORCE 0x100a
-#define SO_RCVBUFFORCE 0x100b
-#define SO_ERROR       0x1007
-#define SO_TYPE                0x1008
-#define SO_PROTOCOL    0x1028
-#define SO_DOMAIN      0x1029
-
-
-/* Linux specific, keep the same. */
-#define SO_NO_CHECK    0x000b
-#define SO_PRIORITY    0x000c
-
-#define SO_BINDTODEVICE 0x000d
-
-#define SO_ATTACH_FILTER       0x001a
-#define SO_DETACH_FILTER        0x001b
-
-#define SO_PEERNAME            0x001c
-#define SO_TIMESTAMP           0x001d
-#define SCM_TIMESTAMP          SO_TIMESTAMP
-
-#define SO_PEERSEC             0x001e
-#define SO_PASSSEC             0x001f
-#define SO_TIMESTAMPNS         0x0021
-#define SCM_TIMESTAMPNS                SO_TIMESTAMPNS
-
-#define SO_MARK                        0x0022
-
-#define SO_TIMESTAMPING                0x0023
-#define SCM_TIMESTAMPING       SO_TIMESTAMPING
-
-#define SO_RXQ_OVFL             0x0024
-
-#define SO_WIFI_STATUS         0x0025
-#define SCM_WIFI_STATUS                SO_WIFI_STATUS
-#define SO_PEEK_OFF            0x0026
-
-/* Instruct lower device to use last 4-bytes of skb data as FCS */
-#define SO_NOFCS               0x0027
-
-
-/* Security levels - as per NRL IPv6 - don't actually do anything */
-#define SO_SECURITY_AUTHENTICATION             0x5001
-#define SO_SECURITY_ENCRYPTION_TRANSPORT       0x5002
-#define SO_SECURITY_ENCRYPTION_NETWORK         0x5004
-
-#endif /* _ASM_SOCKET_H */
diff --git a/arch/sparc/include/asm/sockios.h b/arch/sparc/include/asm/sockios.h
deleted file mode 100644 (file)
index 990ea74..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef _ASM_SPARC_SOCKIOS_H
-#define _ASM_SPARC_SOCKIOS_H
-
-/* Socket-level I/O control calls. */
-#define FIOSETOWN      0x8901
-#define SIOCSPGRP      0x8902
-#define FIOGETOWN      0x8903
-#define SIOCGPGRP      0x8904
-#define SIOCATMARK     0x8905
-#define SIOCGSTAMP     0x8906          /* Get stamp (timeval) */
-#define SIOCGSTAMPNS   0x8907          /* Get stamp (timespec) */
-
-#endif /* !(_ASM_SPARC_SOCKIOS_H) */
-
diff --git a/arch/sparc/include/asm/stat.h b/arch/sparc/include/asm/stat.h
deleted file mode 100644 (file)
index a232e9e..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-#ifndef __SPARC_STAT_H
-#define __SPARC_STAT_H
-
-#include <linux/types.h>
-
-#if defined(__sparc__) && defined(__arch64__)
-/* 64 bit sparc */
-struct stat {
-       unsigned   st_dev;
-       ino_t   st_ino;
-       mode_t  st_mode;
-       short   st_nlink;
-       uid_t   st_uid;
-       gid_t   st_gid;
-       unsigned   st_rdev;
-       off_t   st_size;
-       time_t  st_atime;
-       time_t  st_mtime;
-       time_t  st_ctime;
-       off_t   st_blksize;
-       off_t   st_blocks;
-       unsigned long  __unused4[2];
-};
-
-struct stat64 {
-       unsigned long   st_dev;
-       unsigned long   st_ino;
-       unsigned long   st_nlink;
-
-       unsigned int    st_mode;
-       unsigned int    st_uid;
-       unsigned int    st_gid;
-       unsigned int    __pad0;
-
-       unsigned long   st_rdev;
-       long            st_size;
-       long            st_blksize;
-       long            st_blocks;
-
-       unsigned long   st_atime;
-       unsigned long   st_atime_nsec;
-       unsigned long   st_mtime;
-       unsigned long   st_mtime_nsec;
-       unsigned long   st_ctime;
-       unsigned long   st_ctime_nsec;
-       long            __unused[3];
-};
-
-#else
-/* 32 bit sparc */
-struct stat {
-       unsigned short  st_dev;
-       ino_t           st_ino;
-       mode_t          st_mode;
-       short           st_nlink;
-       unsigned short  st_uid;
-       unsigned short  st_gid;
-       unsigned short  st_rdev;
-       off_t           st_size;
-       time_t          st_atime;
-       unsigned long   st_atime_nsec;
-       time_t          st_mtime;
-       unsigned long   st_mtime_nsec;
-       time_t          st_ctime;
-       unsigned long   st_ctime_nsec;
-       off_t           st_blksize;
-       off_t           st_blocks;
-       unsigned long   __unused4[2];
-};
-
-#define STAT_HAVE_NSEC 1
-
-struct stat64 {
-       unsigned long long st_dev;
-
-       unsigned long long st_ino;
-
-       unsigned int    st_mode;
-       unsigned int    st_nlink;
-
-       unsigned int    st_uid;
-       unsigned int    st_gid;
-
-       unsigned long long st_rdev;
-
-       unsigned char   __pad3[8];
-
-       long long       st_size;
-       unsigned int    st_blksize;
-
-       unsigned char   __pad4[8];
-       unsigned int    st_blocks;
-
-       unsigned int    st_atime;
-       unsigned int    st_atime_nsec;
-
-       unsigned int    st_mtime;
-       unsigned int    st_mtime_nsec;
-
-       unsigned int    st_ctime;
-       unsigned int    st_ctime_nsec;
-
-       unsigned int    __unused4;
-       unsigned int    __unused5;
-};
-#endif /* defined(__sparc__) && defined(__arch64__) */
-#endif /* __SPARC_STAT_H */
diff --git a/arch/sparc/include/asm/statfs.h b/arch/sparc/include/asm/statfs.h
deleted file mode 100644 (file)
index 55e607a..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef ___ASM_SPARC_STATFS_H
-#define ___ASM_SPARC_STATFS_H
-
-#include <asm-generic/statfs.h>
-
-#endif
diff --git a/arch/sparc/include/asm/swab.h b/arch/sparc/include/asm/swab.h
deleted file mode 100644 (file)
index a34ad07..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef _SPARC_SWAB_H
-#define _SPARC_SWAB_H
-
-#include <linux/types.h>
-#include <asm/asi.h>
-
-#if defined(__sparc__) && defined(__arch64__)
-static inline __u16 __arch_swab16p(const __u16 *addr)
-{
-       __u16 ret;
-
-       __asm__ __volatile__ ("lduha [%1] %2, %0"
-                             : "=r" (ret)
-                             : "r" (addr), "i" (ASI_PL));
-       return ret;
-}
-#define __arch_swab16p __arch_swab16p
-
-static inline __u32 __arch_swab32p(const __u32 *addr)
-{
-       __u32 ret;
-
-       __asm__ __volatile__ ("lduwa [%1] %2, %0"
-                             : "=r" (ret)
-                             : "r" (addr), "i" (ASI_PL));
-       return ret;
-}
-#define __arch_swab32p __arch_swab32p
-
-static inline __u64 __arch_swab64p(const __u64 *addr)
-{
-       __u64 ret;
-
-       __asm__ __volatile__ ("ldxa [%1] %2, %0"
-                             : "=r" (ret)
-                             : "r" (addr), "i" (ASI_PL));
-       return ret;
-}
-#define __arch_swab64p __arch_swab64p
-
-#else
-#define __SWAB_64_THRU_32__
-#endif /* defined(__sparc__) && defined(__arch64__) */
-
-#endif /* _SPARC_SWAB_H */
index 23b10ff08df2c0196b4fe1d9717faff30ddbb0d5..948067065ac5f96c19b1e9977ece8b3bac8851eb 100644 (file)
@@ -1,266 +1,8 @@
 #ifndef _SPARC_TERMBITS_H
 #define _SPARC_TERMBITS_H
 
-#include <linux/posix_types.h>
+#include <uapi/asm/termbits.h>
 
-typedef unsigned char   cc_t;
-typedef unsigned int    speed_t;
-
-#if defined(__sparc__) && defined(__arch64__)
-typedef unsigned int    tcflag_t;
-#else
-typedef unsigned long   tcflag_t;
-#endif
-
-#define NCC 8
-struct termio {
-       unsigned short c_iflag;         /* input mode flags */
-       unsigned short c_oflag;         /* output mode flags */
-       unsigned short c_cflag;         /* control mode flags */
-       unsigned short c_lflag;         /* local mode flags */
-       unsigned char c_line;           /* line discipline */
-       unsigned char c_cc[NCC];        /* control characters */
-};
-
-#define NCCS 17
-struct termios {
-       tcflag_t c_iflag;               /* input mode flags */
-       tcflag_t c_oflag;               /* output mode flags */
-       tcflag_t c_cflag;               /* control mode flags */
-       tcflag_t c_lflag;               /* local mode flags */
-       cc_t c_line;                    /* line discipline */
-#ifndef __KERNEL__
-       cc_t c_cc[NCCS];                /* control characters */
-#else
-       cc_t c_cc[NCCS+2];      /* kernel needs 2 more to hold vmin/vtime */
-#define SIZEOF_USER_TERMIOS sizeof (struct termios) - (2*sizeof (cc_t))
-#endif
-};
-
-struct termios2 {
-       tcflag_t c_iflag;               /* input mode flags */
-       tcflag_t c_oflag;               /* output mode flags */
-       tcflag_t c_cflag;               /* control mode flags */
-       tcflag_t c_lflag;               /* local mode flags */
-       cc_t c_line;                    /* line discipline */
-       cc_t c_cc[NCCS+2];              /* control characters */
-       speed_t c_ispeed;               /* input speed */
-       speed_t c_ospeed;               /* output speed */
-};
-
-struct ktermios {
-       tcflag_t c_iflag;               /* input mode flags */
-       tcflag_t c_oflag;               /* output mode flags */
-       tcflag_t c_cflag;               /* control mode flags */
-       tcflag_t c_lflag;               /* local mode flags */
-       cc_t c_line;                    /* line discipline */
-       cc_t c_cc[NCCS+2];              /* control characters */
-       speed_t c_ispeed;               /* input speed */
-       speed_t c_ospeed;               /* output speed */
-};
-
-/* c_cc characters */
-#define VINTR    0
-#define VQUIT    1
-#define VERASE   2
-#define VKILL    3
-#define VEOF     4
-#define VEOL     5
-#define VEOL2    6
-#define VSWTC    7
-#define VSTART   8
-#define VSTOP    9
-
-
-
-#define VSUSP    10
-#define VDSUSP   11  /* SunOS POSIX nicety I do believe... */
-#define VREPRINT 12
-#define VDISCARD 13
-#define VWERASE  14
-#define VLNEXT   15
-
-/* Kernel keeps vmin/vtime separated, user apps assume vmin/vtime is
- * shared with eof/eol
- */
-#ifdef __KERNEL__
 #define VMIN     16
 #define VTIME    17
-#else
-#define VMIN     VEOF
-#define VTIME    VEOL
-#endif
-
-/* c_iflag bits */
-#define IGNBRK 0x00000001
-#define BRKINT 0x00000002
-#define IGNPAR 0x00000004
-#define PARMRK 0x00000008
-#define INPCK  0x00000010
-#define ISTRIP 0x00000020
-#define INLCR  0x00000040
-#define IGNCR  0x00000080
-#define ICRNL  0x00000100
-#define IUCLC  0x00000200
-#define IXON   0x00000400
-#define IXANY  0x00000800
-#define IXOFF  0x00001000
-#define IMAXBEL        0x00002000
-#define IUTF8   0x00004000
-
-/* c_oflag bits */
-#define OPOST  0x00000001
-#define OLCUC  0x00000002
-#define ONLCR  0x00000004
-#define OCRNL  0x00000008
-#define ONOCR  0x00000010
-#define ONLRET 0x00000020
-#define OFILL  0x00000040
-#define OFDEL  0x00000080
-#define NLDLY  0x00000100
-#define   NL0  0x00000000
-#define   NL1  0x00000100
-#define CRDLY  0x00000600
-#define   CR0  0x00000000
-#define   CR1  0x00000200
-#define   CR2  0x00000400
-#define   CR3  0x00000600
-#define TABDLY 0x00001800
-#define   TAB0 0x00000000
-#define   TAB1 0x00000800
-#define   TAB2 0x00001000
-#define   TAB3 0x00001800
-#define   XTABS        0x00001800
-#define BSDLY  0x00002000
-#define   BS0  0x00000000
-#define   BS1  0x00002000
-#define VTDLY  0x00004000
-#define   VT0  0x00000000
-#define   VT1  0x00004000
-#define FFDLY  0x00008000
-#define   FF0  0x00000000
-#define   FF1  0x00008000
-#define PAGEOUT 0x00010000  /* SUNOS specific */
-#define WRAP    0x00020000  /* SUNOS specific */
-
-/* c_cflag bit meaning */
-#define CBAUD    0x0000100f
-#define  B0      0x00000000   /* hang up */
-#define  B50     0x00000001
-#define  B75     0x00000002
-#define  B110    0x00000003
-#define  B134    0x00000004
-#define  B150    0x00000005
-#define  B200    0x00000006
-#define  B300    0x00000007
-#define  B600    0x00000008
-#define  B1200   0x00000009
-#define  B1800   0x0000000a
-#define  B2400   0x0000000b
-#define  B4800   0x0000000c
-#define  B9600   0x0000000d
-#define  B19200          0x0000000e
-#define  B38400          0x0000000f
-#define EXTA      B19200
-#define EXTB      B38400
-#define  CSIZE    0x00000030
-#define   CS5    0x00000000
-#define   CS6    0x00000010
-#define   CS7    0x00000020
-#define   CS8    0x00000030
-#define CSTOPB   0x00000040
-#define CREAD    0x00000080
-#define PARENB   0x00000100
-#define PARODD   0x00000200
-#define HUPCL    0x00000400
-#define CLOCAL   0x00000800
-#define CBAUDEX   0x00001000
-/* We'll never see these speeds with the Zilogs, but for completeness... */
-#define  BOTHER   0x00001000
-#define  B57600   0x00001001
-#define  B115200  0x00001002
-#define  B230400  0x00001003
-#define  B460800  0x00001004
-/* This is what we can do with the Zilogs. */
-#define  B76800   0x00001005
-/* This is what we can do with the SAB82532. */
-#define  B153600  0x00001006
-#define  B307200  0x00001007
-#define  B614400  0x00001008
-#define  B921600  0x00001009
-/* And these are the rest... */
-#define  B500000  0x0000100a
-#define  B576000  0x0000100b
-#define B1000000  0x0000100c
-#define B1152000  0x0000100d
-#define B1500000  0x0000100e
-#define B2000000  0x0000100f
-/* These have totally bogus values and nobody uses them
-   so far. Later on we'd have to use say 0x10000x and
-   adjust CBAUD constant and drivers accordingly.
-#define B2500000  0x00001010
-#define B3000000  0x00001011
-#define B3500000  0x00001012
-#define B4000000  0x00001013  */
-#define CIBAUD   0x100f0000  /* input baud rate (not used) */
-#define CMSPAR   0x40000000  /* mark or space (stick) parity */
-#define CRTSCTS          0x80000000  /* flow control */
-
-#define IBSHIFT          16            /* Shift from CBAUD to CIBAUD */
-
-/* c_lflag bits */
-#define ISIG   0x00000001
-#define ICANON 0x00000002
-#define XCASE  0x00000004
-#define ECHO   0x00000008
-#define ECHOE  0x00000010
-#define ECHOK  0x00000020
-#define ECHONL 0x00000040
-#define NOFLSH 0x00000080
-#define TOSTOP 0x00000100
-#define ECHOCTL        0x00000200
-#define ECHOPRT        0x00000400
-#define ECHOKE 0x00000800
-#define DEFECHO 0x00001000  /* SUNOS thing, what is it? */
-#define FLUSHO 0x00002000
-#define PENDIN 0x00004000
-#define IEXTEN 0x00008000
-#define EXTPROC        0x00010000
-
-/* modem lines */
-#define TIOCM_LE       0x001
-#define TIOCM_DTR      0x002
-#define TIOCM_RTS      0x004
-#define TIOCM_ST       0x008
-#define TIOCM_SR       0x010
-#define TIOCM_CTS      0x020
-#define TIOCM_CAR      0x040
-#define TIOCM_RNG      0x080
-#define TIOCM_DSR      0x100
-#define TIOCM_CD       TIOCM_CAR
-#define TIOCM_RI       TIOCM_RNG
-#define TIOCM_OUT1     0x2000
-#define TIOCM_OUT2     0x4000
-#define TIOCM_LOOP     0x8000
-
-/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
-#define TIOCSER_TEMT    0x01   /* Transmitter physically empty */
-
-
-/* tcflow() and TCXONC use these */
-#define        TCOOFF          0
-#define        TCOON           1
-#define        TCIOFF          2
-#define        TCION           3
-
-/* tcflush() and TCFLSH use these */
-#define        TCIFLUSH        0
-#define        TCOFLUSH        1
-#define        TCIOFLUSH       2
-
-/* tcsetattr uses these */
-#define        TCSANOW         0
-#define        TCSADRAIN       1
-#define        TCSAFLUSH       2
-
 #endif /* !(_SPARC_TERMBITS_H) */
index e2f46705a21032dc36ae35b59c0c5f5893e1d958..0c2414ddd52c336e244789283b72067cc06ed365 100644 (file)
@@ -1,45 +1,8 @@
 #ifndef _SPARC_TERMIOS_H
 #define _SPARC_TERMIOS_H
 
-#include <asm/ioctls.h>
-#include <asm/termbits.h>
+#include <uapi/asm/termios.h>
 
-#if defined(__KERNEL__) || defined(__DEFINE_BSD_TERMIOS)
-struct sgttyb {
-       char    sg_ispeed;
-       char    sg_ospeed;
-       char    sg_erase;
-       char    sg_kill;
-       short   sg_flags;
-};
-
-struct tchars {
-       char    t_intrc;
-       char    t_quitc;
-       char    t_startc;
-       char    t_stopc;
-       char    t_eofc;
-       char    t_brkc;
-};
-
-struct ltchars {
-       char    t_suspc;
-       char    t_dsuspc;
-       char    t_rprntc;
-       char    t_flushc;
-       char    t_werasc;
-       char    t_lnextc;
-};
-#endif /* __KERNEL__ */
-
-struct winsize {
-       unsigned short ws_row;
-       unsigned short ws_col;
-       unsigned short ws_xpixel;
-       unsigned short ws_ypixel;
-};
-
-#ifdef __KERNEL__
 
 /*
  * c_cc characters in the termio structure.  Oh, how I love being
@@ -180,6 +143,4 @@ struct winsize {
        err; \
 })
 
-#endif /* __KERNEL__ */
-
 #endif /* _SPARC_TERMIOS_H */
index 3aa62dde343fcd7129de54ae95248ad253bf8a4e..51abcb1f9b3bb7fd6948d2ee8fd6cbc82a7c0cbb 100644 (file)
@@ -3,14 +3,12 @@
  *
  * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
  */
-
 #ifndef _SPARC_TRAPS_H
 #define _SPARC_TRAPS_H
 
-#define NUM_SPARC_TRAPS  255
+#include <uapi/asm/traps.h>
 
 #ifndef __ASSEMBLY__
-#ifdef __KERNEL__
 /* This is for V8 compliant Sparc CPUS */
 struct tt_entry {
        unsigned long inst_one;
@@ -22,112 +20,5 @@ struct tt_entry {
 /* We set this to _start in system setup. */
 extern struct tt_entry *sparc_ttable;
 
-#endif /* (__KERNEL__) */
 #endif /* !(__ASSEMBLY__) */
-
-/* For patching the trap table at boot time, we need to know how to
- * form various common Sparc instructions.  Thus these macros...
- */
-
-#define SPARC_MOV_CONST_L3(const) (0xa6102000 | (const&0xfff))
-
-/* The following assumes that the branch lies before the place we
- * are branching to.  This is the case for a trap vector...
- * You have been warned.
- */
-#define SPARC_BRANCH(dest_addr, inst_addr) \
-          (0x10800000 | (((dest_addr-inst_addr)>>2)&0x3fffff))
-
-#define SPARC_RD_PSR_L0  (0xa1480000)
-#define SPARC_RD_WIM_L3  (0xa7500000)
-#define SPARC_NOP (0x01000000)
-
-/* Various interesting trap levels. */
-/* First, hardware traps. */
-#define SP_TRAP_TFLT    0x1          /* Text fault */
-#define SP_TRAP_II      0x2          /* Illegal Instruction */
-#define SP_TRAP_PI      0x3          /* Privileged Instruction */
-#define SP_TRAP_FPD     0x4          /* Floating Point Disabled */
-#define SP_TRAP_WOVF    0x5          /* Window Overflow */
-#define SP_TRAP_WUNF    0x6          /* Window Underflow */
-#define SP_TRAP_MNA     0x7          /* Memory Address Unaligned */
-#define SP_TRAP_FPE     0x8          /* Floating Point Exception */
-#define SP_TRAP_DFLT    0x9          /* Data Fault */
-#define SP_TRAP_TOF     0xa          /* Tag Overflow */
-#define SP_TRAP_WDOG    0xb          /* Watchpoint Detected */
-#define SP_TRAP_IRQ1    0x11         /* IRQ level 1 */
-#define SP_TRAP_IRQ2    0x12         /* IRQ level 2 */
-#define SP_TRAP_IRQ3    0x13         /* IRQ level 3 */
-#define SP_TRAP_IRQ4    0x14         /* IRQ level 4 */
-#define SP_TRAP_IRQ5    0x15         /* IRQ level 5 */
-#define SP_TRAP_IRQ6    0x16         /* IRQ level 6 */
-#define SP_TRAP_IRQ7    0x17         /* IRQ level 7 */
-#define SP_TRAP_IRQ8    0x18         /* IRQ level 8 */
-#define SP_TRAP_IRQ9    0x19         /* IRQ level 9 */
-#define SP_TRAP_IRQ10   0x1a         /* IRQ level 10 */
-#define SP_TRAP_IRQ11   0x1b         /* IRQ level 11 */
-#define SP_TRAP_IRQ12   0x1c         /* IRQ level 12 */
-#define SP_TRAP_IRQ13   0x1d         /* IRQ level 13 */
-#define SP_TRAP_IRQ14   0x1e         /* IRQ level 14 */
-#define SP_TRAP_IRQ15   0x1f         /* IRQ level 15 Non-maskable */
-#define SP_TRAP_RACC    0x20         /* Register Access Error ??? */
-#define SP_TRAP_IACC    0x21         /* Instruction Access Error */
-#define SP_TRAP_CPDIS   0x24         /* Co-Processor Disabled */
-#define SP_TRAP_BADFL   0x25         /* Unimplemented Flush Instruction */
-#define SP_TRAP_CPEXP   0x28         /* Co-Processor Exception */
-#define SP_TRAP_DACC    0x29         /* Data Access Error */
-#define SP_TRAP_DIVZ    0x2a         /* Divide By Zero */
-#define SP_TRAP_DSTORE  0x2b         /* Data Store Error ??? */
-#define SP_TRAP_DMM     0x2c         /* Data Access MMU Miss ??? */
-#define SP_TRAP_IMM     0x3c         /* Instruction Access MMU Miss ??? */
-
-/* Now the Software Traps... */
-#define SP_TRAP_SUNOS   0x80         /* SunOS System Call */
-#define SP_TRAP_SBPT    0x81         /* Software Breakpoint */
-#define SP_TRAP_SDIVZ   0x82         /* Software Divide-by-Zero trap */
-#define SP_TRAP_FWIN    0x83         /* Flush Windows */
-#define SP_TRAP_CWIN    0x84         /* Clean Windows */
-#define SP_TRAP_RCHK    0x85         /* Range Check */
-#define SP_TRAP_FUNA    0x86         /* Fix Unaligned Access */
-#define SP_TRAP_IOWFL   0x87         /* Integer Overflow */
-#define SP_TRAP_SOLARIS 0x88         /* Solaris System Call */
-#define SP_TRAP_NETBSD  0x89         /* NetBSD System Call */
-#define SP_TRAP_LINUX   0x90         /* Linux System Call */
-
-/* Names used for compatibility with SunOS */
-#define ST_SYSCALL              0x00
-#define ST_BREAKPOINT           0x01
-#define ST_DIV0                 0x02
-#define ST_FLUSH_WINDOWS        0x03
-#define ST_CLEAN_WINDOWS        0x04
-#define ST_RANGE_CHECK          0x05
-#define ST_FIX_ALIGN            0x06
-#define ST_INT_OVERFLOW         0x07
-
-/* Special traps... */
-#define SP_TRAP_KBPT1   0xfe         /* KADB/PROM Breakpoint one */
-#define SP_TRAP_KBPT2   0xff         /* KADB/PROM Breakpoint two */
-
-/* Handy Macros */
-/* Is this a trap we never expect to get? */
-#define BAD_TRAP_P(level) \
-        ((level > SP_TRAP_WDOG && level < SP_TRAP_IRQ1) || \
-        (level > SP_TRAP_IACC && level < SP_TRAP_CPDIS) || \
-        (level > SP_TRAP_BADFL && level < SP_TRAP_CPEXP) || \
-        (level > SP_TRAP_DMM && level < SP_TRAP_IMM) || \
-        (level > SP_TRAP_IMM && level < SP_TRAP_SUNOS) || \
-        (level > SP_TRAP_LINUX && level < SP_TRAP_KBPT1))
-
-/* Is this a Hardware trap? */
-#define HW_TRAP_P(level) ((level > 0) && (level < SP_TRAP_SUNOS))
-
-/* Is this a Software trap? */
-#define SW_TRAP_P(level) ((level >= SP_TRAP_SUNOS) && (level <= SP_TRAP_KBPT2))
-
-/* Is this a system call for some OS we know about? */
-#define SCALL_TRAP_P(level) ((level == SP_TRAP_SUNOS) || \
-                            (level == SP_TRAP_SOLARIS) || \
-                            (level == SP_TRAP_NETBSD) || \
-                            (level == SP_TRAP_LINUX))
-
 #endif /* !(_SPARC_TRAPS_H) */
diff --git a/arch/sparc/include/asm/types.h b/arch/sparc/include/asm/types.h
deleted file mode 100644 (file)
index 383d156..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef _SPARC_TYPES_H
-#define _SPARC_TYPES_H
-/*
- * This file is never included by application software unless
- * explicitly requested (e.g., via linux/types.h) in which case the
- * application is Linux specific so (user-) name space pollution is
- * not a major issue.  However, for interoperability, libraries still
- * need to be careful to avoid a name clashes.
- */
-
-#if defined(__sparc__)
-
-#include <asm-generic/int-ll64.h>
-
-#endif /* defined(__sparc__) */
-
-#endif /* defined(_SPARC_TYPES_H) */
diff --git a/arch/sparc/include/asm/uctx.h b/arch/sparc/include/asm/uctx.h
deleted file mode 100644 (file)
index dc937c7..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * uctx.h: Sparc64 {set,get}context() register state layouts.
- *
- * Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
- */
-
-#ifndef __SPARC64_UCTX_H
-#define __SPARC64_UCTX_H
-
-#define MC_TSTATE      0
-#define MC_PC          1
-#define MC_NPC         2
-#define MC_Y           3
-#define MC_G1          4
-#define MC_G2          5
-#define MC_G3          6
-#define MC_G4          7
-#define MC_G5          8
-#define MC_G6          9
-#define MC_G7          10
-#define MC_O0          11
-#define MC_O1          12
-#define MC_O2          13
-#define MC_O3          14
-#define MC_O4          15
-#define MC_O5          16
-#define MC_O6          17
-#define MC_O7          18
-#define MC_NGREG       19
-
-typedef unsigned long mc_greg_t;
-typedef mc_greg_t mc_gregset_t[MC_NGREG];
-
-#define MC_MAXFPQ      16
-struct mc_fq {
-       unsigned long   *mcfq_addr;
-       unsigned int    mcfq_insn;
-};
-
-struct mc_fpu {
-       union {
-               unsigned int    sregs[32];
-               unsigned long   dregs[32];
-               long double     qregs[16];
-       } mcfpu_fregs;
-       unsigned long   mcfpu_fsr;
-       unsigned long   mcfpu_fprs;
-       unsigned long   mcfpu_gsr;
-       struct mc_fq    *mcfpu_fq;
-       unsigned char   mcfpu_qcnt;
-       unsigned char   mcfpu_qentsz;
-       unsigned char   mcfpu_enab;
-};
-typedef struct mc_fpu mc_fpu_t;
-
-typedef struct {
-       mc_gregset_t    mc_gregs;
-       mc_greg_t       mc_fp;
-       mc_greg_t       mc_i7;
-       mc_fpu_t        mc_fpregs;
-} mcontext_t;
-
-struct ucontext {
-       struct ucontext         *uc_link;
-       unsigned long           uc_flags;
-       sigset_t                uc_sigmask;
-       mcontext_t              uc_mcontext;
-};
-typedef struct ucontext ucontext_t;
-
-#endif /* __SPARC64_UCTX_H */
index d9a677c51926815865d3db306ac4e6cd1c5b90d5..0ecea6ed943e3a5b525e90711ef80a5cdbc16f57 100644 (file)
@@ -1,6 +1,3 @@
-#ifndef _SPARC_UNISTD_H
-#define _SPARC_UNISTD_H
-
 /*
  * System calls under the Sparc.
  *
  *
  * Copyright (C) 1995 Adrian M. Rodriguez (adrian@remus.rutgers.edu)
  */
-#ifndef __32bit_syscall_numbers__
-#ifndef __arch64__
-#define __32bit_syscall_numbers__
-#endif
-#endif
+#ifndef _SPARC_UNISTD_H
+#define _SPARC_UNISTD_H
+
+#include <uapi/asm/unistd.h>
 
-#define __NR_restart_syscall      0 /* Linux Specific                             */
-#define __NR_exit                 1 /* Common                                      */
-#define __NR_fork                 2 /* Common                                      */
-#define __NR_read                 3 /* Common                                      */
-#define __NR_write                4 /* Common                                      */
-#define __NR_open                 5 /* Common                                      */
-#define __NR_close                6 /* Common                                      */
-#define __NR_wait4                7 /* Common                                      */
-#define __NR_creat                8 /* Common                                      */
-#define __NR_link                 9 /* Common                                      */
-#define __NR_unlink              10 /* Common                                      */
-#define __NR_execv               11 /* SunOS Specific                              */
-#define __NR_chdir               12 /* Common                                      */
-#define __NR_chown              13 /* Common                                      */
-#define __NR_mknod               14 /* Common                                      */
-#define __NR_chmod               15 /* Common                                      */
-#define __NR_lchown              16 /* Common                                      */
-#define __NR_brk                 17 /* Common                                      */
-#define __NR_perfctr             18 /* Performance counter operations              */
-#define __NR_lseek               19 /* Common                                      */
-#define __NR_getpid              20 /* Common                                      */
-#define __NR_capget             21 /* Linux Specific                              */
-#define __NR_capset             22 /* Linux Specific                              */
-#define __NR_setuid              23 /* Implemented via setreuid in SunOS           */
-#define __NR_getuid              24 /* Common                                      */
-#define __NR_vmsplice           25 /* ENOSYS under SunOS                          */
-#define __NR_ptrace              26 /* Common                                      */
-#define __NR_alarm               27 /* Implemented via setitimer in SunOS          */
-#define __NR_sigaltstack        28 /* Common                                      */
-#define __NR_pause               29 /* Is sigblock(0)->sigpause() in SunOS         */
-#define __NR_utime               30 /* Implemented via utimes() under SunOS        */
-#ifdef __32bit_syscall_numbers__
-#define __NR_lchown32            31 /* Linux sparc32 specific                      */
-#define __NR_fchown32            32 /* Linux sparc32 specific                      */
-#endif
-#define __NR_access              33 /* Common                                      */
-#define __NR_nice                34 /* Implemented via get/setpriority() in SunOS  */
-#ifdef __32bit_syscall_numbers__
-#define __NR_chown32             35 /* Linux sparc32 specific                      */
-#endif
-#define __NR_sync                36 /* Common                                      */
-#define __NR_kill                37 /* Common                                      */
-#define __NR_stat                38 /* Common                                      */
-#define __NR_sendfile           39 /* Linux Specific                              */
-#define __NR_lstat               40 /* Common                                      */
-#define __NR_dup                 41 /* Common                                      */
-#define __NR_pipe                42 /* Common                                      */
-#define __NR_times               43 /* Implemented via getrusage() in SunOS        */
-#ifdef __32bit_syscall_numbers__
-#define __NR_getuid32            44 /* Linux sparc32 specific                      */
-#endif
-#define __NR_umount2             45 /* Linux Specific                              */
-#define __NR_setgid              46 /* Implemented via setregid() in SunOS         */
-#define __NR_getgid              47 /* Common                                      */
-#define __NR_signal              48 /* Implemented via sigvec() in SunOS           */
-#define __NR_geteuid             49 /* SunOS calls getuid()                        */
-#define __NR_getegid             50 /* SunOS calls getgid()                        */
-#define __NR_acct                51 /* Common                                      */
-#ifdef __32bit_syscall_numbers__
-#define __NR_getgid32            53 /* Linux sparc32 specific                      */
-#else
-#define __NR_memory_ordering    52 /* Linux Specific                              */
-#endif
-#define __NR_ioctl               54 /* Common                                      */
-#define __NR_reboot              55 /* Common                                      */
-#ifdef __32bit_syscall_numbers__
-#define __NR_mmap2              56 /* Linux sparc32 Specific                      */
-#endif
-#define __NR_symlink             57 /* Common                                      */
-#define __NR_readlink            58 /* Common                                      */
-#define __NR_execve              59 /* Common                                      */
-#define __NR_umask               60 /* Common                                      */
-#define __NR_chroot              61 /* Common                                      */
-#define __NR_fstat               62 /* Common                                      */
-#define __NR_fstat64            63 /* Linux Specific                              */
-#define __NR_getpagesize         64 /* Common                                      */
-#define __NR_msync               65 /* Common in newer 1.3.x revs...               */
-#define __NR_vfork               66 /* Common                                      */
-#define __NR_pread64             67 /* Linux Specific                              */
-#define __NR_pwrite64            68 /* Linux Specific                              */
-#ifdef __32bit_syscall_numbers__
-#define __NR_geteuid32           69 /* Linux sparc32, sbrk under SunOS             */
-#define __NR_getegid32           70 /* Linux sparc32, sstk under SunOS             */
-#endif
-#define __NR_mmap                71 /* Common                                      */
-#ifdef __32bit_syscall_numbers__
-#define __NR_setreuid32          72 /* Linux sparc32, vadvise under SunOS          */
-#endif
-#define __NR_munmap              73 /* Common                                      */
-#define __NR_mprotect            74 /* Common                                      */
-#define __NR_madvise             75 /* Common                                      */
-#define __NR_vhangup             76 /* Common                                      */
-#ifdef __32bit_syscall_numbers__
-#define __NR_truncate64                 77 /* Linux sparc32 Specific                      */
-#endif
-#define __NR_mincore             78 /* Common                                      */
-#define __NR_getgroups           79 /* Common                                      */
-#define __NR_setgroups           80 /* Common                                      */
-#define __NR_getpgrp             81 /* Common                                      */
-#ifdef __32bit_syscall_numbers__
-#define __NR_setgroups32         82 /* Linux sparc32, setpgrp under SunOS          */
-#endif
-#define __NR_setitimer           83 /* Common                                      */
-#ifdef __32bit_syscall_numbers__
-#define __NR_ftruncate64        84 /* Linux sparc32 Specific                      */
-#endif
-#define __NR_swapon              85 /* Common                                      */
-#define __NR_getitimer           86 /* Common                                      */
-#ifdef __32bit_syscall_numbers__
-#define __NR_setuid32            87 /* Linux sparc32, gethostname under SunOS      */
-#endif
-#define __NR_sethostname         88 /* Common                                      */
-#ifdef __32bit_syscall_numbers__
-#define __NR_setgid32            89 /* Linux sparc32, getdtablesize under SunOS    */
-#endif
-#define __NR_dup2                90 /* Common                                      */
-#ifdef __32bit_syscall_numbers__
-#define __NR_setfsuid32          91 /* Linux sparc32, getdopt under SunOS          */
-#endif
-#define __NR_fcntl               92 /* Common                                      */
-#define __NR_select              93 /* Common                                      */
-#ifdef __32bit_syscall_numbers__
-#define __NR_setfsgid32          94 /* Linux sparc32, setdopt under SunOS          */
-#endif
-#define __NR_fsync               95 /* Common                                      */
-#define __NR_setpriority         96 /* Common                                      */
-#define __NR_socket              97 /* Common                                      */
-#define __NR_connect             98 /* Common                                      */
-#define __NR_accept              99 /* Common                                      */
-#define __NR_getpriority        100 /* Common                                      */
-#define __NR_rt_sigreturn       101 /* Linux Specific                              */
-#define __NR_rt_sigaction       102 /* Linux Specific                              */
-#define __NR_rt_sigprocmask     103 /* Linux Specific                              */
-#define __NR_rt_sigpending      104 /* Linux Specific                              */
-#define __NR_rt_sigtimedwait    105 /* Linux Specific                              */
-#define __NR_rt_sigqueueinfo    106 /* Linux Specific                              */
-#define __NR_rt_sigsuspend      107 /* Linux Specific                              */
-#ifdef __32bit_syscall_numbers__
-#define __NR_setresuid32        108 /* Linux Specific, sigvec under SunOS         */
-#define __NR_getresuid32        109 /* Linux Specific, sigblock under SunOS       */
-#define __NR_setresgid32        110 /* Linux Specific, sigsetmask under SunOS     */
-#define __NR_getresgid32        111 /* Linux Specific, sigpause under SunOS       */
-#define __NR_setregid32         112 /* Linux sparc32, sigstack under SunOS         */
-#else
-#define __NR_setresuid          108 /* Linux Specific, sigvec under SunOS         */
-#define __NR_getresuid          109 /* Linux Specific, sigblock under SunOS       */
-#define __NR_setresgid          110 /* Linux Specific, sigsetmask under SunOS     */
-#define __NR_getresgid          111 /* Linux Specific, sigpause under SunOS       */
-#endif
-#define __NR_recvmsg            113 /* Common                                      */
-#define __NR_sendmsg            114 /* Common                                      */
-#ifdef __32bit_syscall_numbers__
-#define __NR_getgroups32        115 /* Linux sparc32, vtrace under SunOS           */
-#endif
-#define __NR_gettimeofday       116 /* Common                                      */
-#define __NR_getrusage          117 /* Common                                      */
-#define __NR_getsockopt         118 /* Common                                      */
-#define __NR_getcwd            119 /* Linux Specific                              */
-#define __NR_readv              120 /* Common                                      */
-#define __NR_writev             121 /* Common                                      */
-#define __NR_settimeofday       122 /* Common                                      */
-#define __NR_fchown             123 /* Common                                      */
-#define __NR_fchmod             124 /* Common                                      */
-#define __NR_recvfrom           125 /* Common                                      */
-#define __NR_setreuid           126 /* Common                                      */
-#define __NR_setregid           127 /* Common                                      */
-#define __NR_rename             128 /* Common                                      */
-#define __NR_truncate           129 /* Common                                      */
-#define __NR_ftruncate          130 /* Common                                      */
-#define __NR_flock              131 /* Common                                      */
-#define __NR_lstat64           132 /* Linux Specific                              */
-#define __NR_sendto             133 /* Common                                      */
-#define __NR_shutdown           134 /* Common                                      */
-#define __NR_socketpair         135 /* Common                                      */
-#define __NR_mkdir              136 /* Common                                      */
-#define __NR_rmdir              137 /* Common                                      */
-#define __NR_utimes             138 /* SunOS Specific                              */
-#define __NR_stat64            139 /* Linux Specific                              */
-#define __NR_sendfile64         140 /* adjtime under SunOS                         */
-#define __NR_getpeername        141 /* Common                                      */
-#define __NR_futex              142 /* gethostid under SunOS                       */
-#define __NR_gettid             143 /* ENOSYS under SunOS                          */
-#define __NR_getrlimit         144 /* Common                                      */
-#define __NR_setrlimit          145 /* Common                                      */
-#define __NR_pivot_root                146 /* Linux Specific, killpg under SunOS          */
-#define __NR_prctl             147 /* ENOSYS under SunOS                          */
-#define __NR_pciconfig_read    148 /* ENOSYS under SunOS                          */
-#define __NR_pciconfig_write   149 /* ENOSYS under SunOS                          */
-#define __NR_getsockname        150 /* Common                                      */
-#define __NR_inotify_init       151 /* Linux specific                              */
-#define __NR_inotify_add_watch  152 /* Linux specific                              */
-#define __NR_poll               153 /* Common                                      */
-#define __NR_getdents64                154 /* Linux specific                              */
-#ifdef __32bit_syscall_numbers__
-#define __NR_fcntl64           155 /* Linux sparc32 Specific                      */
-#endif
-#define __NR_inotify_rm_watch   156 /* Linux specific                             */
-#define __NR_statfs             157 /* Common                                      */
-#define __NR_fstatfs            158 /* Common                                      */
-#define __NR_umount             159 /* Common                                      */
-#define __NR_sched_set_affinity 160 /* Linux specific, async_daemon under SunOS    */
-#define __NR_sched_get_affinity 161 /* Linux specific, getfh under SunOS           */
-#define __NR_getdomainname      162 /* SunOS Specific                              */
-#define __NR_setdomainname      163 /* Common                                      */
-#ifndef __32bit_syscall_numbers__
-#define __NR_utrap_install     164 /* SYSV ABI/v9 required                        */
-#endif
-#define __NR_quotactl           165 /* Common                                      */
-#define __NR_set_tid_address    166 /* Linux specific, exportfs under SunOS        */
-#define __NR_mount              167 /* Common                                      */
-#define __NR_ustat              168 /* Common                                      */
-#define __NR_setxattr           169 /* SunOS: semsys                               */
-#define __NR_lsetxattr          170 /* SunOS: msgsys                               */
-#define __NR_fsetxattr          171 /* SunOS: shmsys                               */
-#define __NR_getxattr           172 /* SunOS: auditsys                             */
-#define __NR_lgetxattr          173 /* SunOS: rfssys                               */
-#define __NR_getdents           174 /* Common                                      */
-#define __NR_setsid             175 /* Common                                      */
-#define __NR_fchdir             176 /* Common                                      */
-#define __NR_fgetxattr          177 /* SunOS: fchroot                              */
-#define __NR_listxattr          178 /* SunOS: vpixsys                              */
-#define __NR_llistxattr         179 /* SunOS: aioread                              */
-#define __NR_flistxattr         180 /* SunOS: aiowrite                             */
-#define __NR_removexattr        181 /* SunOS: aiowait                              */
-#define __NR_lremovexattr       182 /* SunOS: aiocancel                            */
-#define __NR_sigpending         183 /* Common                                      */
-#define __NR_query_module      184 /* Linux Specific                              */
-#define __NR_setpgid            185 /* Common                                      */
-#define __NR_fremovexattr       186 /* SunOS: pathconf                             */
-#define __NR_tkill              187 /* SunOS: fpathconf                            */
-#define __NR_exit_group                188 /* Linux specific, sysconf undef SunOS         */
-#define __NR_uname              189 /* Linux Specific                              */
-#define __NR_init_module        190 /* Linux Specific                              */
-#define __NR_personality        191 /* Linux Specific                              */
-#define __NR_remap_file_pages   192 /* Linux Specific                              */
-#define __NR_epoll_create       193 /* Linux Specific                              */
-#define __NR_epoll_ctl          194 /* Linux Specific                              */
-#define __NR_epoll_wait         195 /* Linux Specific                              */
-#define __NR_ioprio_set         196 /* Linux Specific                              */
-#define __NR_getppid            197 /* Linux Specific                              */
-#define __NR_sigaction          198 /* Linux Specific                              */
-#define __NR_sgetmask           199 /* Linux Specific                              */
-#define __NR_ssetmask           200 /* Linux Specific                              */
-#define __NR_sigsuspend         201 /* Linux Specific                              */
-#define __NR_oldlstat           202 /* Linux Specific                              */
-#define __NR_uselib             203 /* Linux Specific                              */
-#define __NR_readdir            204 /* Linux Specific                              */
-#define __NR_readahead          205 /* Linux Specific                              */
-#define __NR_socketcall         206 /* Linux Specific                              */
-#define __NR_syslog             207 /* Linux Specific                              */
-#define __NR_lookup_dcookie     208 /* Linux Specific                              */
-#define __NR_fadvise64          209 /* Linux Specific                              */
-#define __NR_fadvise64_64       210 /* Linux Specific                              */
-#define __NR_tgkill             211 /* Linux Specific                              */
-#define __NR_waitpid            212 /* Linux Specific                              */
-#define __NR_swapoff            213 /* Linux Specific                              */
-#define __NR_sysinfo            214 /* Linux Specific                              */
-#define __NR_ipc                215 /* Linux Specific                              */
-#define __NR_sigreturn          216 /* Linux Specific                              */
-#define __NR_clone              217 /* Linux Specific                              */
-#define __NR_ioprio_get         218 /* Linux Specific                              */
-#define __NR_adjtimex           219 /* Linux Specific                              */
-#define __NR_sigprocmask        220 /* Linux Specific                              */
-#define __NR_create_module      221 /* Linux Specific                              */
-#define __NR_delete_module      222 /* Linux Specific                              */
-#define __NR_get_kernel_syms    223 /* Linux Specific                              */
-#define __NR_getpgid            224 /* Linux Specific                              */
-#define __NR_bdflush            225 /* Linux Specific                              */
-#define __NR_sysfs              226 /* Linux Specific                              */
-#define __NR_afs_syscall        227 /* Linux Specific                              */
-#define __NR_setfsuid           228 /* Linux Specific                              */
-#define __NR_setfsgid           229 /* Linux Specific                              */
-#define __NR__newselect         230 /* Linux Specific                              */
 #ifdef __32bit_syscall_numbers__
-#define __NR_time               231 /* Linux Specific                              */
 #else
-#ifdef __KERNEL__
 #define __NR_time              231 /* Linux sparc32                               */
 #endif
-#endif
-#define __NR_splice             232 /* Linux Specific                              */
-#define __NR_stime              233 /* Linux Specific                              */
-#define __NR_statfs64           234 /* Linux Specific                              */
-#define __NR_fstatfs64          235 /* Linux Specific                              */
-#define __NR__llseek            236 /* Linux Specific                              */
-#define __NR_mlock              237
-#define __NR_munlock            238
-#define __NR_mlockall           239
-#define __NR_munlockall         240
-#define __NR_sched_setparam     241
-#define __NR_sched_getparam     242
-#define __NR_sched_setscheduler 243
-#define __NR_sched_getscheduler 244
-#define __NR_sched_yield        245
-#define __NR_sched_get_priority_max 246
-#define __NR_sched_get_priority_min 247
-#define __NR_sched_rr_get_interval  248
-#define __NR_nanosleep          249
-#define __NR_mremap             250
-#define __NR__sysctl            251
-#define __NR_getsid             252
-#define __NR_fdatasync          253
-#define __NR_nfsservctl         254
-#define __NR_sync_file_range   255
-#define __NR_clock_settime     256
-#define __NR_clock_gettime     257
-#define __NR_clock_getres      258
-#define __NR_clock_nanosleep   259
-#define __NR_sched_getaffinity 260
-#define __NR_sched_setaffinity 261
-#define __NR_timer_settime     262
-#define __NR_timer_gettime     263
-#define __NR_timer_getoverrun  264
-#define __NR_timer_delete      265
-#define __NR_timer_create      266
-/* #define __NR_vserver                267 Reserved for VSERVER */
-#define __NR_io_setup          268
-#define __NR_io_destroy                269
-#define __NR_io_submit         270
-#define __NR_io_cancel         271
-#define __NR_io_getevents      272
-#define __NR_mq_open           273
-#define __NR_mq_unlink         274
-#define __NR_mq_timedsend      275
-#define __NR_mq_timedreceive   276
-#define __NR_mq_notify         277
-#define __NR_mq_getsetattr     278
-#define __NR_waitid            279
-#define __NR_tee               280
-#define __NR_add_key           281
-#define __NR_request_key       282
-#define __NR_keyctl            283
-#define __NR_openat            284
-#define __NR_mkdirat           285
-#define __NR_mknodat           286
-#define __NR_fchownat          287
-#define __NR_futimesat         288
-#define __NR_fstatat64         289
-#define __NR_unlinkat          290
-#define __NR_renameat          291
-#define __NR_linkat            292
-#define __NR_symlinkat         293
-#define __NR_readlinkat                294
-#define __NR_fchmodat          295
-#define __NR_faccessat         296
-#define __NR_pselect6          297
-#define __NR_ppoll             298
-#define __NR_unshare           299
-#define __NR_set_robust_list   300
-#define __NR_get_robust_list   301
-#define __NR_migrate_pages     302
-#define __NR_mbind             303
-#define __NR_get_mempolicy     304
-#define __NR_set_mempolicy     305
-#define __NR_kexec_load                306
-#define __NR_move_pages                307
-#define __NR_getcpu            308
-#define __NR_epoll_pwait       309
-#define __NR_utimensat         310
-#define __NR_signalfd          311
-#define __NR_timerfd_create    312
-#define __NR_eventfd           313
-#define __NR_fallocate         314
-#define __NR_timerfd_settime   315
-#define __NR_timerfd_gettime   316
-#define __NR_signalfd4         317
-#define __NR_eventfd2          318
-#define __NR_epoll_create1     319
-#define __NR_dup3              320
-#define __NR_pipe2             321
-#define __NR_inotify_init1     322
-#define __NR_accept4           323
-#define __NR_preadv            324
-#define __NR_pwritev           325
-#define __NR_rt_tgsigqueueinfo 326
-#define __NR_perf_event_open   327
-#define __NR_recvmmsg          328
-#define __NR_fanotify_init     329
-#define __NR_fanotify_mark     330
-#define __NR_prlimit64         331
-#define __NR_name_to_handle_at 332
-#define __NR_open_by_handle_at 333
-#define __NR_clock_adjtime     334
-#define __NR_syncfs            335
-#define __NR_sendmmsg          336
-#define __NR_setns             337
-#define __NR_process_vm_readv  338
-#define __NR_process_vm_writev 339
-
-#define NR_syscalls            340
-
-#ifdef __32bit_syscall_numbers__
-/* Sparc 32-bit only has the "setresuid32", "getresuid32" variants,
- * it never had the plain ones and there is no value to adding those
- * old versions into the syscall table.
- */
-#define __IGNORE_setresuid
-#define __IGNORE_getresuid
-#define __IGNORE_setresgid
-#define __IGNORE_getresgid
-#endif
-
-#ifdef __KERNEL__
 #define __ARCH_WANT_OLD_READDIR
 #define __ARCH_WANT_STAT64
 #define __ARCH_WANT_SYS_ALARM
  */
 #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")
 
-#endif /* __KERNEL__ */
 #endif /* _SPARC_UNISTD_H */
diff --git a/arch/sparc/include/asm/utrap.h b/arch/sparc/include/asm/utrap.h
deleted file mode 100644 (file)
index b10e527..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * include/asm/utrap.h
- *
- * Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
- */
-
-#ifndef __ASM_SPARC64_UTRAP_H
-#define __ASM_SPARC64_UTRAP_H
-
-#define UT_INSTRUCTION_EXCEPTION               1
-#define UT_INSTRUCTION_ERROR                   2
-#define UT_INSTRUCTION_PROTECTION              3
-#define UT_ILLTRAP_INSTRUCTION                 4
-#define UT_ILLEGAL_INSTRUCTION                 5
-#define UT_PRIVILEGED_OPCODE                   6
-#define UT_FP_DISABLED                         7
-#define UT_FP_EXCEPTION_IEEE_754               8
-#define UT_FP_EXCEPTION_OTHER                  9
-#define UT_TAG_OVERVIEW                                10
-#define UT_DIVISION_BY_ZERO                    11
-#define UT_DATA_EXCEPTION                      12
-#define UT_DATA_ERROR                          13
-#define UT_DATA_PROTECTION                     14
-#define UT_MEM_ADDRESS_NOT_ALIGNED             15
-#define UT_PRIVILEGED_ACTION                   16
-#define UT_ASYNC_DATA_ERROR                    17
-#define UT_TRAP_INSTRUCTION_16                 18
-#define UT_TRAP_INSTRUCTION_17                 19
-#define UT_TRAP_INSTRUCTION_18                 20
-#define UT_TRAP_INSTRUCTION_19                 21
-#define UT_TRAP_INSTRUCTION_20                 22
-#define UT_TRAP_INSTRUCTION_21                 23
-#define UT_TRAP_INSTRUCTION_22                 24
-#define UT_TRAP_INSTRUCTION_23                 25
-#define UT_TRAP_INSTRUCTION_24                 26
-#define UT_TRAP_INSTRUCTION_25                 27
-#define UT_TRAP_INSTRUCTION_26                 28
-#define UT_TRAP_INSTRUCTION_27                 29
-#define UT_TRAP_INSTRUCTION_28                 30
-#define UT_TRAP_INSTRUCTION_29                 31
-#define UT_TRAP_INSTRUCTION_30                 32
-#define UT_TRAP_INSTRUCTION_31                 33
-
-#define        UTH_NOCHANGE                            (-1)
-
-#ifndef __ASSEMBLY__
-typedef int utrap_entry_t;
-typedef void *utrap_handler_t;
-#endif /* __ASSEMBLY__ */
-
-#endif /* !(__ASM_SPARC64_PROCESSOR_H) */
diff --git a/arch/sparc/include/asm/watchdog.h b/arch/sparc/include/asm/watchdog.h
deleted file mode 100644 (file)
index 5baf2d3..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- *
- * watchdog - Driver interface for the hardware watchdog timers
- * present on Sun Microsystems boardsets
- *
- * Copyright (c) 2000 Eric Brower <ebrower@usa.net>
- *
- */
-
-#ifndef _SPARC64_WATCHDOG_H
-#define _SPARC64_WATCHDOG_H
-
-#include <linux/watchdog.h>
-
-/* Solaris compatibility ioctls--
- * Ref. <linux/watchdog.h> for standard linux watchdog ioctls
- */
-#define WIOCSTART _IO (WATCHDOG_IOCTL_BASE, 10)                /* Start Timer          */
-#define WIOCSTOP  _IO (WATCHDOG_IOCTL_BASE, 11)                /* Stop Timer           */
-#define WIOCGSTAT _IOR(WATCHDOG_IOCTL_BASE, 12, int)/* Get Timer Status        */
-
-/* Status flags from WIOCGSTAT ioctl
- */
-#define WD_FREERUN     0x01    /* timer is running, interrupts disabled        */
-#define WD_EXPIRED     0x02    /* timer has expired                                            */
-#define WD_RUNNING     0x04    /* timer is running, interrupts enabled         */
-#define WD_STOPPED     0x08    /* timer has not been started                           */
-#define WD_SERVICED 0x10       /* timer interrupt was serviced                         */
-
-#endif /* ifndef _SPARC64_WATCHDOG_H */
-
index 7518ad2869632e9111da777faca465db9dcf2909..ce175aff71b75e29fdf65cf70d8a17f2a07c5d2a 100644 (file)
@@ -3,3 +3,49 @@
 
 include include/uapi/asm-generic/Kbuild.asm
 
+header-y += apc.h
+header-y += asi.h
+header-y += auxvec.h
+header-y += bitsperlong.h
+header-y += byteorder.h
+header-y += display7seg.h
+header-y += envctrl.h
+header-y += errno.h
+header-y += fbio.h
+header-y += fcntl.h
+header-y += ioctl.h
+header-y += ioctls.h
+header-y += ipcbuf.h
+header-y += jsflash.h
+header-y += kvm_para.h
+header-y += mman.h
+header-y += msgbuf.h
+header-y += openpromio.h
+header-y += param.h
+header-y += perfctr.h
+header-y += poll.h
+header-y += posix_types.h
+header-y += psr.h
+header-y += psrcompat.h
+header-y += pstate.h
+header-y += ptrace.h
+header-y += resource.h
+header-y += sembuf.h
+header-y += setup.h
+header-y += shmbuf.h
+header-y += sigcontext.h
+header-y += siginfo.h
+header-y += signal.h
+header-y += socket.h
+header-y += sockios.h
+header-y += stat.h
+header-y += statfs.h
+header-y += swab.h
+header-y += termbits.h
+header-y += termios.h
+header-y += traps.h
+header-y += types.h
+header-y += uctx.h
+header-y += unistd.h
+header-y += utrap.h
+header-y += watchdog.h
diff --git a/arch/sparc/include/uapi/asm/apc.h b/arch/sparc/include/uapi/asm/apc.h
new file mode 100644 (file)
index 0000000..24e9a7d
--- /dev/null
@@ -0,0 +1,64 @@
+/* apc - Driver definitions for power management functions
+ * of Aurora Personality Chip (APC) on SPARCstation-4/5 and 
+ * derivatives
+ *
+ * Copyright (c) 2001 Eric Brower (ebrower@usa.net)
+ *
+ */
+
+#ifndef _SPARC_APC_H
+#define _SPARC_APC_H
+
+#include <linux/ioctl.h>
+
+#define APC_IOC        'A'
+
+#define APCIOCGFANCTL _IOR(APC_IOC, 0x00, int) /* Get fan speed        */
+#define APCIOCSFANCTL _IOW(APC_IOC, 0x01, int) /* Set fan speed        */
+
+#define APCIOCGCPWR   _IOR(APC_IOC, 0x02, int) /* Get CPOWER state     */
+#define APCIOCSCPWR   _IOW(APC_IOC, 0x03, int) /* Set CPOWER state     */
+
+#define APCIOCGBPORT   _IOR(APC_IOC, 0x04, int)        /* Get BPORT state      */
+#define APCIOCSBPORT   _IOW(APC_IOC, 0x05, int)        /* Set BPORT state      */
+
+/*
+ * Register offsets
+ */
+#define APC_IDLE_REG   0x00
+#define APC_FANCTL_REG 0x20
+#define APC_CPOWER_REG 0x24
+#define APC_BPORT_REG  0x30
+
+#define APC_REGMASK            0x01
+#define APC_BPMASK             0x03
+
+/*
+ * IDLE - CPU standby values (set to initiate standby)
+ */
+#define APC_IDLE_ON            0x01
+
+/*
+ * FANCTL - Fan speed control state values
+ */
+#define APC_FANCTL_HI  0x00    /* Fan speed high       */
+#define APC_FANCTL_LO  0x01    /* Fan speed low        */
+
+/*
+ * CPWR - Convenience power outlet state values 
+ */
+#define APC_CPOWER_ON  0x00    /* Conv power on        */
+#define APC_CPOWER_OFF 0x01    /* Conv power off       */
+
+/*
+ * BPA/BPB - Read-Write "Bit Ports" state values (reset to 0 at power-on)
+ *
+ * WARNING: Internal usage of bit ports is platform dependent--
+ * don't modify BPORT settings unless you know what you are doing.
+ * 
+ * On SS5 BPA seems to toggle onboard ethernet loopback... -E
+ */
+#define APC_BPORT_A            0x01    /* Bit Port A           */
+#define APC_BPORT_B            0x02    /* Bit Port B           */
+
+#endif /* !(_SPARC_APC_H) */
diff --git a/arch/sparc/include/uapi/asm/asi.h b/arch/sparc/include/uapi/asm/asi.h
new file mode 100644 (file)
index 0000000..aace6f3
--- /dev/null
@@ -0,0 +1,297 @@
+#ifndef _SPARC_ASI_H
+#define _SPARC_ASI_H
+
+/* asi.h:  Address Space Identifier values for the sparc.
+ *
+ * Copyright (C) 1995,1996 David S. Miller (davem@caip.rutgers.edu)
+ *
+ * Pioneer work for sun4m: Paul Hatchman (paul@sfe.com.au)
+ * Joint edition for sun4c+sun4m: Pete A. Zaitcev <zaitcev@ipmce.su>
+ */
+
+/* The first batch are for the sun4c. */
+
+#define ASI_NULL1           0x00
+#define ASI_NULL2           0x01
+
+/* sun4c and sun4 control registers and mmu/vac ops */
+#define ASI_CONTROL         0x02
+#define ASI_SEGMAP          0x03
+#define ASI_PTE             0x04
+#define ASI_HWFLUSHSEG      0x05
+#define ASI_HWFLUSHPAGE     0x06
+#define ASI_REGMAP          0x06
+#define ASI_HWFLUSHCONTEXT  0x07
+
+#define ASI_USERTXT         0x08
+#define ASI_KERNELTXT       0x09
+#define ASI_USERDATA        0x0a
+#define ASI_KERNELDATA      0x0b
+
+/* VAC Cache flushing on sun4c and sun4 */
+#define ASI_FLUSHSEG        0x0c
+#define ASI_FLUSHPG         0x0d
+#define ASI_FLUSHCTX        0x0e
+
+/* SPARCstation-5: only 6 bits are decoded. */
+/* wo = Write Only, rw = Read Write;        */
+/* ss = Single Size, as = All Sizes;        */
+#define ASI_M_RES00         0x00   /* Don't touch... */
+#define ASI_M_UNA01         0x01   /* Same here... */
+#define ASI_M_MXCC          0x02   /* Access to TI VIKING MXCC registers */
+#define ASI_M_FLUSH_PROBE   0x03   /* Reference MMU Flush/Probe; rw, ss */
+#define ASI_M_MMUREGS       0x04   /* MMU Registers; rw, ss */
+#define ASI_M_TLBDIAG       0x05   /* MMU TLB only Diagnostics */
+#define ASI_M_DIAGS         0x06   /* Reference MMU Diagnostics */
+#define ASI_M_IODIAG        0x07   /* MMU I/O TLB only Diagnostics */
+#define ASI_M_USERTXT       0x08   /* Same as ASI_USERTXT; rw, as */
+#define ASI_M_KERNELTXT     0x09   /* Same as ASI_KERNELTXT; rw, as */
+#define ASI_M_USERDATA      0x0A   /* Same as ASI_USERDATA; rw, as */
+#define ASI_M_KERNELDATA    0x0B   /* Same as ASI_KERNELDATA; rw, as */
+#define ASI_M_TXTC_TAG      0x0C   /* Instruction Cache Tag; rw, ss */
+#define ASI_M_TXTC_DATA     0x0D   /* Instruction Cache Data; rw, ss */
+#define ASI_M_DATAC_TAG     0x0E   /* Data Cache Tag; rw, ss */
+#define ASI_M_DATAC_DATA    0x0F   /* Data Cache Data; rw, ss */
+
+/* The following cache flushing ASIs work only with the 'sta'
+ * instruction. Results are unpredictable for 'swap' and 'ldstuba',
+ * so don't do it.
+ */
+
+/* These ASI flushes affect external caches too. */
+#define ASI_M_FLUSH_PAGE    0x10   /* Flush I&D Cache Line (page); wo, ss */
+#define ASI_M_FLUSH_SEG     0x11   /* Flush I&D Cache Line (seg); wo, ss */
+#define ASI_M_FLUSH_REGION  0x12   /* Flush I&D Cache Line (region); wo, ss */
+#define ASI_M_FLUSH_CTX     0x13   /* Flush I&D Cache Line (context); wo, ss */
+#define ASI_M_FLUSH_USER    0x14   /* Flush I&D Cache Line (user); wo, ss */
+
+/* Block-copy operations are available only on certain V8 cpus. */
+#define ASI_M_BCOPY         0x17   /* Block copy */
+
+/* These affect only the ICACHE and are Ross HyperSparc and TurboSparc specific. */
+#define ASI_M_IFLUSH_PAGE   0x18   /* Flush I Cache Line (page); wo, ss */
+#define ASI_M_IFLUSH_SEG    0x19   /* Flush I Cache Line (seg); wo, ss */
+#define ASI_M_IFLUSH_REGION 0x1A   /* Flush I Cache Line (region); wo, ss */
+#define ASI_M_IFLUSH_CTX    0x1B   /* Flush I Cache Line (context); wo, ss */
+#define ASI_M_IFLUSH_USER   0x1C   /* Flush I Cache Line (user); wo, ss */
+
+/* Block-fill operations are available on certain V8 cpus */
+#define ASI_M_BFILL         0x1F
+
+/* This allows direct access to main memory, actually 0x20 to 0x2f are
+ * the available ASI's for physical ram pass-through, but I don't have
+ * any idea what the other ones do....
+ */
+
+#define ASI_M_BYPASS       0x20   /* Reference MMU bypass; rw, as */
+#define ASI_M_FBMEM        0x29   /* Graphics card frame buffer access */
+#define ASI_M_VMEUS        0x2A   /* VME user 16-bit access */
+#define ASI_M_VMEPS        0x2B   /* VME priv 16-bit access */
+#define ASI_M_VMEUT        0x2C   /* VME user 32-bit access */
+#define ASI_M_VMEPT        0x2D   /* VME priv 32-bit access */
+#define ASI_M_SBUS         0x2E   /* Direct SBus access */
+#define ASI_M_CTL          0x2F   /* Control Space (ECC and MXCC are here) */
+
+
+/* This is ROSS HyperSparc only. */
+#define ASI_M_FLUSH_IWHOLE 0x31   /* Flush entire ICACHE; wo, ss */
+
+/* Tsunami/Viking/TurboSparc i/d cache flash clear. */
+#define ASI_M_IC_FLCLEAR   0x36
+#define ASI_M_DC_FLCLEAR   0x37
+
+#define ASI_M_DCDR         0x39   /* Data Cache Diagnostics Register rw, ss */
+
+#define ASI_M_VIKING_TMP1  0x40          /* Emulation temporary 1 on Viking */
+/* only available on SuperSparc I */
+/* #define ASI_M_VIKING_TMP2  0x41 */  /* Emulation temporary 2 on Viking */
+
+#define ASI_M_ACTION       0x4c   /* Breakpoint Action Register (GNU/Viking) */
+
+/* LEON ASI */
+#define ASI_LEON_NOCACHE        0x01
+
+#define ASI_LEON_DCACHE_MISS    0x01
+
+#define ASI_LEON_CACHEREGS      0x02
+#define ASI_LEON_IFLUSH         0x10
+#define ASI_LEON_DFLUSH         0x11
+
+#define ASI_LEON_MMUFLUSH       0x18
+#define ASI_LEON_MMUREGS        0x19
+#define ASI_LEON_BYPASS         0x1c
+#define ASI_LEON_FLUSH_PAGE     0x10
+
+/* V9 Architecture mandary ASIs. */
+#define ASI_N                  0x04 /* Nucleus                         */
+#define ASI_NL                 0x0c /* Nucleus, little endian          */
+#define ASI_AIUP               0x10 /* Primary, user                   */
+#define ASI_AIUS               0x11 /* Secondary, user                 */
+#define ASI_AIUPL              0x18 /* Primary, user, little endian    */
+#define ASI_AIUSL              0x19 /* Secondary, user, little endian  */
+#define ASI_P                  0x80 /* Primary, implicit               */
+#define ASI_S                  0x81 /* Secondary, implicit             */
+#define ASI_PNF                        0x82 /* Primary, no fault               */
+#define ASI_SNF                        0x83 /* Secondary, no fault             */
+#define ASI_PL                 0x88 /* Primary, implicit, l-endian     */
+#define ASI_SL                 0x89 /* Secondary, implicit, l-endian   */
+#define ASI_PNFL               0x8a /* Primary, no fault, l-endian     */
+#define ASI_SNFL               0x8b /* Secondary, no fault, l-endian   */
+
+/* SpitFire and later extended ASIs.  The "(III)" marker designates
+ * UltraSparc-III and later specific ASIs.  The "(CMT)" marker designates
+ * Chip Multi Threading specific ASIs.  "(NG)" designates Niagara specific
+ * ASIs, "(4V)" designates SUN4V specific ASIs.  "(NG4)" designates SPARC-T4
+ * and later ASIs.
+ */
+#define ASI_PHYS_USE_EC                0x14 /* PADDR, E-cachable               */
+#define ASI_PHYS_BYPASS_EC_E   0x15 /* PADDR, E-bit                    */
+#define ASI_BLK_AIUP_4V                0x16 /* (4V) Prim, user, block ld/st    */
+#define ASI_BLK_AIUS_4V                0x17 /* (4V) Sec, user, block ld/st     */
+#define ASI_PHYS_USE_EC_L      0x1c /* PADDR, E-cachable, little endian*/
+#define ASI_PHYS_BYPASS_EC_E_L 0x1d /* PADDR, E-bit, little endian     */
+#define ASI_BLK_AIUP_L_4V      0x1e /* (4V) Prim, user, block, l-endian*/
+#define ASI_BLK_AIUS_L_4V      0x1f /* (4V) Sec, user, block, l-endian */
+#define ASI_SCRATCHPAD         0x20 /* (4V) Scratch Pad Registers      */
+#define ASI_MMU                        0x21 /* (4V) MMU Context Registers      */
+#define ASI_BLK_INIT_QUAD_LDD_AIUS 0x23 /* (NG) init-store, twin load,
+                                        * secondary, user
+                                        */
+#define ASI_NUCLEUS_QUAD_LDD   0x24 /* Cachable, qword load            */
+#define ASI_QUEUE              0x25 /* (4V) Interrupt Queue Registers  */
+#define ASI_QUAD_LDD_PHYS_4V   0x26 /* (4V) Physical, qword load       */
+#define ASI_NUCLEUS_QUAD_LDD_L 0x2c /* Cachable, qword load, l-endian  */
+#define ASI_QUAD_LDD_PHYS_L_4V 0x2e /* (4V) Phys, qword load, l-endian */
+#define ASI_PCACHE_DATA_STATUS 0x30 /* (III) PCache data stat RAM diag */
+#define ASI_PCACHE_DATA                0x31 /* (III) PCache data RAM diag      */
+#define ASI_PCACHE_TAG         0x32 /* (III) PCache tag RAM diag       */
+#define ASI_PCACHE_SNOOP_TAG   0x33 /* (III) PCache snoop tag RAM diag */
+#define ASI_QUAD_LDD_PHYS      0x34 /* (III+) PADDR, qword load        */
+#define ASI_WCACHE_VALID_BITS  0x38 /* (III) WCache Valid Bits diag    */
+#define ASI_WCACHE_DATA                0x39 /* (III) WCache data RAM diag      */
+#define ASI_WCACHE_TAG         0x3a /* (III) WCache tag RAM diag       */
+#define ASI_WCACHE_SNOOP_TAG   0x3b /* (III) WCache snoop tag RAM diag */
+#define ASI_QUAD_LDD_PHYS_L    0x3c /* (III+) PADDR, qw-load, l-endian */
+#define ASI_SRAM_FAST_INIT     0x40 /* (III+) Fast SRAM init           */
+#define ASI_CORE_AVAILABLE     0x41 /* (CMT) LP Available              */
+#define ASI_CORE_ENABLE_STAT   0x41 /* (CMT) LP Enable Status          */
+#define ASI_CORE_ENABLE                0x41 /* (CMT) LP Enable RW              */
+#define ASI_XIR_STEERING       0x41 /* (CMT) XIR Steering RW           */
+#define ASI_CORE_RUNNING_RW    0x41 /* (CMT) LP Running RW             */
+#define ASI_CORE_RUNNING_W1S   0x41 /* (CMT) LP Running Write-One Set  */
+#define ASI_CORE_RUNNING_W1C   0x41 /* (CMT) LP Running Write-One Clr  */
+#define ASI_CORE_RUNNING_STAT  0x41 /* (CMT) LP Running Status         */
+#define ASI_CMT_ERROR_STEERING 0x41 /* (CMT) Error Steering RW         */
+#define ASI_DCACHE_INVALIDATE  0x42 /* (III) DCache Invalidate diag    */
+#define ASI_DCACHE_UTAG                0x43 /* (III) DCache uTag diag          */
+#define ASI_DCACHE_SNOOP_TAG   0x44 /* (III) DCache snoop tag RAM diag */
+#define ASI_LSU_CONTROL                0x45 /* Load-store control unit         */
+#define ASI_DCU_CONTROL_REG    0x45 /* (III) DCache Unit Control reg   */
+#define ASI_DCACHE_DATA                0x46 /* DCache data-ram diag access     */
+#define ASI_DCACHE_TAG         0x47 /* Dcache tag/valid ram diag access*/
+#define ASI_INTR_DISPATCH_STAT 0x48 /* IRQ vector dispatch status      */
+#define ASI_INTR_RECEIVE       0x49 /* IRQ vector receive status       */
+#define ASI_UPA_CONFIG         0x4a /* UPA config space                */
+#define ASI_JBUS_CONFIG                0x4a /* (IIIi) JBUS Config Register     */
+#define ASI_SAFARI_CONFIG      0x4a /* (III) Safari Config Register    */
+#define ASI_SAFARI_ADDRESS     0x4a /* (III) Safari Address Register   */
+#define ASI_ESTATE_ERROR_EN    0x4b /* E-cache error enable space      */
+#define ASI_AFSR               0x4c /* Async fault status register     */
+#define ASI_AFAR               0x4d /* Async fault address register    */
+#define ASI_EC_TAG_DATA                0x4e /* E-cache tag/valid ram diag acc  */
+#define ASI_IMMU               0x50 /* Insn-MMU main register space    */
+#define ASI_IMMU_TSB_8KB_PTR   0x51 /* Insn-MMU 8KB TSB pointer reg    */
+#define ASI_IMMU_TSB_64KB_PTR  0x52 /* Insn-MMU 64KB TSB pointer reg   */
+#define ASI_ITLB_DATA_IN       0x54 /* Insn-MMU TLB data in reg        */
+#define ASI_ITLB_DATA_ACCESS   0x55 /* Insn-MMU TLB data access reg    */
+#define ASI_ITLB_TAG_READ      0x56 /* Insn-MMU TLB tag read reg       */
+#define ASI_IMMU_DEMAP         0x57 /* Insn-MMU TLB demap              */
+#define ASI_DMMU               0x58 /* Data-MMU main register space    */
+#define ASI_DMMU_TSB_8KB_PTR   0x59 /* Data-MMU 8KB TSB pointer reg    */
+#define ASI_DMMU_TSB_64KB_PTR  0x5a /* Data-MMU 16KB TSB pointer reg   */
+#define ASI_DMMU_TSB_DIRECT_PTR        0x5b /* Data-MMU TSB direct pointer reg */
+#define ASI_DTLB_DATA_IN       0x5c /* Data-MMU TLB data in reg        */
+#define ASI_DTLB_DATA_ACCESS   0x5d /* Data-MMU TLB data access reg    */
+#define ASI_DTLB_TAG_READ      0x5e /* Data-MMU TLB tag read reg       */
+#define ASI_DMMU_DEMAP         0x5f /* Data-MMU TLB demap              */
+#define ASI_IIU_INST_TRAP      0x60 /* (III) Instruction Breakpoint    */
+#define ASI_INTR_ID            0x63 /* (CMT) Interrupt ID register     */
+#define ASI_CORE_ID            0x63 /* (CMT) LP ID register            */
+#define ASI_CESR_ID            0x63 /* (CMT) CESR ID register          */
+#define ASI_IC_INSTR           0x66 /* Insn cache instrucion ram diag  */
+#define ASI_IC_TAG             0x67 /* Insn cache tag/valid ram diag   */
+#define ASI_IC_STAG            0x68 /* (III) Insn cache snoop tag ram  */
+#define ASI_IC_PRE_DECODE      0x6e /* Insn cache pre-decode ram diag  */
+#define ASI_IC_NEXT_FIELD      0x6f /* Insn cache next-field ram diag  */
+#define ASI_BRPRED_ARRAY       0x6f /* (III) Branch Prediction RAM diag*/
+#define ASI_BLK_AIUP           0x70 /* Primary, user, block load/store */
+#define ASI_BLK_AIUS           0x71 /* Secondary, user, block ld/st    */
+#define ASI_MCU_CTRL_REG       0x72 /* (III) Memory controller regs    */
+#define ASI_EC_DATA            0x74 /* (III) E-cache data staging reg  */
+#define ASI_EC_CTRL            0x75 /* (III) E-cache control reg       */
+#define ASI_EC_W               0x76 /* E-cache diag write access       */
+#define ASI_UDB_ERROR_W                0x77 /* External UDB error regs W       */
+#define ASI_UDB_CONTROL_W      0x77 /* External UDB control regs W     */
+#define ASI_INTR_W             0x77 /* IRQ vector dispatch write       */
+#define ASI_INTR_DATAN_W       0x77 /* (III) Out irq vector data reg N */
+#define ASI_INTR_DISPATCH_W    0x77 /* (III) Interrupt vector dispatch */
+#define ASI_BLK_AIUPL          0x78 /* Primary, user, little, blk ld/st*/
+#define ASI_BLK_AIUSL          0x79 /* Secondary, user, little, blk ld/st*/
+#define ASI_EC_R               0x7e /* E-cache diag read access        */
+#define ASI_UDBH_ERROR_R       0x7f /* External UDB error regs rd hi   */
+#define ASI_UDBL_ERROR_R       0x7f /* External UDB error regs rd low  */
+#define ASI_UDBH_CONTROL_R     0x7f /* External UDB control regs rd hi */
+#define ASI_UDBL_CONTROL_R     0x7f /* External UDB control regs rd low*/
+#define ASI_INTR_R             0x7f /* IRQ vector dispatch read        */
+#define ASI_INTR_DATAN_R       0x7f /* (III) In irq vector data reg N  */
+#define ASI_PIC                        0xb0 /* (NG4) PIC registers             */
+#define ASI_PST8_P             0xc0 /* Primary, 8 8-bit, partial       */
+#define ASI_PST8_S             0xc1 /* Secondary, 8 8-bit, partial     */
+#define ASI_PST16_P            0xc2 /* Primary, 4 16-bit, partial      */
+#define ASI_PST16_S            0xc3 /* Secondary, 4 16-bit, partial    */
+#define ASI_PST32_P            0xc4 /* Primary, 2 32-bit, partial      */
+#define ASI_PST32_S            0xc5 /* Secondary, 2 32-bit, partial    */
+#define ASI_PST8_PL            0xc8 /* Primary, 8 8-bit, partial, L    */
+#define ASI_PST8_SL            0xc9 /* Secondary, 8 8-bit, partial, L  */
+#define ASI_PST16_PL           0xca /* Primary, 4 16-bit, partial, L   */
+#define ASI_PST16_SL           0xcb /* Secondary, 4 16-bit, partial, L */
+#define ASI_PST32_PL           0xcc /* Primary, 2 32-bit, partial, L   */
+#define ASI_PST32_SL           0xcd /* Secondary, 2 32-bit, partial, L */
+#define ASI_FL8_P              0xd0 /* Primary, 1 8-bit, fpu ld/st     */
+#define ASI_FL8_S              0xd1 /* Secondary, 1 8-bit, fpu ld/st   */
+#define ASI_FL16_P             0xd2 /* Primary, 1 16-bit, fpu ld/st    */
+#define ASI_FL16_S             0xd3 /* Secondary, 1 16-bit, fpu ld/st  */
+#define ASI_FL8_PL             0xd8 /* Primary, 1 8-bit, fpu ld/st, L  */
+#define ASI_FL8_SL             0xd9 /* Secondary, 1 8-bit, fpu ld/st, L*/
+#define ASI_FL16_PL            0xda /* Primary, 1 16-bit, fpu ld/st, L */
+#define ASI_FL16_SL            0xdb /* Secondary, 1 16-bit, fpu ld/st,L*/
+#define ASI_BLK_COMMIT_P       0xe0 /* Primary, blk store commit       */
+#define ASI_BLK_COMMIT_S       0xe1 /* Secondary, blk store commit     */
+#define ASI_BLK_INIT_QUAD_LDD_P        0xe2 /* (NG) init-store, twin load,
+                                     * primary, implicit
+                                     */
+#define ASI_BLK_INIT_QUAD_LDD_S        0xe3 /* (NG) init-store, twin load,
+                                     * secondary, implicit
+                                     */
+#define ASI_BLK_P              0xf0 /* Primary, blk ld/st              */
+#define ASI_BLK_S              0xf1 /* Secondary, blk ld/st            */
+#define ASI_ST_BLKINIT_MRU_P   0xf2 /* (NG4) init-store, twin load,
+                                     * Most-Recently-Used, primary,
+                                     * implicit
+                                     */
+#define ASI_ST_BLKINIT_MRU_S   0xf2 /* (NG4) init-store, twin load,
+                                     * Most-Recently-Used, secondary,
+                                     * implicit
+                                     */
+#define ASI_BLK_PL             0xf8 /* Primary, blk ld/st, little      */
+#define ASI_BLK_SL             0xf9 /* Secondary, blk ld/st, little    */
+#define ASI_ST_BLKINIT_MRU_PL  0xfa /* (NG4) init-store, twin load,
+                                     * Most-Recently-Used, primary,
+                                     * implicit, little-endian
+                                     */
+#define ASI_ST_BLKINIT_MRU_SL  0xfb /* (NG4) init-store, twin load,
+                                     * Most-Recently-Used, secondary,
+                                     * implicit, little-endian
+                                     */
+
+#endif /* _SPARC_ASI_H */
diff --git a/arch/sparc/include/uapi/asm/auxvec.h b/arch/sparc/include/uapi/asm/auxvec.h
new file mode 100644 (file)
index 0000000..ad6f360
--- /dev/null
@@ -0,0 +1,4 @@
+#ifndef __ASMSPARC_AUXVEC_H
+#define __ASMSPARC_AUXVEC_H
+
+#endif /* !(__ASMSPARC_AUXVEC_H) */
diff --git a/arch/sparc/include/uapi/asm/bitsperlong.h b/arch/sparc/include/uapi/asm/bitsperlong.h
new file mode 100644 (file)
index 0000000..40dcaa3
--- /dev/null
@@ -0,0 +1,13 @@
+#ifndef __ASM_ALPHA_BITSPERLONG_H
+#define __ASM_ALPHA_BITSPERLONG_H
+
+#if defined(__sparc__) && defined(__arch64__)
+#define __BITS_PER_LONG 64
+#else
+#define __BITS_PER_LONG 32
+#endif
+
+#include <asm-generic/bitsperlong.h>
+
+#endif /* __ASM_ALPHA_BITSPERLONG_H */
+
diff --git a/arch/sparc/include/uapi/asm/byteorder.h b/arch/sparc/include/uapi/asm/byteorder.h
new file mode 100644 (file)
index 0000000..ccc1b6b
--- /dev/null
@@ -0,0 +1,6 @@
+#ifndef _SPARC_BYTEORDER_H
+#define _SPARC_BYTEORDER_H
+
+#include <linux/byteorder/big_endian.h>
+
+#endif /* _SPARC_BYTEORDER_H */
diff --git a/arch/sparc/include/uapi/asm/display7seg.h b/arch/sparc/include/uapi/asm/display7seg.h
new file mode 100644 (file)
index 0000000..86d4a90
--- /dev/null
@@ -0,0 +1,79 @@
+/*
+ *
+ * display7seg - Driver interface for the 7-segment display
+ * present on Sun Microsystems CP1400 and CP1500
+ *
+ * Copyright (c) 2000 Eric Brower <ebrower@usa.net>
+ *
+ */
+
+#ifndef __display7seg_h__
+#define __display7seg_h__
+
+#define D7S_IOC        'p'
+
+#define D7SIOCRD _IOR(D7S_IOC, 0x45, int)      /* Read device state    */
+#define D7SIOCWR _IOW(D7S_IOC, 0x46, int)      /* Write device state   */
+#define D7SIOCTM _IO (D7S_IOC, 0x47)           /* Translate mode (FLIP)*/
+
+/*
+ * ioctl flag definitions
+ *
+ * POINT       - Toggle decimal point  (0=absent 1=present)
+ * ALARM       - Toggle alarm LED              (0=green  1=red)
+ * FLIP                - Toggle inverted mode  (0=normal 1=flipped)
+ * bits 0-4    - Character displayed   (see definitions below)
+ *
+ * Display segments are defined as follows,
+ * subject to D7S_FLIP register state:
+ *
+ *    a
+ *   ---
+ * f|   |b
+ *   -g-
+ * e|   |c
+ *   ---
+ *    d
+ */
+
+#define D7S_POINT      (1 << 7)        /* Decimal point*/
+#define D7S_ALARM      (1 << 6)        /* Alarm LED    */
+#define D7S_FLIP       (1 << 5)        /* Flip display */
+
+#define D7S_0          0x00            /* Numerals 0-9 */
+#define D7S_1          0x01
+#define D7S_2          0x02
+#define D7S_3          0x03
+#define D7S_4          0x04
+#define D7S_5          0x05
+#define D7S_6          0x06
+#define D7S_7          0x07
+#define D7S_8          0x08
+#define D7S_9          0x09
+#define D7S_A          0x0A            /* Letters A-F, H, L, P */
+#define D7S_B          0x0B
+#define D7S_C          0x0C
+#define D7S_D          0x0D
+#define D7S_E          0x0E
+#define D7S_F          0x0F
+#define D7S_H          0x10
+#define D7S_E2         0x11
+#define D7S_L          0x12
+#define D7S_P          0x13
+#define D7S_SEGA       0x14            /* Individual segments */
+#define D7S_SEGB       0x15
+#define D7S_SEGC       0x16
+#define D7S_SEGD       0x17
+#define D7S_SEGE       0x18
+#define D7S_SEGF       0x19
+#define D7S_SEGG       0x1A
+#define D7S_SEGABFG 0x1B               /* Segment groupings */
+#define D7S_SEGCDEG    0x1C
+#define D7S_SEGBCEF 0x1D
+#define D7S_SEGADG     0x1E
+#define D7S_BLANK      0x1F            /* Clear all segments */
+
+#define D7S_MIN_VAL    0x0
+#define D7S_MAX_VAL    0x1F
+
+#endif /* ifndef __display7seg_h__ */
diff --git a/arch/sparc/include/uapi/asm/envctrl.h b/arch/sparc/include/uapi/asm/envctrl.h
new file mode 100644 (file)
index 0000000..624fa7e
--- /dev/null
@@ -0,0 +1,103 @@
+/*
+ *
+ * envctrl.h: Definitions for access to the i2c environment
+ *            monitoring on Ultrasparc systems.
+ *
+ * Copyright (C) 1998  Eddie C. Dost  (ecd@skynet.be)
+ * Copyright (C) 2000  Vinh Truong  (vinh.truong@eng.sun.com)
+ * VT - Add all ioctl commands and environment status definitions
+ * VT - Add application note
+ */
+#ifndef _SPARC64_ENVCTRL_H
+#define _SPARC64_ENVCTRL_H 1
+
+#include <linux/ioctl.h>
+
+/* Application note:
+ *
+ * The driver supports 4 operations: open(), close(), ioctl(), read()
+ * The device name is /dev/envctrl.
+ * Below is sample usage:
+ *
+ *     fd = open("/dev/envtrl", O_RDONLY);
+ *     if (ioctl(fd, ENVCTRL_READ_SHUTDOWN_TEMPERATURE, 0) < 0)
+ *             printf("error\n");
+ *     ret = read(fd, buf, 10);
+ *     close(fd);
+ *
+ * Notice in the case of cpu voltage and temperature, the default is
+ * cpu0.  If we need to know the info of cpu1, cpu2, cpu3, we need to
+ * pass in cpu number in ioctl() last parameter.  For example, to
+ * get the voltage of cpu2:
+ *
+ *     ioctlbuf[0] = 2;
+ *     if (ioctl(fd, ENVCTRL_READ_CPU_VOLTAGE, ioctlbuf) < 0)
+ *             printf("error\n");
+ *     ret = read(fd, buf, 10);
+ *
+ * All the return values are in ascii.  So check read return value
+ * and do appropriate conversions in your application.
+ */
+
+/* IOCTL commands */
+
+/* Note: these commands reflect possible monitor features.
+ * Some boards choose to support some of the features only.
+ */
+#define ENVCTRL_RD_CPU_TEMPERATURE     _IOR('p', 0x40, int)
+#define ENVCTRL_RD_CPU_VOLTAGE         _IOR('p', 0x41, int)
+#define ENVCTRL_RD_FAN_STATUS          _IOR('p', 0x42, int)
+#define ENVCTRL_RD_WARNING_TEMPERATURE _IOR('p', 0x43, int)
+#define ENVCTRL_RD_SHUTDOWN_TEMPERATURE        _IOR('p', 0x44, int)
+#define ENVCTRL_RD_VOLTAGE_STATUS      _IOR('p', 0x45, int)
+#define ENVCTRL_RD_SCSI_TEMPERATURE    _IOR('p', 0x46, int)
+#define ENVCTRL_RD_ETHERNET_TEMPERATURE        _IOR('p', 0x47, int)
+#define ENVCTRL_RD_MTHRBD_TEMPERATURE  _IOR('p', 0x48, int)
+
+#define ENVCTRL_RD_GLOBALADDRESS       _IOR('p', 0x49, int)
+
+/* Read return values for a voltage status request. */
+#define ENVCTRL_VOLTAGE_POWERSUPPLY_GOOD       0x01
+#define ENVCTRL_VOLTAGE_BAD                    0x02
+#define ENVCTRL_POWERSUPPLY_BAD                        0x03
+#define ENVCTRL_VOLTAGE_POWERSUPPLY_BAD                0x04
+
+/* Read return values for a fan status request.
+ * A failure match means either the fan fails or
+ * the fan is not connected.  Some boards have optional
+ * connectors to connect extra fans.
+ *
+ * There are maximum 8 monitor fans.  Some are cpu fans
+ * some are system fans.  The mask below only indicates
+ * fan by order number.
+ * Below is a sample application:
+ *
+ *     if (ioctl(fd, ENVCTRL_READ_FAN_STATUS, 0) < 0) {
+ *             printf("ioctl fan failed\n");
+ *     }
+ *     if (read(fd, rslt, 1) <= 0) {
+ *             printf("error or fan not monitored\n");
+ *     } else {
+ *             if (rslt[0] == ENVCTRL_ALL_FANS_GOOD) {
+ *                     printf("all fans good\n");
+ *     } else if (rslt[0] == ENVCTRL_ALL_FANS_BAD) {
+ *             printf("all fans bad\n");
+ *     } else {
+ *             if (rslt[0] & ENVCTRL_FAN0_FAILURE_MASK) {
+ *                     printf("fan 0 failed or not connected\n");
+ *     }
+ *     ......
+ */
+
+#define ENVCTRL_ALL_FANS_GOOD                  0x00
+#define ENVCTRL_FAN0_FAILURE_MASK              0x01
+#define ENVCTRL_FAN1_FAILURE_MASK              0x02
+#define ENVCTRL_FAN2_FAILURE_MASK              0x04
+#define ENVCTRL_FAN3_FAILURE_MASK              0x08
+#define ENVCTRL_FAN4_FAILURE_MASK              0x10
+#define ENVCTRL_FAN5_FAILURE_MASK              0x20
+#define ENVCTRL_FAN6_FAILURE_MASK              0x40
+#define ENVCTRL_FAN7_FAILURE_MASK              0x80
+#define ENVCTRL_ALL_FANS_BAD                   0xFF
+
+#endif /* !(_SPARC64_ENVCTRL_H) */
diff --git a/arch/sparc/include/uapi/asm/errno.h b/arch/sparc/include/uapi/asm/errno.h
new file mode 100644 (file)
index 0000000..c351aba
--- /dev/null
@@ -0,0 +1,117 @@
+#ifndef _SPARC_ERRNO_H
+#define _SPARC_ERRNO_H
+
+/* These match the SunOS error numbering scheme. */
+
+#include <asm-generic/errno-base.h>
+
+#define        EWOULDBLOCK     EAGAIN  /* Operation would block */
+#define        EINPROGRESS     36      /* Operation now in progress */
+#define        EALREADY        37      /* Operation already in progress */
+#define        ENOTSOCK        38      /* Socket operation on non-socket */
+#define        EDESTADDRREQ    39      /* Destination address required */
+#define        EMSGSIZE        40      /* Message too long */
+#define        EPROTOTYPE      41      /* Protocol wrong type for socket */
+#define        ENOPROTOOPT     42      /* Protocol not available */
+#define        EPROTONOSUPPORT 43      /* Protocol not supported */
+#define        ESOCKTNOSUPPORT 44      /* Socket type not supported */
+#define        EOPNOTSUPP      45      /* Op not supported on transport endpoint */
+#define        EPFNOSUPPORT    46      /* Protocol family not supported */
+#define        EAFNOSUPPORT    47      /* Address family not supported by protocol */
+#define        EADDRINUSE      48      /* Address already in use */
+#define        EADDRNOTAVAIL   49      /* Cannot assign requested address */
+#define        ENETDOWN        50      /* Network is down */
+#define        ENETUNREACH     51      /* Network is unreachable */
+#define        ENETRESET       52      /* Net dropped connection because of reset */
+#define        ECONNABORTED    53      /* Software caused connection abort */
+#define        ECONNRESET      54      /* Connection reset by peer */
+#define        ENOBUFS         55      /* No buffer space available */
+#define        EISCONN         56      /* Transport endpoint is already connected */
+#define        ENOTCONN        57      /* Transport endpoint is not connected */
+#define        ESHUTDOWN       58      /* No send after transport endpoint shutdown */
+#define        ETOOMANYREFS    59      /* Too many references: cannot splice */
+#define        ETIMEDOUT       60      /* Connection timed out */
+#define        ECONNREFUSED    61      /* Connection refused */
+#define        ELOOP           62      /* Too many symbolic links encountered */
+#define        ENAMETOOLONG    63      /* File name too long */
+#define        EHOSTDOWN       64      /* Host is down */
+#define        EHOSTUNREACH    65      /* No route to host */
+#define        ENOTEMPTY       66      /* Directory not empty */
+#define EPROCLIM        67      /* SUNOS: Too many processes */
+#define        EUSERS          68      /* Too many users */
+#define        EDQUOT          69      /* Quota exceeded */
+#define        ESTALE          70      /* Stale NFS file handle */
+#define        EREMOTE         71      /* Object is remote */
+#define        ENOSTR          72      /* Device not a stream */
+#define        ETIME           73      /* Timer expired */
+#define        ENOSR           74      /* Out of streams resources */
+#define        ENOMSG          75      /* No message of desired type */
+#define        EBADMSG         76      /* Not a data message */
+#define        EIDRM           77      /* Identifier removed */
+#define        EDEADLK         78      /* Resource deadlock would occur */
+#define        ENOLCK          79      /* No record locks available */
+#define        ENONET          80      /* Machine is not on the network */
+#define ERREMOTE        81      /* SunOS: Too many lvls of remote in path */
+#define        ENOLINK         82      /* Link has been severed */
+#define        EADV            83      /* Advertise error */
+#define        ESRMNT          84      /* Srmount error */
+#define        ECOMM           85      /* Communication error on send */
+#define        EPROTO          86      /* Protocol error */
+#define        EMULTIHOP       87      /* Multihop attempted */
+#define        EDOTDOT         88      /* RFS specific error */
+#define        EREMCHG         89      /* Remote address changed */
+#define        ENOSYS          90      /* Function not implemented */
+
+/* The rest have no SunOS equivalent. */
+#define        ESTRPIPE        91      /* Streams pipe error */
+#define        EOVERFLOW       92      /* Value too large for defined data type */
+#define        EBADFD          93      /* File descriptor in bad state */
+#define        ECHRNG          94      /* Channel number out of range */
+#define        EL2NSYNC        95      /* Level 2 not synchronized */
+#define        EL3HLT          96      /* Level 3 halted */
+#define        EL3RST          97      /* Level 3 reset */
+#define        ELNRNG          98      /* Link number out of range */
+#define        EUNATCH         99      /* Protocol driver not attached */
+#define        ENOCSI          100     /* No CSI structure available */
+#define        EL2HLT          101     /* Level 2 halted */
+#define        EBADE           102     /* Invalid exchange */
+#define        EBADR           103     /* Invalid request descriptor */
+#define        EXFULL          104     /* Exchange full */
+#define        ENOANO          105     /* No anode */
+#define        EBADRQC         106     /* Invalid request code */
+#define        EBADSLT         107     /* Invalid slot */
+#define        EDEADLOCK       108     /* File locking deadlock error */
+#define        EBFONT          109     /* Bad font file format */
+#define        ELIBEXEC        110     /* Cannot exec a shared library directly */
+#define        ENODATA         111     /* No data available */
+#define        ELIBBAD         112     /* Accessing a corrupted shared library */
+#define        ENOPKG          113     /* Package not installed */
+#define        ELIBACC         114     /* Can not access a needed shared library */
+#define        ENOTUNIQ        115     /* Name not unique on network */
+#define        ERESTART        116     /* Interrupted syscall should be restarted */
+#define        EUCLEAN         117     /* Structure needs cleaning */
+#define        ENOTNAM         118     /* Not a XENIX named type file */
+#define        ENAVAIL         119     /* No XENIX semaphores available */
+#define        EISNAM          120     /* Is a named type file */
+#define        EREMOTEIO       121     /* Remote I/O error */
+#define        EILSEQ          122     /* Illegal byte sequence */
+#define        ELIBMAX         123     /* Atmpt to link in too many shared libs */
+#define        ELIBSCN         124     /* .lib section in a.out corrupted */
+
+#define        ENOMEDIUM       125     /* No medium found */
+#define        EMEDIUMTYPE     126     /* Wrong medium type */
+#define        ECANCELED       127     /* Operation Cancelled */
+#define        ENOKEY          128     /* Required key not available */
+#define        EKEYEXPIRED     129     /* Key has expired */
+#define        EKEYREVOKED     130     /* Key has been revoked */
+#define        EKEYREJECTED    131     /* Key was rejected by service */
+
+/* for robust mutexes */
+#define        EOWNERDEAD      132     /* Owner died */
+#define        ENOTRECOVERABLE 133     /* State not recoverable */
+
+#define        ERFKILL         134     /* Operation not possible due to RF-kill */
+
+#define EHWPOISON      135     /* Memory page has hardware error */
+
+#endif
diff --git a/arch/sparc/include/uapi/asm/fbio.h b/arch/sparc/include/uapi/asm/fbio.h
new file mode 100644 (file)
index 0000000..d6cea07
--- /dev/null
@@ -0,0 +1,259 @@
+#ifndef _UAPI__LINUX_FBIO_H
+#define _UAPI__LINUX_FBIO_H
+
+#include <linux/compiler.h>
+#include <linux/types.h>
+
+/* Constants used for fbio SunOS compatibility */
+/* (C) 1996 Miguel de Icaza */
+
+/* Frame buffer types */
+#define FBTYPE_NOTYPE           -1
+#define FBTYPE_SUN1BW           0   /* mono */
+#define FBTYPE_SUN1COLOR        1 
+#define FBTYPE_SUN2BW           2 
+#define FBTYPE_SUN2COLOR        3 
+#define FBTYPE_SUN2GP           4 
+#define FBTYPE_SUN5COLOR        5 
+#define FBTYPE_SUN3COLOR        6 
+#define FBTYPE_MEMCOLOR         7 
+#define FBTYPE_SUN4COLOR        8 
+#define FBTYPE_NOTSUN1          9 
+#define FBTYPE_NOTSUN2          10
+#define FBTYPE_NOTSUN3          11
+#define FBTYPE_SUNFAST_COLOR    12  /* cg6 */
+#define FBTYPE_SUNROP_COLOR     13
+#define FBTYPE_SUNFB_VIDEO      14
+#define FBTYPE_SUNGIFB          15
+#define FBTYPE_SUNGPLAS         16
+#define FBTYPE_SUNGP3           17
+#define FBTYPE_SUNGT            18
+#define FBTYPE_SUNLEO           19      /* zx Leo card */
+#define FBTYPE_MDICOLOR         20      /* cg14 */
+#define FBTYPE_TCXCOLOR                21      /* SUNW,tcx card */
+
+#define FBTYPE_LASTPLUSONE      21     /* This is not last + 1 in fact... */
+
+/* Does not seem to be listed in the Sun file either */
+#define FBTYPE_CREATOR          22
+#define FBTYPE_PCI_IGA1682     23
+#define FBTYPE_P9100COLOR      24
+
+#define FBTYPE_PCI_GENERIC     1000
+#define FBTYPE_PCI_MACH64      1001
+
+/* fbio ioctls */
+/* Returned by FBIOGTYPE */
+struct  fbtype {
+        int     fb_type;        /* fb type, see above */
+        int     fb_height;      /* pixels */
+        int     fb_width;       /* pixels */
+        int     fb_depth;
+        int     fb_cmsize;      /* color map entries */
+        int     fb_size;        /* fb size in bytes */
+};
+#define FBIOGTYPE _IOR('F', 0, struct fbtype)
+
+struct  fbcmap {
+        int             index;          /* first element (0 origin) */
+        int             count;
+        unsigned char   __user *red;
+        unsigned char   __user *green;
+        unsigned char   __user *blue;
+};
+
+#ifndef __KERNEL__
+#define FBIOPUTCMAP _IOW('F', 3, struct fbcmap)
+#define FBIOGETCMAP _IOW('F', 4, struct fbcmap)
+#endif
+
+/* # of device specific values */
+#define FB_ATTR_NDEVSPECIFIC    8
+/* # of possible emulations */
+#define FB_ATTR_NEMUTYPES       4
+struct fbsattr {
+        int     flags;
+        int     emu_type;      /* -1 if none */
+        int     dev_specific[FB_ATTR_NDEVSPECIFIC];
+};
+struct fbgattr {
+        int     real_type;     /* real frame buffer type */
+        int     owner;         /* unknown */
+        struct fbtype fbtype;  /* real frame buffer fbtype */
+        struct fbsattr sattr;   
+        int     emu_types[FB_ATTR_NEMUTYPES]; /* supported emulations */
+};
+#define FBIOSATTR  _IOW('F', 5, struct fbgattr) /* Unsupported: */
+#define FBIOGATTR  _IOR('F', 6, struct fbgattr)        /* supported */
+
+#define FBIOSVIDEO _IOW('F', 7, int)
+#define FBIOGVIDEO _IOR('F', 8, int)
+
+struct fbcursor {
+        short set;              /* what to set, choose from the list above */
+        short enable;           /* cursor on/off */
+        struct fbcurpos pos;    /* cursor position */
+        struct fbcurpos hot;    /* cursor hot spot */
+        struct fbcmap cmap;     /* color map info */
+        struct fbcurpos size;   /* cursor bit map size */
+        char __user *image;     /* cursor image bits */
+        char __user *mask;      /* cursor mask bits */
+};
+
+/* set/get cursor attributes/shape */
+#define FBIOSCURSOR     _IOW('F', 24, struct fbcursor)
+#define FBIOGCURSOR     _IOWR('F', 25, struct fbcursor)
+/* set/get cursor position */
+#define FBIOSCURPOS     _IOW('F', 26, struct fbcurpos)
+#define FBIOGCURPOS     _IOW('F', 27, struct fbcurpos)
+/* get max cursor size */
+#define FBIOGCURMAX     _IOR('F', 28, struct fbcurpos)
+
+/* wid manipulation */
+struct fb_wid_alloc {
+#define FB_WID_SHARED_8                0
+#define FB_WID_SHARED_24       1
+#define FB_WID_DBL_8           2
+#define FB_WID_DBL_24          3
+       __u32   wa_type;
+       __s32   wa_index;       /* Set on return */
+       __u32   wa_count;       
+};
+struct fb_wid_item {
+       __u32   wi_type;
+       __s32   wi_index;
+       __u32   wi_attrs;
+       __u32   wi_values[32];
+};
+struct fb_wid_list {
+       __u32   wl_flags;
+       __u32   wl_count;
+       struct fb_wid_item      *wl_list;
+};
+
+#define FBIO_WID_ALLOC _IOWR('F', 30, struct fb_wid_alloc)
+#define FBIO_WID_FREE  _IOW('F', 31, struct fb_wid_alloc)
+#define FBIO_WID_PUT   _IOW('F', 32, struct fb_wid_list)
+#define FBIO_WID_GET   _IOWR('F', 33, struct fb_wid_list)
+
+/* Creator ioctls */
+#define FFB_IOCTL      ('F'<<8)
+#define FFB_SYS_INFO           (FFB_IOCTL|80)
+#define FFB_CLUTREAD           (FFB_IOCTL|81)
+#define FFB_CLUTPOST           (FFB_IOCTL|82)
+#define FFB_SETDIAGMODE                (FFB_IOCTL|83)
+#define FFB_GETMONITORID       (FFB_IOCTL|84)
+#define FFB_GETVIDEOMODE       (FFB_IOCTL|85)
+#define FFB_SETVIDEOMODE       (FFB_IOCTL|86)
+#define FFB_SETSERVER          (FFB_IOCTL|87)
+#define FFB_SETOVCTL           (FFB_IOCTL|88)
+#define FFB_GETOVCTL           (FFB_IOCTL|89)
+#define FFB_GETSAXNUM          (FFB_IOCTL|90)
+#define FFB_FBDEBUG            (FFB_IOCTL|91)
+
+/* Cg14 ioctls */
+#define MDI_IOCTL          ('M'<<8)
+#define MDI_RESET          (MDI_IOCTL|1)
+#define MDI_GET_CFGINFO    (MDI_IOCTL|2)
+#define MDI_SET_PIXELMODE  (MDI_IOCTL|3)
+#    define MDI_32_PIX     32
+#    define MDI_16_PIX     16
+#    define MDI_8_PIX      8
+
+struct mdi_cfginfo {
+       int     mdi_ncluts;     /* Number of implemented CLUTs in this MDI */
+        int     mdi_type;       /* FBTYPE name */
+        int     mdi_height;     /* height */
+        int     mdi_width;      /* width */
+        int     mdi_size;       /* available ram */
+        int     mdi_mode;       /* 8bpp, 16bpp or 32bpp */
+        int     mdi_pixfreq;    /* pixel clock (from PROM) */
+};
+
+/* SparcLinux specific ioctl for the MDI, should be replaced for
+ * the SET_XLUT/SET_CLUTn ioctls instead
+ */
+#define MDI_CLEAR_XLUT       (MDI_IOCTL|9)
+
+/* leo & ffb ioctls */
+struct fb_clut_alloc {
+       __u32   clutid; /* Set on return */
+       __u32   flag;
+       __u32   index;
+};
+
+struct fb_clut {
+#define FB_CLUT_WAIT   0x00000001      /* Not yet implemented */
+       __u32   flag;
+       __u32   clutid;
+       __u32   offset;
+       __u32   count;
+       char *  red;
+       char *  green;
+       char *  blue;
+};
+
+struct fb_clut32 {
+       __u32   flag;
+       __u32   clutid;
+       __u32   offset;
+       __u32   count;
+       __u32   red;
+       __u32   green;
+       __u32   blue;
+};
+
+#define LEO_CLUTALLOC  _IOWR('L', 53, struct fb_clut_alloc)
+#define LEO_CLUTFREE   _IOW('L', 54, struct fb_clut_alloc)
+#define LEO_CLUTREAD   _IOW('L', 55, struct fb_clut)
+#define LEO_CLUTPOST   _IOW('L', 56, struct fb_clut)
+#define LEO_SETGAMMA   _IOW('L', 68, int) /* Not yet implemented */
+#define LEO_GETGAMMA   _IOR('L', 69, int) /* Not yet implemented */
+
+
+/* These are exported to userland for applications to use */
+/* Mappable offsets for the cg14: control registers */
+#define MDI_DIRECT_MAP 0x10000000
+#define MDI_CTLREG_MAP 0x20000000
+#define MDI_CURSOR_MAP 0x30000000
+#define MDI_SHDW_VRT_MAP 0x40000000
+
+/* Mappable offsets for the cg14: frame buffer resolutions */
+/* 32 bits */
+#define MDI_CHUNKY_XBGR_MAP 0x50000000
+#define MDI_CHUNKY_BGR_MAP 0x60000000
+
+/* 16 bits */
+#define MDI_PLANAR_X16_MAP 0x70000000
+#define MDI_PLANAR_C16_MAP 0x80000000
+
+/* 8 bit is done as CG3 MMAP offset */
+/* 32 bits, planar */
+#define MDI_PLANAR_X32_MAP 0x90000000
+#define MDI_PLANAR_B32_MAP 0xa0000000
+#define MDI_PLANAR_G32_MAP 0xb0000000
+#define MDI_PLANAR_R32_MAP 0xc0000000
+
+/* Mappable offsets on leo */
+#define LEO_SS0_MAP            0x00000000
+#define LEO_LC_SS0_USR_MAP     0x00800000
+#define LEO_LD_SS0_MAP         0x00801000
+#define LEO_LX_CURSOR_MAP      0x00802000
+#define LEO_SS1_MAP            0x00803000
+#define LEO_LC_SS1_USR_MAP     0x01003000
+#define LEO_LD_SS1_MAP         0x01004000
+#define LEO_UNK_MAP            0x01005000
+#define LEO_LX_KRN_MAP         0x01006000
+#define LEO_LC_SS0_KRN_MAP     0x01007000
+#define LEO_LC_SS1_KRN_MAP     0x01008000
+#define LEO_LD_GBL_MAP         0x01009000
+#define LEO_UNK2_MAP           0x0100a000
+
+
+#endif /* _UAPI__LINUX_FBIO_H */
diff --git a/arch/sparc/include/uapi/asm/fcntl.h b/arch/sparc/include/uapi/asm/fcntl.h
new file mode 100644 (file)
index 0000000..d0b83f6
--- /dev/null
@@ -0,0 +1,55 @@
+#ifndef _SPARC_FCNTL_H
+#define _SPARC_FCNTL_H
+
+#define O_APPEND       0x0008
+#define FASYNC         0x0040  /* fcntl, for BSD compatibility */
+#define O_CREAT                0x0200  /* not fcntl */
+#define O_TRUNC                0x0400  /* not fcntl */
+#define O_EXCL         0x0800  /* not fcntl */
+#define O_DSYNC                0x2000  /* used to be O_SYNC, see below */
+#define O_NONBLOCK     0x4000
+#if defined(__sparc__) && defined(__arch64__)
+#define O_NDELAY       0x0004
+#else
+#define O_NDELAY       (0x0004 | O_NONBLOCK)
+#endif
+#define O_NOCTTY       0x8000  /* not fcntl */
+#define O_LARGEFILE    0x40000
+#define O_DIRECT        0x100000 /* direct disk access hint */
+#define O_NOATIME      0x200000
+#define O_CLOEXEC      0x400000
+/*
+ * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using
+ * the O_SYNC flag.  We continue to use the existing numerical value
+ * for O_DSYNC semantics now, but using the correct symbolic name for it.
+ * This new value is used to request true Posix O_SYNC semantics.  It is
+ * defined in this strange way to make sure applications compiled against
+ * new headers get at least O_DSYNC semantics on older kernels.
+ *
+ * This has the nice side-effect that we can simply test for O_DSYNC
+ * wherever we do not care if O_DSYNC or O_SYNC is used.
+ *
+ * Note: __O_SYNC must never be used directly.
+ */
+#define __O_SYNC       0x800000
+#define O_SYNC         (__O_SYNC|O_DSYNC)
+
+#define O_PATH         0x1000000
+
+#define F_GETOWN       5       /*  for sockets. */
+#define F_SETOWN       6       /*  for sockets. */
+#define F_GETLK                7
+#define F_SETLK                8
+#define F_SETLKW       9
+
+/* for posix fcntl() and lockf() */
+#define F_RDLCK                1
+#define F_WRLCK                2
+#define F_UNLCK                3
+
+#define __ARCH_FLOCK_PAD       short __unused;
+#define __ARCH_FLOCK64_PAD     short __unused;
+
+#include <asm-generic/fcntl.h>
+
+#endif
diff --git a/arch/sparc/include/uapi/asm/ioctl.h b/arch/sparc/include/uapi/asm/ioctl.h
new file mode 100644 (file)
index 0000000..7d6bd51
--- /dev/null
@@ -0,0 +1,67 @@
+#ifndef _SPARC_IOCTL_H
+#define _SPARC_IOCTL_H
+
+/*
+ * Our DIR and SIZE overlap in order to simulteneously provide
+ * a non-zero _IOC_NONE (for binary compatibility) and
+ * 14 bits of size as on i386. Here's the layout:
+ *
+ *   0xE0000000   DIR
+ *   0x80000000     DIR = WRITE
+ *   0x40000000     DIR = READ
+ *   0x20000000     DIR = NONE
+ *   0x3FFF0000   SIZE (overlaps NONE bit)
+ *   0x0000FF00   TYPE
+ *   0x000000FF   NR (CMD)
+ */
+
+#define _IOC_NRBITS      8
+#define _IOC_TYPEBITS    8
+#define _IOC_SIZEBITS   13     /* Actually 14, see below. */
+#define _IOC_DIRBITS     3
+
+#define _IOC_NRMASK      ((1 << _IOC_NRBITS)-1)
+#define _IOC_TYPEMASK    ((1 << _IOC_TYPEBITS)-1)
+#define _IOC_SIZEMASK    ((1 << _IOC_SIZEBITS)-1)
+#define _IOC_XSIZEMASK   ((1 << (_IOC_SIZEBITS+1))-1)
+#define _IOC_DIRMASK     ((1 << _IOC_DIRBITS)-1)
+
+#define _IOC_NRSHIFT     0
+#define _IOC_TYPESHIFT   (_IOC_NRSHIFT + _IOC_NRBITS)
+#define _IOC_SIZESHIFT   (_IOC_TYPESHIFT + _IOC_TYPEBITS)
+#define _IOC_DIRSHIFT    (_IOC_SIZESHIFT + _IOC_SIZEBITS)
+
+#define _IOC_NONE        1U
+#define _IOC_READ        2U
+#define _IOC_WRITE       4U
+
+#define _IOC(dir,type,nr,size) \
+        (((dir)  << _IOC_DIRSHIFT) | \
+         ((type) << _IOC_TYPESHIFT) | \
+         ((nr)   << _IOC_NRSHIFT) | \
+         ((size) << _IOC_SIZESHIFT))
+
+#define _IO(type,nr)        _IOC(_IOC_NONE,(type),(nr),0)
+#define _IOR(type,nr,size)  _IOC(_IOC_READ,(type),(nr),sizeof(size))
+#define _IOW(type,nr,size)  _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
+#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
+
+/* Used to decode ioctl numbers in drivers despite the leading underscore... */
+#define _IOC_DIR(nr)    \
+ ( (((((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) & (_IOC_WRITE|_IOC_READ)) != 0)?   \
+                            (((nr) >> _IOC_DIRSHIFT) & (_IOC_WRITE|_IOC_READ)):  \
+                            (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) )
+#define _IOC_TYPE(nr)       (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
+#define _IOC_NR(nr)         (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
+#define _IOC_SIZE(nr)   \
+ ((((((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) & (_IOC_WRITE|_IOC_READ)) == 0)?    \
+                         0: (((nr) >> _IOC_SIZESHIFT) & _IOC_XSIZEMASK))
+
+/* ...and for the PCMCIA and sound. */
+#define IOC_IN          (_IOC_WRITE << _IOC_DIRSHIFT)
+#define IOC_OUT         (_IOC_READ << _IOC_DIRSHIFT)
+#define IOC_INOUT       ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
+#define IOCSIZE_MASK    (_IOC_XSIZEMASK << _IOC_SIZESHIFT)
+#define IOCSIZE_SHIFT   (_IOC_SIZESHIFT)
+
+#endif /* !(_SPARC_IOCTL_H) */
diff --git a/arch/sparc/include/uapi/asm/ioctls.h b/arch/sparc/include/uapi/asm/ioctls.h
new file mode 100644 (file)
index 0000000..9155f70
--- /dev/null
@@ -0,0 +1,131 @@
+#ifndef _UAPI_ASM_SPARC_IOCTLS_H
+#define _UAPI_ASM_SPARC_IOCTLS_H
+
+#include <asm/ioctl.h>
+
+/* Big T */
+#define TCGETA         _IOR('T', 1, struct termio)
+#define TCSETA         _IOW('T', 2, struct termio)
+#define TCSETAW                _IOW('T', 3, struct termio)
+#define TCSETAF                _IOW('T', 4, struct termio)
+#define TCSBRK         _IO('T', 5)
+#define TCXONC         _IO('T', 6)
+#define TCFLSH         _IO('T', 7)
+#define TCGETS         _IOR('T', 8, struct termios)
+#define TCSETS         _IOW('T', 9, struct termios)
+#define TCSETSW                _IOW('T', 10, struct termios)
+#define TCSETSF                _IOW('T', 11, struct termios)
+#define TCGETS2                _IOR('T', 12, struct termios2)
+#define TCSETS2                _IOW('T', 13, struct termios2)
+#define TCSETSW2       _IOW('T', 14, struct termios2)
+#define TCSETSF2       _IOW('T', 15, struct termios2)
+#define TIOCGDEV       _IOR('T',0x32, unsigned int) /* Get primary device node of /dev/console */
+#define TIOCVHANGUP    _IO('T', 0x37)
+
+/* Note that all the ioctls that are not available in Linux have a 
+ * double underscore on the front to: a) avoid some programs to
+ * think we support some ioctls under Linux (autoconfiguration stuff)
+ */
+/* Little t */
+#define TIOCGETD       _IOR('t', 0, int)
+#define TIOCSETD       _IOW('t', 1, int)
+#define __TIOCHPCL        _IO('t', 2) /* SunOS Specific */
+#define __TIOCMODG        _IOR('t', 3, int) /* SunOS Specific */
+#define __TIOCMODS        _IOW('t', 4, int) /* SunOS Specific */
+#define __TIOCGETP        _IOR('t', 8, struct sgttyb) /* SunOS Specific */
+#define __TIOCSETP        _IOW('t', 9, struct sgttyb) /* SunOS Specific */
+#define __TIOCSETN        _IOW('t', 10, struct sgttyb) /* SunOS Specific */
+#define TIOCEXCL       _IO('t', 13)
+#define TIOCNXCL       _IO('t', 14)
+#define __TIOCFLUSH       _IOW('t', 16, int) /* SunOS Specific */
+#define __TIOCSETC        _IOW('t', 17, struct tchars) /* SunOS Specific */
+#define __TIOCGETC        _IOR('t', 18, struct tchars) /* SunOS Specific */
+#define __TIOCTCNTL       _IOW('t', 32, int) /* SunOS Specific */
+#define __TIOCSIGNAL      _IOW('t', 33, int) /* SunOS Specific */
+#define __TIOCSETX        _IOW('t', 34, int) /* SunOS Specific */
+#define __TIOCGETX        _IOR('t', 35, int) /* SunOS Specific */
+#define TIOCCONS       _IO('t', 36)
+#define TIOCGSOFTCAR   _IOR('t', 100, int)
+#define TIOCSSOFTCAR   _IOW('t', 101, int)
+#define __TIOCUCNTL       _IOW('t', 102, int) /* SunOS Specific */
+#define TIOCSWINSZ     _IOW('t', 103, struct winsize)
+#define TIOCGWINSZ     _IOR('t', 104, struct winsize)
+#define __TIOCREMOTE      _IOW('t', 105, int) /* SunOS Specific */
+#define TIOCMGET       _IOR('t', 106, int)
+#define TIOCMBIC       _IOW('t', 107, int)
+#define TIOCMBIS       _IOW('t', 108, int)
+#define TIOCMSET       _IOW('t', 109, int)
+#define TIOCSTART       _IO('t', 110)
+#define TIOCSTOP        _IO('t', 111)
+#define TIOCPKT                _IOW('t', 112, int)
+#define TIOCNOTTY      _IO('t', 113)
+#define TIOCSTI                _IOW('t', 114, char)
+#define TIOCOUTQ       _IOR('t', 115, int)
+#define __TIOCGLTC        _IOR('t', 116, struct ltchars) /* SunOS Specific */
+#define __TIOCSLTC        _IOW('t', 117, struct ltchars) /* SunOS Specific */
+/* 118 is the non-posix setpgrp tty ioctl */
+/* 119 is the non-posix getpgrp tty ioctl */
+#define __TIOCCDTR        _IO('t', 120) /* SunOS Specific */
+#define __TIOCSDTR        _IO('t', 121) /* SunOS Specific */
+#define TIOCCBRK        _IO('t', 122)
+#define TIOCSBRK        _IO('t', 123)
+#define __TIOCLGET        _IOW('t', 124, int) /* SunOS Specific */
+#define __TIOCLSET        _IOW('t', 125, int) /* SunOS Specific */
+#define __TIOCLBIC        _IOW('t', 126, int) /* SunOS Specific */
+#define __TIOCLBIS        _IOW('t', 127, int) /* SunOS Specific */
+#define __TIOCISPACE      _IOR('t', 128, int) /* SunOS Specific */
+#define __TIOCISIZE       _IOR('t', 129, int) /* SunOS Specific */
+#define TIOCSPGRP      _IOW('t', 130, int)
+#define TIOCGPGRP      _IOR('t', 131, int)
+#define TIOCSCTTY      _IO('t', 132)
+#define TIOCGSID       _IOR('t', 133, int)
+/* Get minor device of a pty master's FD -- Solaris equiv is ISPTM */
+#define TIOCGPTN       _IOR('t', 134, unsigned int) /* Get Pty Number */
+#define TIOCSPTLCK     _IOW('t', 135, int) /* Lock/unlock PTY */
+#define TIOCSIG                _IOW('t', 136, int) /* Generate signal on Pty slave */
+
+/* Little f */
+#define FIOCLEX                _IO('f', 1)
+#define FIONCLEX       _IO('f', 2)
+#define FIOASYNC       _IOW('f', 125, int)
+#define FIONBIO                _IOW('f', 126, int)
+#define FIONREAD       _IOR('f', 127, int)
+#define TIOCINQ                FIONREAD
+#define FIOQSIZE       _IOR('f', 128, loff_t)
+
+/* SCARY Rutgers local SunOS kernel hackery, perhaps I will support it
+ * someday.  This is completely bogus, I know...
+ */
+#define __TCGETSTAT       _IO('T', 200) /* Rutgers specific */
+#define __TCSETSTAT       _IO('T', 201) /* Rutgers specific */
+
+/* Linux specific, no SunOS equivalent. */
+#define TIOCLINUX      0x541C
+#define TIOCGSERIAL    0x541E
+#define TIOCSSERIAL    0x541F
+#define TCSBRKP                0x5425
+#define TIOCSERCONFIG  0x5453
+#define TIOCSERGWILD   0x5454
+#define TIOCSERSWILD   0x5455
+#define TIOCGLCKTRMIOS 0x5456
+#define TIOCSLCKTRMIOS 0x5457
+#define TIOCSERGSTRUCT 0x5458 /* For debugging only */
+#define TIOCSERGETLSR   0x5459 /* Get line status register */
+#define TIOCSERGETMULTI 0x545A /* Get multiport config  */
+#define TIOCSERSETMULTI 0x545B /* Set multiport config */
+#define TIOCMIWAIT     0x545C /* Wait for change on serial input line(s) */
+#define TIOCGICOUNT    0x545D /* Read serial port inline interrupt counts */
+
+/* Kernel definitions */
+
+/* Used for packet mode */
+#define TIOCPKT_DATA            0
+#define TIOCPKT_FLUSHREAD       1
+#define TIOCPKT_FLUSHWRITE      2
+#define TIOCPKT_STOP            4
+#define TIOCPKT_START           8
+#define TIOCPKT_NOSTOP         16
+#define TIOCPKT_DOSTOP         32
+#define TIOCPKT_IOCTL          64
+
+#endif /* _UAPI_ASM_SPARC_IOCTLS_H */
diff --git a/arch/sparc/include/uapi/asm/ipcbuf.h b/arch/sparc/include/uapi/asm/ipcbuf.h
new file mode 100644 (file)
index 0000000..66013b4
--- /dev/null
@@ -0,0 +1,32 @@
+#ifndef __SPARC_IPCBUF_H
+#define __SPARC_IPCBUF_H
+
+/*
+ * The ipc64_perm structure for sparc/sparc64 architecture.
+ * Note extra padding because this structure is passed back and forth
+ * between kernel and user space.
+ *
+ * Pad space is left for:
+ * - 32-bit seq
+ * - on sparc for 32 bit mode (it is 32 bit on sparc64)
+ * - 2 miscellaneous 64-bit values
+ */
+
+struct ipc64_perm
+{
+       __kernel_key_t  key;
+       __kernel_uid_t  uid;
+       __kernel_gid_t  gid;
+       __kernel_uid_t  cuid;
+       __kernel_gid_t  cgid;
+#ifndef __arch64__
+       unsigned short  __pad0;
+#endif
+       __kernel_mode_t mode;
+       unsigned short  __pad1;
+       unsigned short  seq;
+       unsigned long long __unused1;
+       unsigned long long __unused2;
+};
+
+#endif /* __SPARC_IPCBUF_H */
diff --git a/arch/sparc/include/uapi/asm/jsflash.h b/arch/sparc/include/uapi/asm/jsflash.h
new file mode 100644 (file)
index 0000000..0717d9e
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * jsflash.h: OS Flash SIMM support for JavaStations.
+ *
+ * Copyright (C) 1999  Pete Zaitcev
+ */
+
+#ifndef _SPARC_JSFLASH_H
+#define _SPARC_JSFLASH_H
+
+#ifndef _SPARC_TYPES_H
+#include <linux/types.h>
+#endif
+
+/*
+ * Semantics of the offset is a full address.
+ * Hardcode it or get it from probe ioctl.
+ *
+ * We use full bus address, so that we would be
+ * automatically compatible with possible future systems.
+ */
+
+#define JSFLASH_IDENT   (('F'<<8)|54)
+struct jsflash_ident_arg {
+       __u64 off;                /* 0x20000000 is included */
+       __u32 size;
+       char name[32];          /* With trailing zero */
+};
+
+#define JSFLASH_ERASE   (('F'<<8)|55)
+/* Put 0 as argument, may be flags or sector number... */
+
+#define JSFLASH_PROGRAM (('F'<<8)|56)
+struct jsflash_program_arg {
+       __u64 data;             /* char* for sparc and sparc64 */
+       __u64 off;
+       __u32 size;
+};
+
+#endif /* _SPARC_JSFLASH_H */
diff --git a/arch/sparc/include/uapi/asm/kvm_para.h b/arch/sparc/include/uapi/asm/kvm_para.h
new file mode 100644 (file)
index 0000000..14fab8f
--- /dev/null
@@ -0,0 +1 @@
+#include <asm-generic/kvm_para.h>
diff --git a/arch/sparc/include/uapi/asm/mman.h b/arch/sparc/include/uapi/asm/mman.h
new file mode 100644 (file)
index 0000000..0b14df3
--- /dev/null
@@ -0,0 +1,27 @@
+#ifndef _UAPI__SPARC_MMAN_H__
+#define _UAPI__SPARC_MMAN_H__
+
+#include <asm-generic/mman-common.h>
+
+/* SunOS'ified... */
+
+#define MAP_RENAME      MAP_ANONYMOUS   /* In SunOS terminology */
+#define MAP_NORESERVE   0x40            /* don't reserve swap pages */
+#define MAP_INHERIT     0x80            /* SunOS doesn't do this, but... */
+#define MAP_LOCKED      0x100           /* lock the mapping */
+#define _MAP_NEW        0x80000000      /* Binary compatibility is fun... */
+
+#define MAP_GROWSDOWN  0x0200          /* stack-like segment */
+#define MAP_DENYWRITE  0x0800          /* ETXTBSY */
+#define MAP_EXECUTABLE 0x1000          /* mark it as an executable */
+
+#define MCL_CURRENT     0x2000          /* lock all currently mapped pages */
+#define MCL_FUTURE      0x4000          /* lock all additions to address space */
+
+#define MAP_POPULATE   0x8000          /* populate (prefault) pagetables */
+#define MAP_NONBLOCK   0x10000         /* do not block on IO */
+#define MAP_STACK      0x20000         /* give out an address that is best suited for process/thread stacks */
+#define MAP_HUGETLB    0x40000         /* create a huge page mapping */
+
+
+#endif /* _UAPI__SPARC_MMAN_H__ */
diff --git a/arch/sparc/include/uapi/asm/msgbuf.h b/arch/sparc/include/uapi/asm/msgbuf.h
new file mode 100644 (file)
index 0000000..efc7cbe
--- /dev/null
@@ -0,0 +1,38 @@
+#ifndef _SPARC_MSGBUF_H
+#define _SPARC_MSGBUF_H
+
+/*
+ * The msqid64_ds structure for sparc64 architecture.
+ * Note extra padding because this structure is passed back and forth
+ * between kernel and user space.
+ *
+ * Pad space is left for:
+ * - 64-bit time_t to solve y2038 problem
+ * - 2 miscellaneous 32-bit values
+ */
+
+#if defined(__sparc__) && defined(__arch64__)
+# define PADDING(x)
+#else
+# define PADDING(x) unsigned int x;
+#endif
+
+
+struct msqid64_ds {
+       struct ipc64_perm msg_perm;
+       PADDING(__pad1)
+       __kernel_time_t msg_stime;      /* last msgsnd time */
+       PADDING(__pad2)
+       __kernel_time_t msg_rtime;      /* last msgrcv time */
+       PADDING(__pad3)
+       __kernel_time_t msg_ctime;      /* last change time */
+       unsigned long  msg_cbytes;      /* current number of bytes on queue */
+       unsigned long  msg_qnum;        /* number of messages in queue */
+       unsigned long  msg_qbytes;      /* max number of bytes on queue */
+       __kernel_pid_t msg_lspid;       /* pid of last msgsnd */
+       __kernel_pid_t msg_lrpid;       /* last receive pid */
+       unsigned long  __unused1;
+       unsigned long  __unused2;
+};
+#undef PADDING
+#endif /* _SPARC_MSGBUF_H */
diff --git a/arch/sparc/include/uapi/asm/openpromio.h b/arch/sparc/include/uapi/asm/openpromio.h
new file mode 100644 (file)
index 0000000..917fb8e
--- /dev/null
@@ -0,0 +1,69 @@
+#ifndef        _SPARC_OPENPROMIO_H
+#define        _SPARC_OPENPROMIO_H
+
+#include <linux/compiler.h>
+#include <linux/ioctl.h>
+#include <linux/types.h>
+
+/*
+ * SunOS and Solaris /dev/openprom definitions. The ioctl values
+ * were chosen to be exactly equal to the SunOS equivalents.
+ */
+
+struct openpromio
+{
+       u_int   oprom_size;             /* Actual size of the oprom_array. */
+       char    oprom_array[1];         /* Holds property names and values. */
+};
+
+#define        OPROMMAXPARAM   4096            /* Maximum size of oprom_array. */
+
+#define        OPROMGETOPT             0x20004F01
+#define        OPROMSETOPT             0x20004F02
+#define        OPROMNXTOPT             0x20004F03
+#define        OPROMSETOPT2            0x20004F04
+#define        OPROMNEXT               0x20004F05
+#define        OPROMCHILD              0x20004F06
+#define        OPROMGETPROP            0x20004F07
+#define        OPROMNXTPROP            0x20004F08
+#define        OPROMU2P                0x20004F09
+#define        OPROMGETCONS            0x20004F0A
+#define        OPROMGETFBNAME          0x20004F0B
+#define        OPROMGETBOOTARGS        0x20004F0C
+/* Linux extensions */                         /* Arguments in oprom_array: */
+#define OPROMSETCUR            0x20004FF0      /* int node - Sets current node */
+#define OPROMPCI2NODE          0x20004FF1      /* int pci_bus, pci_devfn - Sets current node to PCI device's node */
+#define OPROMPATH2NODE         0x20004FF2      /* char path[] - Set current node from fully qualified PROM path */
+
+/*
+ * Return values from OPROMGETCONS:
+ */
+
+#define OPROMCONS_NOT_WSCONS    0
+#define OPROMCONS_STDIN_IS_KBD  0x1     /* stdin device is kbd */
+#define OPROMCONS_STDOUT_IS_FB  0x2     /* stdout is a framebuffer */
+#define OPROMCONS_OPENPROM      0x4     /* supports openboot */
+
+
+/*
+ *  NetBSD/OpenBSD /dev/openprom definitions.
+ */
+
+struct opiocdesc
+{
+       int     op_nodeid;              /* PROM Node ID (value-result) */
+       int     op_namelen;             /* Length of op_name. */
+       char    __user *op_name;        /* Pointer to the property name. */
+       int     op_buflen;              /* Length of op_buf (value-result) */
+       char    __user *op_buf;         /* Pointer to buffer. */
+};
+
+#define        OPIOCGET        _IOWR('O', 1, struct opiocdesc)
+#define        OPIOCSET        _IOW('O', 2, struct opiocdesc)
+#define        OPIOCNEXTPROP   _IOWR('O', 3, struct opiocdesc)
+#define        OPIOCGETOPTNODE _IOR('O', 4, int)
+#define        OPIOCGETNEXT    _IOWR('O', 5, int)
+#define        OPIOCGETCHILD   _IOWR('O', 6, int)
+
+#endif /* _SPARC_OPENPROMIO_H */
+
diff --git a/arch/sparc/include/uapi/asm/param.h b/arch/sparc/include/uapi/asm/param.h
new file mode 100644 (file)
index 0000000..0bc356b
--- /dev/null
@@ -0,0 +1,7 @@
+#ifndef _ASMSPARC_PARAM_H
+#define _ASMSPARC_PARAM_H
+
+#define EXEC_PAGESIZE  8192    /* Thanks for sun4's we carry baggage... */
+#include <asm-generic/param.h>
+
+#endif /* _ASMSPARC_PARAM_H */
diff --git a/arch/sparc/include/uapi/asm/perfctr.h b/arch/sparc/include/uapi/asm/perfctr.h
new file mode 100644 (file)
index 0000000..214feef
--- /dev/null
@@ -0,0 +1,166 @@
+/*----------------------------------------
+  PERFORMANCE INSTRUMENTATION  
+  Guillaume Thouvenin           08/10/98
+  David S. Miller               10/06/98
+  ---------------------------------------*/
+#ifndef PERF_COUNTER_API
+#define PERF_COUNTER_API
+
+/* sys_perfctr() interface.  First arg is operation code
+ * from enumeration below.  The meaning of further arguments
+ * are determined by the operation code.
+ *
+ * NOTE: This system call is no longer provided, use the perf_events
+ *       infrastructure.
+ *
+ * Pointers which are passed by the user are pointers to 64-bit
+ * integers.
+ *
+ * Once enabled, performance counter state is retained until the
+ * process either exits or performs an exec.  That is, performance
+ * counters remain enabled for fork/clone children.
+ */
+enum perfctr_opcode {
+       /* Enable UltraSparc performance counters, ARG0 is pointer
+        * to 64-bit accumulator for D0 counter in PIC, ARG1 is pointer
+        * to 64-bit accumulator for D1 counter.  ARG2 is a pointer to
+        * the initial PCR register value to use.
+        */
+       PERFCTR_ON,
+
+       /* Disable UltraSparc performance counters.  The PCR is written
+        * with zero and the user counter accumulator pointers and
+        * working PCR register value are forgotten.
+        */
+       PERFCTR_OFF,
+
+       /* Add current D0 and D1 PIC values into user pointers given
+        * in PERFCTR_ON operation.  The PIC is cleared before returning.
+        */
+       PERFCTR_READ,
+
+       /* Clear the PIC register. */
+       PERFCTR_CLRPIC,
+
+       /* Begin using a new PCR value, the pointer to which is passed
+        * in ARG0.  The PIC is also cleared after the new PCR value is
+        * written.
+        */
+       PERFCTR_SETPCR,
+
+       /* Store in pointer given in ARG0 the current PCR register value
+        * being used.
+        */
+       PERFCTR_GETPCR
+};
+
+#define  PRIV 0x00000001
+#define  SYS  0x00000002
+#define  USR  0x00000004
+
+/* Pic.S0 Selection Bit Field Encoding, Ultra-I/II  */
+#define  CYCLE_CNT            0x00000000
+#define  INSTR_CNT            0x00000010
+#define  DISPATCH0_IC_MISS    0x00000020
+#define  DISPATCH0_STOREBUF   0x00000030
+#define  IC_REF               0x00000080
+#define  DC_RD                0x00000090
+#define  DC_WR                0x000000A0
+#define  LOAD_USE             0x000000B0
+#define  EC_REF               0x000000C0
+#define  EC_WRITE_HIT_RDO     0x000000D0
+#define  EC_SNOOP_INV         0x000000E0
+#define  EC_RD_HIT            0x000000F0
+
+/* Pic.S0 Selection Bit Field Encoding, Ultra-III  */
+#define  US3_CYCLE_CNT         0x00000000
+#define  US3_INSTR_CNT         0x00000010
+#define  US3_DISPATCH0_IC_MISS 0x00000020
+#define  US3_DISPATCH0_BR_TGT  0x00000030
+#define  US3_DISPATCH0_2ND_BR  0x00000040
+#define  US3_RSTALL_STOREQ     0x00000050
+#define  US3_RSTALL_IU_USE     0x00000060
+#define  US3_IC_REF            0x00000080
+#define  US3_DC_RD             0x00000090
+#define  US3_DC_WR             0x000000a0
+#define  US3_EC_REF            0x000000c0
+#define  US3_EC_WR_HIT_RTO     0x000000d0
+#define  US3_EC_SNOOP_INV      0x000000e0
+#define  US3_EC_RD_MISS                0x000000f0
+#define  US3_PC_PORT0_RD       0x00000100
+#define  US3_SI_SNOOP          0x00000110
+#define  US3_SI_CIQ_FLOW       0x00000120
+#define  US3_SI_OWNED          0x00000130
+#define  US3_SW_COUNT_0                0x00000140
+#define  US3_IU_BR_MISS_TAKEN  0x00000150
+#define  US3_IU_BR_COUNT_TAKEN 0x00000160
+#define  US3_DISP_RS_MISPRED   0x00000170
+#define  US3_FA_PIPE_COMPL     0x00000180
+#define  US3_MC_READS_0                0x00000200
+#define  US3_MC_READS_1                0x00000210
+#define  US3_MC_READS_2                0x00000220
+#define  US3_MC_READS_3                0x00000230
+#define  US3_MC_STALLS_0       0x00000240
+#define  US3_MC_STALLS_2       0x00000250
+
+/* Pic.S1 Selection Bit Field Encoding, Ultra-I/II  */
+#define  CYCLE_CNT_D1         0x00000000
+#define  INSTR_CNT_D1         0x00000800
+#define  DISPATCH0_IC_MISPRED 0x00001000
+#define  DISPATCH0_FP_USE     0x00001800
+#define  IC_HIT               0x00004000
+#define  DC_RD_HIT            0x00004800
+#define  DC_WR_HIT            0x00005000
+#define  LOAD_USE_RAW         0x00005800
+#define  EC_HIT               0x00006000
+#define  EC_WB                0x00006800
+#define  EC_SNOOP_CB          0x00007000
+#define  EC_IT_HIT            0x00007800
+
+/* Pic.S1 Selection Bit Field Encoding, Ultra-III  */
+#define  US3_CYCLE_CNT_D1      0x00000000
+#define  US3_INSTR_CNT_D1      0x00000800
+#define  US3_DISPATCH0_MISPRED 0x00001000
+#define  US3_IC_MISS_CANCELLED 0x00001800
+#define  US3_RE_ENDIAN_MISS    0x00002000
+#define  US3_RE_FPU_BYPASS     0x00002800
+#define  US3_RE_DC_MISS                0x00003000
+#define  US3_RE_EC_MISS                0x00003800
+#define  US3_IC_MISS           0x00004000
+#define  US3_DC_RD_MISS                0x00004800
+#define  US3_DC_WR_MISS                0x00005000
+#define  US3_RSTALL_FP_USE     0x00005800
+#define  US3_EC_MISSES         0x00006000
+#define  US3_EC_WB             0x00006800
+#define  US3_EC_SNOOP_CB       0x00007000
+#define  US3_EC_IC_MISS                0x00007800
+#define  US3_RE_PC_MISS                0x00008000
+#define  US3_ITLB_MISS         0x00008800
+#define  US3_DTLB_MISS         0x00009000
+#define  US3_WC_MISS           0x00009800
+#define  US3_WC_SNOOP_CB       0x0000a000
+#define  US3_WC_SCRUBBED       0x0000a800
+#define  US3_WC_WB_WO_READ     0x0000b000
+#define  US3_PC_SOFT_HIT       0x0000c000
+#define  US3_PC_SNOOP_INV      0x0000c800
+#define  US3_PC_HARD_HIT       0x0000d000
+#define  US3_PC_PORT1_RD       0x0000d800
+#define  US3_SW_COUNT_1                0x0000e000
+#define  US3_IU_STAT_BR_MIS_UNTAKEN    0x0000e800
+#define  US3_IU_STAT_BR_COUNT_UNTAKEN  0x0000f000
+#define  US3_PC_MS_MISSES      0x0000f800
+#define  US3_MC_WRITES_0       0x00010800
+#define  US3_MC_WRITES_1       0x00011000
+#define  US3_MC_WRITES_2       0x00011800
+#define  US3_MC_WRITES_3       0x00012000
+#define  US3_MC_STALLS_1       0x00012800
+#define  US3_MC_STALLS_3       0x00013000
+#define  US3_RE_RAW_MISS       0x00013800
+#define  US3_FM_PIPE_COMPLETION        0x00014000
+
+struct vcounter_struct {
+  unsigned long long vcnt0;
+  unsigned long long vcnt1;
+};
+
+#endif /* !(PERF_COUNTER_API) */
diff --git a/arch/sparc/include/uapi/asm/poll.h b/arch/sparc/include/uapi/asm/poll.h
new file mode 100644 (file)
index 0000000..091d3ad
--- /dev/null
@@ -0,0 +1,12 @@
+#ifndef __SPARC_POLL_H
+#define __SPARC_POLL_H
+
+#define POLLWRNORM     POLLOUT
+#define POLLWRBAND     256
+#define POLLMSG                512
+#define POLLREMOVE     1024
+#define POLLRDHUP       2048
+
+#include <asm-generic/poll.h>
+
+#endif
diff --git a/arch/sparc/include/uapi/asm/posix_types.h b/arch/sparc/include/uapi/asm/posix_types.h
new file mode 100644 (file)
index 0000000..156220e
--- /dev/null
@@ -0,0 +1,49 @@
+/*
+ * This file is generally used by user-level software, so you need to
+ * be a little careful about namespace pollution etc.  Also, we cannot
+ * assume GCC is being used.
+ */
+
+#ifndef __SPARC_POSIX_TYPES_H
+#define __SPARC_POSIX_TYPES_H
+
+#if defined(__sparc__) && defined(__arch64__)
+/* sparc 64 bit */
+
+typedef unsigned short                __kernel_old_uid_t;
+typedef unsigned short         __kernel_old_gid_t;
+#define __kernel_old_uid_t __kernel_old_uid_t
+
+/* Note this piece of asymmetry from the v9 ABI.  */
+typedef int                   __kernel_suseconds_t;
+#define __kernel_suseconds_t __kernel_suseconds_t
+
+#else
+/* sparc 32 bit */
+
+typedef unsigned int           __kernel_size_t;
+typedef int                    __kernel_ssize_t;
+typedef long int               __kernel_ptrdiff_t;
+#define __kernel_size_t __kernel_size_t
+
+typedef unsigned short         __kernel_ipc_pid_t;
+#define __kernel_ipc_pid_t __kernel_ipc_pid_t
+
+typedef unsigned short         __kernel_uid_t;
+typedef unsigned short         __kernel_gid_t;
+#define __kernel_uid_t __kernel_uid_t
+
+typedef unsigned short         __kernel_mode_t;
+#define __kernel_mode_t __kernel_mode_t
+
+typedef long                   __kernel_daddr_t;
+#define __kernel_daddr_t __kernel_daddr_t
+
+typedef unsigned short        __kernel_old_dev_t;
+#define __kernel_old_dev_t __kernel_old_dev_t
+
+#endif /* defined(__sparc__) && defined(__arch64__) */
+
+#include <asm-generic/posix_types.h>
+
+#endif /* __SPARC_POSIX_TYPES_H */
diff --git a/arch/sparc/include/uapi/asm/psr.h b/arch/sparc/include/uapi/asm/psr.h
new file mode 100644 (file)
index 0000000..2f0ed85
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * psr.h: This file holds the macros for masking off various parts of
+ *        the processor status register on the Sparc. This is valid
+ *        for Version 8. On the V9 this is renamed to the PSTATE
+ *        register and its members are accessed as fields like
+ *        PSTATE.PRIV for the current CPU privilege level.
+ *
+ * Copyright (C) 1994 David S. Miller (davem@caip.rutgers.edu)
+ */
+
+#ifndef _UAPI__LINUX_SPARC_PSR_H
+#define _UAPI__LINUX_SPARC_PSR_H
+
+/* The Sparc PSR fields are laid out as the following:
+ *
+ *  ------------------------------------------------------------------------
+ *  | impl  | vers  | icc   | resv  | EC | EF | PIL  | S | PS | ET |  CWP  |
+ *  | 31-28 | 27-24 | 23-20 | 19-14 | 13 | 12 | 11-8 | 7 | 6  | 5  |  4-0  |
+ *  ------------------------------------------------------------------------
+ */
+#define PSR_CWP     0x0000001f         /* current window pointer     */
+#define PSR_ET      0x00000020         /* enable traps field         */
+#define PSR_PS      0x00000040         /* previous privilege level   */
+#define PSR_S       0x00000080         /* current privilege level    */
+#define PSR_PIL     0x00000f00         /* processor interrupt level  */
+#define PSR_EF      0x00001000         /* enable floating point      */
+#define PSR_EC      0x00002000         /* enable co-processor        */
+#define PSR_SYSCALL 0x00004000         /* inside of a syscall        */
+#define PSR_LE      0x00008000         /* SuperSparcII little-endian */
+#define PSR_ICC     0x00f00000         /* integer condition codes    */
+#define PSR_C       0x00100000         /* carry bit                  */
+#define PSR_V       0x00200000         /* overflow bit               */
+#define PSR_Z       0x00400000         /* zero bit                   */
+#define PSR_N       0x00800000         /* negative bit               */
+#define PSR_VERS    0x0f000000         /* cpu-version field          */
+#define PSR_IMPL    0xf0000000         /* cpu-implementation field   */
+
+#define PSR_VERS_SHIFT         24
+#define PSR_IMPL_SHIFT         28
+#define PSR_VERS_SHIFTED_MASK  0xf
+#define PSR_IMPL_SHIFTED_MASK  0xf
+
+#define PSR_IMPL_TI            0x4
+#define PSR_IMPL_LEON          0xf
+
+
+#endif /* _UAPI__LINUX_SPARC_PSR_H */
diff --git a/arch/sparc/include/uapi/asm/psrcompat.h b/arch/sparc/include/uapi/asm/psrcompat.h
new file mode 100644 (file)
index 0000000..44b6327
--- /dev/null
@@ -0,0 +1,45 @@
+#ifndef _SPARC64_PSRCOMPAT_H
+#define _SPARC64_PSRCOMPAT_H
+
+#include <asm/pstate.h>
+
+/* Old 32-bit PSR fields for the compatibility conversion code. */
+#define PSR_CWP     0x0000001f         /* current window pointer     */
+#define PSR_ET      0x00000020         /* enable traps field         */
+#define PSR_PS      0x00000040         /* previous privilege level   */
+#define PSR_S       0x00000080         /* current privilege level    */
+#define PSR_PIL     0x00000f00         /* processor interrupt level  */
+#define PSR_EF      0x00001000         /* enable floating point      */
+#define PSR_EC      0x00002000         /* enable co-processor        */
+#define PSR_SYSCALL 0x00004000         /* inside of a syscall        */
+#define PSR_LE      0x00008000         /* SuperSparcII little-endian */
+#define PSR_ICC     0x00f00000         /* integer condition codes    */
+#define PSR_C       0x00100000         /* carry bit                  */
+#define PSR_V       0x00200000         /* overflow bit               */
+#define PSR_Z       0x00400000         /* zero bit                   */
+#define PSR_N       0x00800000         /* negative bit               */
+#define PSR_VERS    0x0f000000         /* cpu-version field          */
+#define PSR_IMPL    0xf0000000         /* cpu-implementation field   */
+
+#define PSR_V8PLUS  0xff000000         /* fake impl/ver, meaning a 64bit CPU is present */
+#define PSR_XCC            0x000f0000         /* if PSR_V8PLUS, this is %xcc */
+
+static inline unsigned int tstate_to_psr(unsigned long tstate)
+{
+       return ((tstate & TSTATE_CWP)                   |
+               PSR_S                                   |
+               ((tstate & TSTATE_ICC) >> 12)           |
+               ((tstate & TSTATE_XCC) >> 20)           |
+               ((tstate & TSTATE_SYSCALL) ? PSR_SYSCALL : 0) |
+               PSR_V8PLUS);
+}
+
+static inline unsigned long psr_to_tstate_icc(unsigned int psr)
+{
+       unsigned long tstate = ((unsigned long)(psr & PSR_ICC)) << 12;
+       if ((psr & (PSR_VERS|PSR_IMPL)) == PSR_V8PLUS)
+               tstate |= ((unsigned long)(psr & PSR_XCC)) << 20;
+       return tstate;
+}
+
+#endif /* !(_SPARC64_PSRCOMPAT_H) */
diff --git a/arch/sparc/include/uapi/asm/pstate.h b/arch/sparc/include/uapi/asm/pstate.h
new file mode 100644 (file)
index 0000000..4b6b998
--- /dev/null
@@ -0,0 +1,105 @@
+#ifndef _SPARC64_PSTATE_H
+#define _SPARC64_PSTATE_H
+
+#include <linux/const.h>
+
+/* The V9 PSTATE Register (with SpitFire extensions).
+ *
+ * -----------------------------------------------------------------------
+ * | Resv | IG | MG | CLE | TLE |  MM  | RED | PEF | AM | PRIV | IE | AG |
+ * -----------------------------------------------------------------------
+ *  63  12  11   10    9     8    7   6   5     4     3     2     1    0
+ */
+#define PSTATE_IG   _AC(0x0000000000000800,UL) /* Interrupt Globals.   */
+#define PSTATE_MG   _AC(0x0000000000000400,UL) /* MMU Globals.         */
+#define PSTATE_CLE  _AC(0x0000000000000200,UL) /* Current Little Endian.*/
+#define PSTATE_TLE  _AC(0x0000000000000100,UL) /* Trap Little Endian.  */
+#define PSTATE_MM   _AC(0x00000000000000c0,UL) /* Memory Model.                */
+#define PSTATE_TSO  _AC(0x0000000000000000,UL) /* MM: TotalStoreOrder  */
+#define PSTATE_PSO  _AC(0x0000000000000040,UL) /* MM: PartialStoreOrder        */
+#define PSTATE_RMO  _AC(0x0000000000000080,UL) /* MM: RelaxedMemoryOrder*/
+#define PSTATE_RED  _AC(0x0000000000000020,UL) /* Reset Error Debug.   */
+#define PSTATE_PEF  _AC(0x0000000000000010,UL) /* Floating Point Enable.*/
+#define PSTATE_AM   _AC(0x0000000000000008,UL) /* Address Mask.                */
+#define PSTATE_PRIV _AC(0x0000000000000004,UL) /* Privilege.           */
+#define PSTATE_IE   _AC(0x0000000000000002,UL) /* Interrupt Enable.    */
+#define PSTATE_AG   _AC(0x0000000000000001,UL) /* Alternate Globals.   */
+
+/* The V9 TSTATE Register (with SpitFire and Linux extensions).
+ *
+ * ---------------------------------------------------------------------
+ * |  Resv |  GL  |  CCR  |  ASI  |  %pil  |  PSTATE  |  Resv  |  CWP  |
+ * ---------------------------------------------------------------------
+ *  63   43 42  40 39   32 31   24 23    20 19       8 7      5 4     0
+ */
+#define TSTATE_GL      _AC(0x0000070000000000,UL) /* Global reg level  */
+#define TSTATE_CCR     _AC(0x000000ff00000000,UL) /* Condition Codes.  */
+#define TSTATE_XCC     _AC(0x000000f000000000,UL) /* Condition Codes.  */
+#define TSTATE_XNEG    _AC(0x0000008000000000,UL) /* %xcc Negative.    */
+#define TSTATE_XZERO   _AC(0x0000004000000000,UL) /* %xcc Zero.        */
+#define TSTATE_XOVFL   _AC(0x0000002000000000,UL) /* %xcc Overflow.    */
+#define TSTATE_XCARRY  _AC(0x0000001000000000,UL) /* %xcc Carry.       */
+#define TSTATE_ICC     _AC(0x0000000f00000000,UL) /* Condition Codes.  */
+#define TSTATE_INEG    _AC(0x0000000800000000,UL) /* %icc Negative.    */
+#define TSTATE_IZERO   _AC(0x0000000400000000,UL) /* %icc Zero.        */
+#define TSTATE_IOVFL   _AC(0x0000000200000000,UL) /* %icc Overflow.    */
+#define TSTATE_ICARRY  _AC(0x0000000100000000,UL) /* %icc Carry.       */
+#define TSTATE_ASI     _AC(0x00000000ff000000,UL) /* AddrSpace ID.     */
+#define TSTATE_PIL     _AC(0x0000000000f00000,UL) /* %pil (Linux traps)*/
+#define TSTATE_PSTATE  _AC(0x00000000000fff00,UL) /* PSTATE.           */
+#define TSTATE_IG      _AC(0x0000000000080000,UL) /* Interrupt Globals.*/
+#define TSTATE_MG      _AC(0x0000000000040000,UL) /* MMU Globals.      */
+#define TSTATE_CLE     _AC(0x0000000000020000,UL) /* CurrLittleEndian. */
+#define TSTATE_TLE     _AC(0x0000000000010000,UL) /* TrapLittleEndian. */
+#define TSTATE_MM      _AC(0x000000000000c000,UL) /* Memory Model.     */
+#define TSTATE_TSO     _AC(0x0000000000000000,UL) /* MM: TSO           */
+#define TSTATE_PSO     _AC(0x0000000000004000,UL) /* MM: PSO           */
+#define TSTATE_RMO     _AC(0x0000000000008000,UL) /* MM: RMO           */
+#define TSTATE_RED     _AC(0x0000000000002000,UL) /* Reset Error Debug.*/
+#define TSTATE_PEF     _AC(0x0000000000001000,UL) /* FPU Enable.       */
+#define TSTATE_AM      _AC(0x0000000000000800,UL) /* Address Mask.     */
+#define TSTATE_PRIV    _AC(0x0000000000000400,UL) /* Privilege.        */
+#define TSTATE_IE      _AC(0x0000000000000200,UL) /* Interrupt Enable. */
+#define TSTATE_AG      _AC(0x0000000000000100,UL) /* Alternate Globals.*/
+#define TSTATE_SYSCALL _AC(0x0000000000000020,UL) /* in syscall trap   */
+#define TSTATE_CWP     _AC(0x000000000000001f,UL) /* Curr Win-Pointer. */
+
+/* Floating-Point Registers State Register.
+ *
+ * --------------------------------
+ * |  Resv  |  FEF  |  DU  |  DL  |
+ * --------------------------------
+ *  63     3    2       1      0
+ */
+#define FPRS_FEF       _AC(0x0000000000000004,UL) /* FPU Enable.       */
+#define FPRS_DU                _AC(0x0000000000000002,UL) /* Dirty Upper.      */
+#define FPRS_DL                _AC(0x0000000000000001,UL) /* Dirty Lower.      */
+
+/* Version Register.
+ *
+ * ------------------------------------------------------
+ * | MANUF | IMPL | MASK | Resv | MAXTL | Resv | MAXWIN |
+ * ------------------------------------------------------
+ *  63   48 47  32 31  24 23  16 15    8 7    5 4      0
+ */
+#define VERS_MANUF     _AC(0xffff000000000000,UL) /* Manufacturer.     */
+#define VERS_IMPL      _AC(0x0000ffff00000000,UL) /* Implementation.   */
+#define VERS_MASK      _AC(0x00000000ff000000,UL) /* Mask Set Revision.*/
+#define VERS_MAXTL     _AC(0x000000000000ff00,UL) /* Max Trap Level.   */
+#define VERS_MAXWIN    _AC(0x000000000000001f,UL) /* Max RegWindow Idx.*/
+
+/* Compatability Feature Register (%asr26), SPARC-T4 and later  */
+#define CFR_AES                _AC(0x0000000000000001,UL) /* Supports AES opcodes     */
+#define CFR_DES                _AC(0x0000000000000002,UL) /* Supports DES opcodes     */
+#define CFR_KASUMI     _AC(0x0000000000000004,UL) /* Supports KASUMI opcodes  */
+#define CFR_CAMELLIA   _AC(0x0000000000000008,UL) /* Supports CAMELLIA opcodes*/
+#define CFR_MD5                _AC(0x0000000000000010,UL) /* Supports MD5 opcodes     */
+#define CFR_SHA1       _AC(0x0000000000000020,UL) /* Supports SHA1 opcodes    */
+#define CFR_SHA256     _AC(0x0000000000000040,UL) /* Supports SHA256 opcodes  */
+#define CFR_SHA512     _AC(0x0000000000000080,UL) /* Supports SHA512 opcodes  */
+#define CFR_MPMUL      _AC(0x0000000000000100,UL) /* Supports MPMUL opcodes   */
+#define CFR_MONTMUL    _AC(0x0000000000000200,UL) /* Supports MONTMUL opcodes */
+#define CFR_MONTSQR    _AC(0x0000000000000400,UL) /* Supports MONTSQR opcodes */
+#define CFR_CRC32C     _AC(0x0000000000000800,UL) /* Supports CRC32C opcodes  */
+
+#endif /* !(_SPARC64_PSTATE_H) */
diff --git a/arch/sparc/include/uapi/asm/ptrace.h b/arch/sparc/include/uapi/asm/ptrace.h
new file mode 100644 (file)
index 0000000..56fe4ea
--- /dev/null
@@ -0,0 +1,352 @@
+#ifndef _UAPI__SPARC_PTRACE_H
+#define _UAPI__SPARC_PTRACE_H
+
+#if defined(__sparc__) && defined(__arch64__)
+/* 64 bit sparc */
+#include <asm/pstate.h>
+
+/* This struct defines the way the registers are stored on the
+ * stack during a system call and basically all traps.
+ */
+
+/* This magic value must have the low 9 bits clear,
+ * as that is where we encode the %tt value, see below.
+ */
+#define PT_REGS_MAGIC 0x57ac6c00
+
+#ifndef __ASSEMBLY__
+
+#include <linux/types.h>
+
+struct pt_regs {
+       unsigned long u_regs[16]; /* globals and ins */
+       unsigned long tstate;
+       unsigned long tpc;
+       unsigned long tnpc;
+       unsigned int y;
+
+       /* We encode a magic number, PT_REGS_MAGIC, along
+        * with the %tt (trap type) register value at trap
+        * entry time.  The magic number allows us to identify
+        * accurately a trap stack frame in the stack
+        * unwinder, and the %tt value allows us to test
+        * things like "in a system call" etc. for an arbitray
+        * process.
+        *
+        * The PT_REGS_MAGIC is chosen such that it can be
+        * loaded completely using just a sethi instruction.
+        */
+       unsigned int magic;
+};
+
+struct pt_regs32 {
+       unsigned int psr;
+       unsigned int pc;
+       unsigned int npc;
+       unsigned int y;
+       unsigned int u_regs[16]; /* globals and ins */
+};
+
+/* A V9 register window */
+struct reg_window {
+       unsigned long locals[8];
+       unsigned long ins[8];
+};
+
+/* A 32-bit register window. */
+struct reg_window32 {
+       unsigned int locals[8];
+       unsigned int ins[8];
+};
+
+/* A V9 Sparc stack frame */
+struct sparc_stackf {
+       unsigned long locals[8];
+        unsigned long ins[6];
+       struct sparc_stackf *fp;
+       unsigned long callers_pc;
+       char *structptr;
+       unsigned long xargs[6];
+       unsigned long xxargs[1];
+};
+
+/* A 32-bit Sparc stack frame */
+struct sparc_stackf32 {
+       unsigned int locals[8];
+        unsigned int ins[6];
+       unsigned int fp;
+       unsigned int callers_pc;
+       unsigned int structptr;
+       unsigned int xargs[6];
+       unsigned int xxargs[1];
+};
+
+struct sparc_trapf {
+       unsigned long locals[8];
+       unsigned long ins[8];
+       unsigned long _unused;
+       struct pt_regs *regs;
+};
+#endif /* (!__ASSEMBLY__) */
+#else
+/* 32 bit sparc */
+
+#include <asm/psr.h>
+
+/* This struct defines the way the registers are stored on the
+ * stack during a system call and basically all traps.
+ */
+#ifndef __ASSEMBLY__
+
+#include <linux/types.h>
+
+struct pt_regs {
+       unsigned long psr;
+       unsigned long pc;
+       unsigned long npc;
+       unsigned long y;
+       unsigned long u_regs[16]; /* globals and ins */
+};
+
+/* A 32-bit register window. */
+struct reg_window32 {
+       unsigned long locals[8];
+       unsigned long ins[8];
+};
+
+/* A Sparc stack frame */
+struct sparc_stackf {
+       unsigned long locals[8];
+        unsigned long ins[6];
+       struct sparc_stackf *fp;
+       unsigned long callers_pc;
+       char *structptr;
+       unsigned long xargs[6];
+       unsigned long xxargs[1];
+};
+#endif /* (!__ASSEMBLY__) */
+
+#endif /* (defined(__sparc__) && defined(__arch64__))*/
+
+#ifndef __ASSEMBLY__
+
+#define TRACEREG_SZ    sizeof(struct pt_regs)
+#define STACKFRAME_SZ  sizeof(struct sparc_stackf)
+
+#define TRACEREG32_SZ  sizeof(struct pt_regs32)
+#define STACKFRAME32_SZ        sizeof(struct sparc_stackf32)
+
+#endif /* (!__ASSEMBLY__) */
+
+#define UREG_G0        0
+#define UREG_G1        1
+#define UREG_G2        2
+#define UREG_G3        3
+#define UREG_G4        4
+#define UREG_G5        5
+#define UREG_G6        6
+#define UREG_G7        7
+#define UREG_I0        8
+#define UREG_I1        9
+#define UREG_I2        10
+#define UREG_I3        11
+#define UREG_I4        12
+#define UREG_I5        13
+#define UREG_I6        14
+#define UREG_I7        15
+#define UREG_FP        UREG_I6
+#define UREG_RETPC     UREG_I7
+
+#if defined(__sparc__) && defined(__arch64__)
+/* 64 bit sparc */
+
+#ifndef __ASSEMBLY__
+
+
+#else /* __ASSEMBLY__ */
+/* For assembly code. */
+#define TRACEREG_SZ            0xa0
+#define STACKFRAME_SZ          0xc0
+
+#define TRACEREG32_SZ          0x50
+#define STACKFRAME32_SZ                0x60
+#endif /* __ASSEMBLY__ */
+
+#else /* (defined(__sparc__) && defined(__arch64__)) */
+
+/* 32 bit sparc */
+
+#ifndef __ASSEMBLY__
+
+
+#else /* (!__ASSEMBLY__) */
+/* For assembly code. */
+#define TRACEREG_SZ       0x50
+#define STACKFRAME_SZ     0x60
+#endif /* (!__ASSEMBLY__) */
+
+#endif /* (defined(__sparc__) && defined(__arch64__)) */
+
+
+/* These are for pt_regs. */
+#define PT_V9_G0     0x00
+#define PT_V9_G1     0x08
+#define PT_V9_G2     0x10
+#define PT_V9_G3     0x18
+#define PT_V9_G4     0x20
+#define PT_V9_G5     0x28
+#define PT_V9_G6     0x30
+#define PT_V9_G7     0x38
+#define PT_V9_I0     0x40
+#define PT_V9_I1     0x48
+#define PT_V9_I2     0x50
+#define PT_V9_I3     0x58
+#define PT_V9_I4     0x60
+#define PT_V9_I5     0x68
+#define PT_V9_I6     0x70
+#define PT_V9_FP     PT_V9_I6
+#define PT_V9_I7     0x78
+#define PT_V9_TSTATE 0x80
+#define PT_V9_TPC    0x88
+#define PT_V9_TNPC   0x90
+#define PT_V9_Y      0x98
+#define PT_V9_MAGIC  0x9c
+#define PT_TSTATE      PT_V9_TSTATE
+#define PT_TPC         PT_V9_TPC
+#define PT_TNPC                PT_V9_TNPC
+
+/* These for pt_regs32. */
+#define PT_PSR    0x0
+#define PT_PC     0x4
+#define PT_NPC    0x8
+#define PT_Y      0xc
+#define PT_G0     0x10
+#define PT_WIM    PT_G0
+#define PT_G1     0x14
+#define PT_G2     0x18
+#define PT_G3     0x1c
+#define PT_G4     0x20
+#define PT_G5     0x24
+#define PT_G6     0x28
+#define PT_G7     0x2c
+#define PT_I0     0x30
+#define PT_I1     0x34
+#define PT_I2     0x38
+#define PT_I3     0x3c
+#define PT_I4     0x40
+#define PT_I5     0x44
+#define PT_I6     0x48
+#define PT_FP     PT_I6
+#define PT_I7     0x4c
+
+/* Reg_window offsets */
+#define RW_V9_L0     0x00
+#define RW_V9_L1     0x08
+#define RW_V9_L2     0x10
+#define RW_V9_L3     0x18
+#define RW_V9_L4     0x20
+#define RW_V9_L5     0x28
+#define RW_V9_L6     0x30
+#define RW_V9_L7     0x38
+#define RW_V9_I0     0x40
+#define RW_V9_I1     0x48
+#define RW_V9_I2     0x50
+#define RW_V9_I3     0x58
+#define RW_V9_I4     0x60
+#define RW_V9_I5     0x68
+#define RW_V9_I6     0x70
+#define RW_V9_I7     0x78
+
+#define RW_L0     0x00
+#define RW_L1     0x04
+#define RW_L2     0x08
+#define RW_L3     0x0c
+#define RW_L4     0x10
+#define RW_L5     0x14
+#define RW_L6     0x18
+#define RW_L7     0x1c
+#define RW_I0     0x20
+#define RW_I1     0x24
+#define RW_I2     0x28
+#define RW_I3     0x2c
+#define RW_I4     0x30
+#define RW_I5     0x34
+#define RW_I6     0x38
+#define RW_I7     0x3c
+
+/* Stack_frame offsets */
+#define SF_V9_L0     0x00
+#define SF_V9_L1     0x08
+#define SF_V9_L2     0x10
+#define SF_V9_L3     0x18
+#define SF_V9_L4     0x20
+#define SF_V9_L5     0x28
+#define SF_V9_L6     0x30
+#define SF_V9_L7     0x38
+#define SF_V9_I0     0x40
+#define SF_V9_I1     0x48
+#define SF_V9_I2     0x50
+#define SF_V9_I3     0x58
+#define SF_V9_I4     0x60
+#define SF_V9_I5     0x68
+#define SF_V9_FP     0x70
+#define SF_V9_PC     0x78
+#define SF_V9_RETP   0x80
+#define SF_V9_XARG0  0x88
+#define SF_V9_XARG1  0x90
+#define SF_V9_XARG2  0x98
+#define SF_V9_XARG3  0xa0
+#define SF_V9_XARG4  0xa8
+#define SF_V9_XARG5  0xb0
+#define SF_V9_XXARG  0xb8
+
+#define SF_L0     0x00
+#define SF_L1     0x04
+#define SF_L2     0x08
+#define SF_L3     0x0c
+#define SF_L4     0x10
+#define SF_L5     0x14
+#define SF_L6     0x18
+#define SF_L7     0x1c
+#define SF_I0     0x20
+#define SF_I1     0x24
+#define SF_I2     0x28
+#define SF_I3     0x2c
+#define SF_I4     0x30
+#define SF_I5     0x34
+#define SF_FP     0x38
+#define SF_PC     0x3c
+#define SF_RETP   0x40
+#define SF_XARG0  0x44
+#define SF_XARG1  0x48
+#define SF_XARG2  0x4c
+#define SF_XARG3  0x50
+#define SF_XARG4  0x54
+#define SF_XARG5  0x58
+#define SF_XXARG  0x5c
+
+
+/* Stuff for the ptrace system call */
+#define PTRACE_SPARC_DETACH       11
+#define PTRACE_GETREGS            12
+#define PTRACE_SETREGS            13
+#define PTRACE_GETFPREGS          14
+#define PTRACE_SETFPREGS          15
+#define PTRACE_READDATA           16
+#define PTRACE_WRITEDATA          17
+#define PTRACE_READTEXT           18
+#define PTRACE_WRITETEXT          19
+#define PTRACE_GETFPAREGS         20
+#define PTRACE_SETFPAREGS         21
+
+/* There are for debugging 64-bit processes, either from a 32 or 64 bit
+ * parent.  Thus their complements are for debugging 32-bit processes only.
+ */
+
+#define PTRACE_GETREGS64         22
+#define PTRACE_SETREGS64         23
+/* PTRACE_SYSCALL is 24 */
+#define PTRACE_GETFPREGS64       25
+#define PTRACE_SETFPREGS64       26
+
+#endif /* _UAPI__SPARC_PTRACE_H */
diff --git a/arch/sparc/include/uapi/asm/resource.h b/arch/sparc/include/uapi/asm/resource.h
new file mode 100644 (file)
index 0000000..fe163ca
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ * resource.h: Resource definitions.
+ *
+ * Copyright (C) 1995,1996 David S. Miller (davem@caip.rutgers.edu)
+ */
+
+#ifndef _SPARC_RESOURCE_H
+#define _SPARC_RESOURCE_H
+
+/*
+ * These two resource limit IDs have a Sparc/Linux-specific ordering,
+ * the rest comes from the generic header:
+ */
+#define RLIMIT_NOFILE          6       /* max number of open files */
+#define RLIMIT_NPROC           7       /* max number of processes */
+
+#if defined(__sparc__) && defined(__arch64__)
+/* Use generic version */
+#else
+/*
+ * SuS says limits have to be unsigned.
+ * We make this unsigned, but keep the
+ * old value for compatibility:
+ */
+#define RLIM_INFINITY          0x7fffffff
+#endif
+
+#include <asm-generic/resource.h>
+
+#endif /* !(_SPARC_RESOURCE_H) */
diff --git a/arch/sparc/include/uapi/asm/sembuf.h b/arch/sparc/include/uapi/asm/sembuf.h
new file mode 100644 (file)
index 0000000..faee1be
--- /dev/null
@@ -0,0 +1,31 @@
+#ifndef _SPARC_SEMBUF_H
+#define _SPARC_SEMBUF_H
+
+/*
+ * The semid64_ds structure for sparc architecture.
+ * Note extra padding because this structure is passed back and forth
+ * between kernel and user space.
+ *
+ * Pad space is left for:
+ * - 64-bit time_t to solve y2038 problem
+ * - 2 miscellaneous 32-bit values
+ */
+#if defined(__sparc__) && defined(__arch64__)
+# define PADDING(x)
+#else
+# define PADDING(x) unsigned int x;
+#endif
+
+struct semid64_ds {
+       struct ipc64_perm sem_perm;             /* permissions .. see ipc.h */
+       PADDING(__pad1)
+       __kernel_time_t sem_otime;              /* last semop time */
+       PADDING(__pad2)
+       __kernel_time_t sem_ctime;              /* last change time */
+       unsigned long   sem_nsems;              /* no. of semaphores in array */
+       unsigned long   __unused1;
+       unsigned long   __unused2;
+};
+#undef PADDING
+
+#endif /* _SPARC64_SEMBUF_H */
diff --git a/arch/sparc/include/uapi/asm/setup.h b/arch/sparc/include/uapi/asm/setup.h
new file mode 100644 (file)
index 0000000..5337684
--- /dev/null
@@ -0,0 +1,15 @@
+/*
+ *     Just a place holder. 
+ */
+
+#ifndef _UAPI_SPARC_SETUP_H
+#define _UAPI_SPARC_SETUP_H
+
+#if defined(__sparc__) && defined(__arch64__)
+# define COMMAND_LINE_SIZE 2048
+#else
+# define COMMAND_LINE_SIZE 256
+#endif
+
+
+#endif /* _UAPI_SPARC_SETUP_H */
diff --git a/arch/sparc/include/uapi/asm/shmbuf.h b/arch/sparc/include/uapi/asm/shmbuf.h
new file mode 100644 (file)
index 0000000..83a1605
--- /dev/null
@@ -0,0 +1,50 @@
+#ifndef _SPARC_SHMBUF_H
+#define _SPARC_SHMBUF_H
+
+/* 
+ * The shmid64_ds structure for sparc architecture.
+ * Note extra padding because this structure is passed back and forth
+ * between kernel and user space.
+ *
+ * Pad space is left for:
+ * - 64-bit time_t to solve y2038 problem
+ * - 2 miscellaneous 32-bit values
+ */
+
+#if defined(__sparc__) && defined(__arch64__)
+# define PADDING(x)
+#else
+# define PADDING(x) unsigned int x;
+#endif
+
+struct shmid64_ds {
+       struct ipc64_perm       shm_perm;       /* operation perms */
+       PADDING(__pad1)
+       __kernel_time_t         shm_atime;      /* last attach time */
+       PADDING(__pad2)
+       __kernel_time_t         shm_dtime;      /* last detach time */
+       PADDING(__pad3)
+       __kernel_time_t         shm_ctime;      /* last change time */
+       size_t                  shm_segsz;      /* size of segment (bytes) */
+       __kernel_pid_t          shm_cpid;       /* pid of creator */
+       __kernel_pid_t          shm_lpid;       /* pid of last operator */
+       unsigned long           shm_nattch;     /* no. of current attaches */
+       unsigned long           __unused1;
+       unsigned long           __unused2;
+};
+
+struct shminfo64 {
+       unsigned long   shmmax;
+       unsigned long   shmmin;
+       unsigned long   shmmni;
+       unsigned long   shmseg;
+       unsigned long   shmall;
+       unsigned long   __unused1;
+       unsigned long   __unused2;
+       unsigned long   __unused3;
+       unsigned long   __unused4;
+};
+
+#undef PADDING
+
+#endif /* _SPARC_SHMBUF_H */
diff --git a/arch/sparc/include/uapi/asm/sigcontext.h b/arch/sparc/include/uapi/asm/sigcontext.h
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/arch/sparc/include/uapi/asm/siginfo.h b/arch/sparc/include/uapi/asm/siginfo.h
new file mode 100644 (file)
index 0000000..2d9b79c
--- /dev/null
@@ -0,0 +1,25 @@
+#ifndef _UAPI__SPARC_SIGINFO_H
+#define _UAPI__SPARC_SIGINFO_H
+
+#if defined(__sparc__) && defined(__arch64__)
+
+#define __ARCH_SI_PREAMBLE_SIZE        (4 * sizeof(int))
+#define __ARCH_SI_BAND_T int
+
+#endif /* defined(__sparc__) && defined(__arch64__) */
+
+
+#define __ARCH_SI_TRAPNO
+
+#include <asm-generic/siginfo.h>
+
+
+#define SI_NOINFO      32767           /* no information in siginfo_t */
+
+/*
+ * SIGEMT si_codes
+ */
+#define EMT_TAGOVF     (__SI_FAULT|1)  /* tag overflow */
+#define NSIGEMT                1
+
+#endif /* _UAPI__SPARC_SIGINFO_H */
diff --git a/arch/sparc/include/uapi/asm/signal.h b/arch/sparc/include/uapi/asm/signal.h
new file mode 100644 (file)
index 0000000..1a04189
--- /dev/null
@@ -0,0 +1,185 @@
+#ifndef _UAPI__SPARC_SIGNAL_H
+#define _UAPI__SPARC_SIGNAL_H
+
+#include <asm/sigcontext.h>
+#include <linux/compiler.h>
+
+
+/* On the Sparc the signal handlers get passed a 'sub-signal' code
+ * for certain signal types, which we document here.
+ */
+#define SIGHUP          1
+#define SIGINT          2
+#define SIGQUIT                 3
+#define SIGILL          4
+#define    SUBSIG_STACK       0
+#define    SUBSIG_ILLINST     2
+#define    SUBSIG_PRIVINST    3
+#define    SUBSIG_BADTRAP(t)  (0x80 + (t))
+
+#define SIGTRAP                 5
+#define SIGABRT                 6
+#define SIGIOT          6
+
+#define SIGEMT           7
+#define    SUBSIG_TAG    10
+
+#define SIGFPE          8
+#define    SUBSIG_FPDISABLED     0x400
+#define    SUBSIG_FPERROR        0x404
+#define    SUBSIG_FPINTOVFL      0x001
+#define    SUBSIG_FPSTSIG        0x002
+#define    SUBSIG_IDIVZERO       0x014
+#define    SUBSIG_FPINEXACT      0x0c4
+#define    SUBSIG_FPDIVZERO      0x0c8
+#define    SUBSIG_FPUNFLOW       0x0cc
+#define    SUBSIG_FPOPERROR      0x0d0
+#define    SUBSIG_FPOVFLOW       0x0d4
+
+#define SIGKILL                 9
+#define SIGBUS          10
+#define    SUBSIG_BUSTIMEOUT    1
+#define    SUBSIG_ALIGNMENT     2
+#define    SUBSIG_MISCERROR     5
+
+#define SIGSEGV                11
+#define    SUBSIG_NOMAPPING     3
+#define    SUBSIG_PROTECTION    4
+#define    SUBSIG_SEGERROR      5
+
+#define SIGSYS         12
+
+#define SIGPIPE                13
+#define SIGALRM                14
+#define SIGTERM                15
+#define SIGURG          16
+
+/* SunOS values which deviate from the Linux/i386 ones */
+#define SIGSTOP                17
+#define SIGTSTP                18
+#define SIGCONT                19
+#define SIGCHLD                20
+#define SIGTTIN                21
+#define SIGTTOU                22
+#define SIGIO          23
+#define SIGPOLL                SIGIO   /* SysV name for SIGIO */
+#define SIGXCPU                24
+#define SIGXFSZ                25
+#define SIGVTALRM      26
+#define SIGPROF                27
+#define SIGWINCH       28
+#define SIGLOST                29
+#define SIGPWR         SIGLOST
+#define SIGUSR1                30
+#define SIGUSR2                31
+
+/* Most things should be clean enough to redefine this at will, if care
+   is taken to make libc match.  */
+
+#define __OLD_NSIG     32
+#define __NEW_NSIG      64
+#ifdef __arch64__
+#define _NSIG_BPW       64
+#else
+#define _NSIG_BPW       32
+#endif
+#define _NSIG_WORDS     (__NEW_NSIG / _NSIG_BPW)
+
+#define SIGRTMIN       32
+#define SIGRTMAX       __NEW_NSIG
+
+#if defined(__KERNEL__) || defined(__WANT_POSIX1B_SIGNALS__)
+#define _NSIG                  __NEW_NSIG
+#define __new_sigset_t         sigset_t
+#define __new_sigaction                sigaction
+#define __new_sigaction32      sigaction32
+#define __old_sigset_t         old_sigset_t
+#define __old_sigaction                old_sigaction
+#define __old_sigaction32      old_sigaction32
+#else
+#define _NSIG                  __OLD_NSIG
+#define NSIG                   _NSIG
+#define __old_sigset_t         sigset_t
+#define __old_sigaction                sigaction
+#define __old_sigaction32      sigaction32
+#endif
+
+#ifndef __ASSEMBLY__
+
+typedef unsigned long __old_sigset_t;            /* at least 32 bits */
+
+typedef struct {
+       unsigned long sig[_NSIG_WORDS];
+} __new_sigset_t;
+
+/* A SunOS sigstack */
+struct sigstack {
+       /* XXX 32-bit pointers pinhead XXX */
+       char *the_stack;
+       int   cur_status;
+};
+
+/* Sigvec flags */
+#define _SV_SSTACK    1u    /* This signal handler should use sig-stack */
+#define _SV_INTR      2u    /* Sig return should not restart system call */
+#define _SV_RESET     4u    /* Set handler to SIG_DFL upon taken signal */
+#define _SV_IGNCHILD  8u    /* Do not send SIGCHLD */
+
+/*
+ * sa_flags values: SA_STACK is not currently supported, but will allow the
+ * usage of signal stacks by using the (now obsolete) sa_restorer field in
+ * the sigaction structure as a stack pointer. This is now possible due to
+ * the changes in signal handling. LBT 010493.
+ * SA_RESTART flag to get restarting signals (which were the default long ago)
+ */
+#define SA_NOCLDSTOP   _SV_IGNCHILD
+#define SA_STACK       _SV_SSTACK
+#define SA_ONSTACK     _SV_SSTACK
+#define SA_RESTART     _SV_INTR
+#define SA_ONESHOT     _SV_RESET
+#define SA_NODEFER     0x20u
+#define SA_NOCLDWAIT    0x100u
+#define SA_SIGINFO      0x200u
+
+#define SA_NOMASK      SA_NODEFER
+
+#define SIG_BLOCK          0x01        /* for blocking signals */
+#define SIG_UNBLOCK        0x02        /* for unblocking signals */
+#define SIG_SETMASK        0x04        /* for setting the signal mask */
+
+/*
+ * sigaltstack controls
+ */
+#define SS_ONSTACK     1
+#define SS_DISABLE     2
+
+#define MINSIGSTKSZ    4096
+#define SIGSTKSZ       16384
+
+
+#include <asm-generic/signal-defs.h>
+
+struct __new_sigaction {
+       __sighandler_t          sa_handler;
+       unsigned long           sa_flags;
+       __sigrestore_t          sa_restorer;  /* not used by Linux/SPARC yet */
+       __new_sigset_t          sa_mask;
+};
+
+struct __old_sigaction {
+       __sighandler_t          sa_handler;
+       __old_sigset_t          sa_mask;
+       unsigned long           sa_flags;
+       void                    (*sa_restorer)(void);  /* not used by Linux/SPARC yet */
+};
+
+typedef struct sigaltstack {
+       void                    __user *ss_sp;
+       int                     ss_flags;
+       size_t                  ss_size;
+} stack_t;
+
+
+#endif /* !(__ASSEMBLY__) */
+
+#endif /* _UAPI__SPARC_SIGNAL_H */
diff --git a/arch/sparc/include/uapi/asm/socket.h b/arch/sparc/include/uapi/asm/socket.h
new file mode 100644 (file)
index 0000000..bea1568
--- /dev/null
@@ -0,0 +1,74 @@
+#ifndef _ASM_SOCKET_H
+#define _ASM_SOCKET_H
+
+#include <asm/sockios.h>
+
+/* For setsockopt(2) */
+#define SOL_SOCKET     0xffff
+
+#define SO_DEBUG       0x0001
+#define SO_PASSCRED    0x0002
+#define SO_REUSEADDR   0x0004
+#define SO_KEEPALIVE   0x0008
+#define SO_DONTROUTE   0x0010
+#define SO_BROADCAST   0x0020
+#define SO_PEERCRED    0x0040
+#define SO_LINGER      0x0080
+#define SO_OOBINLINE   0x0100
+/* To add :#define SO_REUSEPORT 0x0200 */
+#define SO_BSDCOMPAT    0x0400
+#define SO_RCVLOWAT     0x0800
+#define SO_SNDLOWAT     0x1000
+#define SO_RCVTIMEO     0x2000
+#define SO_SNDTIMEO     0x4000
+#define SO_ACCEPTCONN  0x8000
+
+#define SO_SNDBUF      0x1001
+#define SO_RCVBUF      0x1002
+#define SO_SNDBUFFORCE 0x100a
+#define SO_RCVBUFFORCE 0x100b
+#define SO_ERROR       0x1007
+#define SO_TYPE                0x1008
+#define SO_PROTOCOL    0x1028
+#define SO_DOMAIN      0x1029
+
+
+/* Linux specific, keep the same. */
+#define SO_NO_CHECK    0x000b
+#define SO_PRIORITY    0x000c
+
+#define SO_BINDTODEVICE 0x000d
+
+#define SO_ATTACH_FILTER       0x001a
+#define SO_DETACH_FILTER        0x001b
+
+#define SO_PEERNAME            0x001c
+#define SO_TIMESTAMP           0x001d
+#define SCM_TIMESTAMP          SO_TIMESTAMP
+
+#define SO_PEERSEC             0x001e
+#define SO_PASSSEC             0x001f
+#define SO_TIMESTAMPNS         0x0021
+#define SCM_TIMESTAMPNS                SO_TIMESTAMPNS
+
+#define SO_MARK                        0x0022
+
+#define SO_TIMESTAMPING                0x0023
+#define SCM_TIMESTAMPING       SO_TIMESTAMPING
+
+#define SO_RXQ_OVFL             0x0024
+
+#define SO_WIFI_STATUS         0x0025
+#define SCM_WIFI_STATUS                SO_WIFI_STATUS
+#define SO_PEEK_OFF            0x0026
+
+/* Instruct lower device to use last 4-bytes of skb data as FCS */
+#define SO_NOFCS               0x0027
+
+
+/* Security levels - as per NRL IPv6 - don't actually do anything */
+#define SO_SECURITY_AUTHENTICATION             0x5001
+#define SO_SECURITY_ENCRYPTION_TRANSPORT       0x5002
+#define SO_SECURITY_ENCRYPTION_NETWORK         0x5004
+
+#endif /* _ASM_SOCKET_H */
diff --git a/arch/sparc/include/uapi/asm/sockios.h b/arch/sparc/include/uapi/asm/sockios.h
new file mode 100644 (file)
index 0000000..990ea74
--- /dev/null
@@ -0,0 +1,14 @@
+#ifndef _ASM_SPARC_SOCKIOS_H
+#define _ASM_SPARC_SOCKIOS_H
+
+/* Socket-level I/O control calls. */
+#define FIOSETOWN      0x8901
+#define SIOCSPGRP      0x8902
+#define FIOGETOWN      0x8903
+#define SIOCGPGRP      0x8904
+#define SIOCATMARK     0x8905
+#define SIOCGSTAMP     0x8906          /* Get stamp (timeval) */
+#define SIOCGSTAMPNS   0x8907          /* Get stamp (timespec) */
+
+#endif /* !(_ASM_SPARC_SOCKIOS_H) */
+
diff --git a/arch/sparc/include/uapi/asm/stat.h b/arch/sparc/include/uapi/asm/stat.h
new file mode 100644 (file)
index 0000000..a232e9e
--- /dev/null
@@ -0,0 +1,107 @@
+#ifndef __SPARC_STAT_H
+#define __SPARC_STAT_H
+
+#include <linux/types.h>
+
+#if defined(__sparc__) && defined(__arch64__)
+/* 64 bit sparc */
+struct stat {
+       unsigned   st_dev;
+       ino_t   st_ino;
+       mode_t  st_mode;
+       short   st_nlink;
+       uid_t   st_uid;
+       gid_t   st_gid;
+       unsigned   st_rdev;
+       off_t   st_size;
+       time_t  st_atime;
+       time_t  st_mtime;
+       time_t  st_ctime;
+       off_t   st_blksize;
+       off_t   st_blocks;
+       unsigned long  __unused4[2];
+};
+
+struct stat64 {
+       unsigned long   st_dev;
+       unsigned long   st_ino;
+       unsigned long   st_nlink;
+
+       unsigned int    st_mode;
+       unsigned int    st_uid;
+       unsigned int    st_gid;
+       unsigned int    __pad0;
+
+       unsigned long   st_rdev;
+       long            st_size;
+       long            st_blksize;
+       long            st_blocks;
+
+       unsigned long   st_atime;
+       unsigned long   st_atime_nsec;
+       unsigned long   st_mtime;
+       unsigned long   st_mtime_nsec;
+       unsigned long   st_ctime;
+       unsigned long   st_ctime_nsec;
+       long            __unused[3];
+};
+
+#else
+/* 32 bit sparc */
+struct stat {
+       unsigned short  st_dev;
+       ino_t           st_ino;
+       mode_t          st_mode;
+       short           st_nlink;
+       unsigned short  st_uid;
+       unsigned short  st_gid;
+       unsigned short  st_rdev;
+       off_t           st_size;
+       time_t          st_atime;
+       unsigned long   st_atime_nsec;
+       time_t          st_mtime;
+       unsigned long   st_mtime_nsec;
+       time_t          st_ctime;
+       unsigned long   st_ctime_nsec;
+       off_t           st_blksize;
+       off_t           st_blocks;
+       unsigned long   __unused4[2];
+};
+
+#define STAT_HAVE_NSEC 1
+
+struct stat64 {
+       unsigned long long st_dev;
+
+       unsigned long long st_ino;
+
+       unsigned int    st_mode;
+       unsigned int    st_nlink;
+
+       unsigned int    st_uid;
+       unsigned int    st_gid;
+
+       unsigned long long st_rdev;
+
+       unsigned char   __pad3[8];
+
+       long long       st_size;
+       unsigned int    st_blksize;
+
+       unsigned char   __pad4[8];
+       unsigned int    st_blocks;
+
+       unsigned int    st_atime;
+       unsigned int    st_atime_nsec;
+
+       unsigned int    st_mtime;
+       unsigned int    st_mtime_nsec;
+
+       unsigned int    st_ctime;
+       unsigned int    st_ctime_nsec;
+
+       unsigned int    __unused4;
+       unsigned int    __unused5;
+};
+#endif /* defined(__sparc__) && defined(__arch64__) */
+#endif /* __SPARC_STAT_H */
diff --git a/arch/sparc/include/uapi/asm/statfs.h b/arch/sparc/include/uapi/asm/statfs.h
new file mode 100644 (file)
index 0000000..55e607a
--- /dev/null
@@ -0,0 +1,6 @@
+#ifndef ___ASM_SPARC_STATFS_H
+#define ___ASM_SPARC_STATFS_H
+
+#include <asm-generic/statfs.h>
+
+#endif
diff --git a/arch/sparc/include/uapi/asm/swab.h b/arch/sparc/include/uapi/asm/swab.h
new file mode 100644 (file)
index 0000000..a34ad07
--- /dev/null
@@ -0,0 +1,45 @@
+#ifndef _SPARC_SWAB_H
+#define _SPARC_SWAB_H
+
+#include <linux/types.h>
+#include <asm/asi.h>
+
+#if defined(__sparc__) && defined(__arch64__)
+static inline __u16 __arch_swab16p(const __u16 *addr)
+{
+       __u16 ret;
+
+       __asm__ __volatile__ ("lduha [%1] %2, %0"
+                             : "=r" (ret)
+                             : "r" (addr), "i" (ASI_PL));
+       return ret;
+}
+#define __arch_swab16p __arch_swab16p
+
+static inline __u32 __arch_swab32p(const __u32 *addr)
+{
+       __u32 ret;
+
+       __asm__ __volatile__ ("lduwa [%1] %2, %0"
+                             : "=r" (ret)
+                             : "r" (addr), "i" (ASI_PL));
+       return ret;
+}
+#define __arch_swab32p __arch_swab32p
+
+static inline __u64 __arch_swab64p(const __u64 *addr)
+{
+       __u64 ret;
+
+       __asm__ __volatile__ ("ldxa [%1] %2, %0"
+                             : "=r" (ret)
+                             : "r" (addr), "i" (ASI_PL));
+       return ret;
+}
+#define __arch_swab64p __arch_swab64p
+
+#else
+#define __SWAB_64_THRU_32__
+#endif /* defined(__sparc__) && defined(__arch64__) */
+
+#endif /* _SPARC_SWAB_H */
diff --git a/arch/sparc/include/uapi/asm/termbits.h b/arch/sparc/include/uapi/asm/termbits.h
new file mode 100644 (file)
index 0000000..dd91642
--- /dev/null
@@ -0,0 +1,263 @@
+#ifndef _UAPI_SPARC_TERMBITS_H
+#define _UAPI_SPARC_TERMBITS_H
+
+#include <linux/posix_types.h>
+
+typedef unsigned char   cc_t;
+typedef unsigned int    speed_t;
+
+#if defined(__sparc__) && defined(__arch64__)
+typedef unsigned int    tcflag_t;
+#else
+typedef unsigned long   tcflag_t;
+#endif
+
+#define NCC 8
+struct termio {
+       unsigned short c_iflag;         /* input mode flags */
+       unsigned short c_oflag;         /* output mode flags */
+       unsigned short c_cflag;         /* control mode flags */
+       unsigned short c_lflag;         /* local mode flags */
+       unsigned char c_line;           /* line discipline */
+       unsigned char c_cc[NCC];        /* control characters */
+};
+
+#define NCCS 17
+struct termios {
+       tcflag_t c_iflag;               /* input mode flags */
+       tcflag_t c_oflag;               /* output mode flags */
+       tcflag_t c_cflag;               /* control mode flags */
+       tcflag_t c_lflag;               /* local mode flags */
+       cc_t c_line;                    /* line discipline */
+#ifndef __KERNEL__
+       cc_t c_cc[NCCS];                /* control characters */
+#else
+       cc_t c_cc[NCCS+2];      /* kernel needs 2 more to hold vmin/vtime */
+#define SIZEOF_USER_TERMIOS sizeof (struct termios) - (2*sizeof (cc_t))
+#endif
+};
+
+struct termios2 {
+       tcflag_t c_iflag;               /* input mode flags */
+       tcflag_t c_oflag;               /* output mode flags */
+       tcflag_t c_cflag;               /* control mode flags */
+       tcflag_t c_lflag;               /* local mode flags */
+       cc_t c_line;                    /* line discipline */
+       cc_t c_cc[NCCS+2];              /* control characters */
+       speed_t c_ispeed;               /* input speed */
+       speed_t c_ospeed;               /* output speed */
+};
+
+struct ktermios {
+       tcflag_t c_iflag;               /* input mode flags */
+       tcflag_t c_oflag;               /* output mode flags */
+       tcflag_t c_cflag;               /* control mode flags */
+       tcflag_t c_lflag;               /* local mode flags */
+       cc_t c_line;                    /* line discipline */
+       cc_t c_cc[NCCS+2];              /* control characters */
+       speed_t c_ispeed;               /* input speed */
+       speed_t c_ospeed;               /* output speed */
+};
+
+/* c_cc characters */
+#define VINTR    0
+#define VQUIT    1
+#define VERASE   2
+#define VKILL    3
+#define VEOF     4
+#define VEOL     5
+#define VEOL2    6
+#define VSWTC    7
+#define VSTART   8
+#define VSTOP    9
+
+
+
+#define VSUSP    10
+#define VDSUSP   11  /* SunOS POSIX nicety I do believe... */
+#define VREPRINT 12
+#define VDISCARD 13
+#define VWERASE  14
+#define VLNEXT   15
+
+/* Kernel keeps vmin/vtime separated, user apps assume vmin/vtime is
+ * shared with eof/eol
+ */
+#ifndef __KERNEL__
+#define VMIN     VEOF
+#define VTIME    VEOL
+#endif
+
+/* c_iflag bits */
+#define IGNBRK 0x00000001
+#define BRKINT 0x00000002
+#define IGNPAR 0x00000004
+#define PARMRK 0x00000008
+#define INPCK  0x00000010
+#define ISTRIP 0x00000020
+#define INLCR  0x00000040
+#define IGNCR  0x00000080
+#define ICRNL  0x00000100
+#define IUCLC  0x00000200
+#define IXON   0x00000400
+#define IXANY  0x00000800
+#define IXOFF  0x00001000
+#define IMAXBEL        0x00002000
+#define IUTF8   0x00004000
+
+/* c_oflag bits */
+#define OPOST  0x00000001
+#define OLCUC  0x00000002
+#define ONLCR  0x00000004
+#define OCRNL  0x00000008
+#define ONOCR  0x00000010
+#define ONLRET 0x00000020
+#define OFILL  0x00000040
+#define OFDEL  0x00000080
+#define NLDLY  0x00000100
+#define   NL0  0x00000000
+#define   NL1  0x00000100
+#define CRDLY  0x00000600
+#define   CR0  0x00000000
+#define   CR1  0x00000200
+#define   CR2  0x00000400
+#define   CR3  0x00000600
+#define TABDLY 0x00001800
+#define   TAB0 0x00000000
+#define   TAB1 0x00000800
+#define   TAB2 0x00001000
+#define   TAB3 0x00001800
+#define   XTABS        0x00001800
+#define BSDLY  0x00002000
+#define   BS0  0x00000000
+#define   BS1  0x00002000
+#define VTDLY  0x00004000
+#define   VT0  0x00000000
+#define   VT1  0x00004000
+#define FFDLY  0x00008000
+#define   FF0  0x00000000
+#define   FF1  0x00008000
+#define PAGEOUT 0x00010000  /* SUNOS specific */
+#define WRAP    0x00020000  /* SUNOS specific */
+
+/* c_cflag bit meaning */
+#define CBAUD    0x0000100f
+#define  B0      0x00000000   /* hang up */
+#define  B50     0x00000001
+#define  B75     0x00000002
+#define  B110    0x00000003
+#define  B134    0x00000004
+#define  B150    0x00000005
+#define  B200    0x00000006
+#define  B300    0x00000007
+#define  B600    0x00000008
+#define  B1200   0x00000009
+#define  B1800   0x0000000a
+#define  B2400   0x0000000b
+#define  B4800   0x0000000c
+#define  B9600   0x0000000d
+#define  B19200          0x0000000e
+#define  B38400          0x0000000f
+#define EXTA      B19200
+#define EXTB      B38400
+#define  CSIZE    0x00000030
+#define   CS5    0x00000000
+#define   CS6    0x00000010
+#define   CS7    0x00000020
+#define   CS8    0x00000030
+#define CSTOPB   0x00000040
+#define CREAD    0x00000080
+#define PARENB   0x00000100
+#define PARODD   0x00000200
+#define HUPCL    0x00000400
+#define CLOCAL   0x00000800
+#define CBAUDEX   0x00001000
+/* We'll never see these speeds with the Zilogs, but for completeness... */
+#define  BOTHER   0x00001000
+#define  B57600   0x00001001
+#define  B115200  0x00001002
+#define  B230400  0x00001003
+#define  B460800  0x00001004
+/* This is what we can do with the Zilogs. */
+#define  B76800   0x00001005
+/* This is what we can do with the SAB82532. */
+#define  B153600  0x00001006
+#define  B307200  0x00001007
+#define  B614400  0x00001008
+#define  B921600  0x00001009
+/* And these are the rest... */
+#define  B500000  0x0000100a
+#define  B576000  0x0000100b
+#define B1000000  0x0000100c
+#define B1152000  0x0000100d
+#define B1500000  0x0000100e
+#define B2000000  0x0000100f
+/* These have totally bogus values and nobody uses them
+   so far. Later on we'd have to use say 0x10000x and
+   adjust CBAUD constant and drivers accordingly.
+#define B2500000  0x00001010
+#define B3000000  0x00001011
+#define B3500000  0x00001012
+#define B4000000  0x00001013  */
+#define CIBAUD   0x100f0000  /* input baud rate (not used) */
+#define CMSPAR   0x40000000  /* mark or space (stick) parity */
+#define CRTSCTS          0x80000000  /* flow control */
+
+#define IBSHIFT          16            /* Shift from CBAUD to CIBAUD */
+
+/* c_lflag bits */
+#define ISIG   0x00000001
+#define ICANON 0x00000002
+#define XCASE  0x00000004
+#define ECHO   0x00000008
+#define ECHOE  0x00000010
+#define ECHOK  0x00000020
+#define ECHONL 0x00000040
+#define NOFLSH 0x00000080
+#define TOSTOP 0x00000100
+#define ECHOCTL        0x00000200
+#define ECHOPRT        0x00000400
+#define ECHOKE 0x00000800
+#define DEFECHO 0x00001000  /* SUNOS thing, what is it? */
+#define FLUSHO 0x00002000
+#define PENDIN 0x00004000
+#define IEXTEN 0x00008000
+#define EXTPROC        0x00010000
+
+/* modem lines */
+#define TIOCM_LE       0x001
+#define TIOCM_DTR      0x002
+#define TIOCM_RTS      0x004
+#define TIOCM_ST       0x008
+#define TIOCM_SR       0x010
+#define TIOCM_CTS      0x020
+#define TIOCM_CAR      0x040
+#define TIOCM_RNG      0x080
+#define TIOCM_DSR      0x100
+#define TIOCM_CD       TIOCM_CAR
+#define TIOCM_RI       TIOCM_RNG
+#define TIOCM_OUT1     0x2000
+#define TIOCM_OUT2     0x4000
+#define TIOCM_LOOP     0x8000
+
+/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
+#define TIOCSER_TEMT    0x01   /* Transmitter physically empty */
+
+
+/* tcflow() and TCXONC use these */
+#define        TCOOFF          0
+#define        TCOON           1
+#define        TCIOFF          2
+#define        TCION           3
+
+/* tcflush() and TCFLSH use these */
+#define        TCIFLUSH        0
+#define        TCOFLUSH        1
+#define        TCIOFLUSH       2
+
+/* tcsetattr uses these */
+#define        TCSANOW         0
+#define        TCSADRAIN       1
+#define        TCSAFLUSH       2
+
+#endif /* _UAPI_SPARC_TERMBITS_H */
diff --git a/arch/sparc/include/uapi/asm/termios.h b/arch/sparc/include/uapi/asm/termios.h
new file mode 100644 (file)
index 0000000..ea6f09e
--- /dev/null
@@ -0,0 +1,43 @@
+#ifndef _UAPI_SPARC_TERMIOS_H
+#define _UAPI_SPARC_TERMIOS_H
+
+#include <asm/ioctls.h>
+#include <asm/termbits.h>
+
+#if defined(__KERNEL__) || defined(__DEFINE_BSD_TERMIOS)
+struct sgttyb {
+       char    sg_ispeed;
+       char    sg_ospeed;
+       char    sg_erase;
+       char    sg_kill;
+       short   sg_flags;
+};
+
+struct tchars {
+       char    t_intrc;
+       char    t_quitc;
+       char    t_startc;
+       char    t_stopc;
+       char    t_eofc;
+       char    t_brkc;
+};
+
+struct ltchars {
+       char    t_suspc;
+       char    t_dsuspc;
+       char    t_rprntc;
+       char    t_flushc;
+       char    t_werasc;
+       char    t_lnextc;
+};
+#endif /* __KERNEL__ */
+
+struct winsize {
+       unsigned short ws_row;
+       unsigned short ws_col;
+       unsigned short ws_xpixel;
+       unsigned short ws_ypixel;
+};
+
+
+#endif /* _UAPI_SPARC_TERMIOS_H */
diff --git a/arch/sparc/include/uapi/asm/traps.h b/arch/sparc/include/uapi/asm/traps.h
new file mode 100644 (file)
index 0000000..a4eceac
--- /dev/null
@@ -0,0 +1,120 @@
+/*
+ * traps.h:  Format of entries for the Sparc trap table.
+ *
+ * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
+ */
+
+#ifndef _UAPI_SPARC_TRAPS_H
+#define _UAPI_SPARC_TRAPS_H
+
+#define NUM_SPARC_TRAPS  255
+
+#ifndef __ASSEMBLY__
+#endif /* !(__ASSEMBLY__) */
+
+/* For patching the trap table at boot time, we need to know how to
+ * form various common Sparc instructions.  Thus these macros...
+ */
+
+#define SPARC_MOV_CONST_L3(const) (0xa6102000 | (const&0xfff))
+
+/* The following assumes that the branch lies before the place we
+ * are branching to.  This is the case for a trap vector...
+ * You have been warned.
+ */
+#define SPARC_BRANCH(dest_addr, inst_addr) \
+          (0x10800000 | (((dest_addr-inst_addr)>>2)&0x3fffff))
+
+#define SPARC_RD_PSR_L0  (0xa1480000)
+#define SPARC_RD_WIM_L3  (0xa7500000)
+#define SPARC_NOP (0x01000000)
+
+/* Various interesting trap levels. */
+/* First, hardware traps. */
+#define SP_TRAP_TFLT    0x1          /* Text fault */
+#define SP_TRAP_II      0x2          /* Illegal Instruction */
+#define SP_TRAP_PI      0x3          /* Privileged Instruction */
+#define SP_TRAP_FPD     0x4          /* Floating Point Disabled */
+#define SP_TRAP_WOVF    0x5          /* Window Overflow */
+#define SP_TRAP_WUNF    0x6          /* Window Underflow */
+#define SP_TRAP_MNA     0x7          /* Memory Address Unaligned */
+#define SP_TRAP_FPE     0x8          /* Floating Point Exception */
+#define SP_TRAP_DFLT    0x9          /* Data Fault */
+#define SP_TRAP_TOF     0xa          /* Tag Overflow */
+#define SP_TRAP_WDOG    0xb          /* Watchpoint Detected */
+#define SP_TRAP_IRQ1    0x11         /* IRQ level 1 */
+#define SP_TRAP_IRQ2    0x12         /* IRQ level 2 */
+#define SP_TRAP_IRQ3    0x13         /* IRQ level 3 */
+#define SP_TRAP_IRQ4    0x14         /* IRQ level 4 */
+#define SP_TRAP_IRQ5    0x15         /* IRQ level 5 */
+#define SP_TRAP_IRQ6    0x16         /* IRQ level 6 */
+#define SP_TRAP_IRQ7    0x17         /* IRQ level 7 */
+#define SP_TRAP_IRQ8    0x18         /* IRQ level 8 */
+#define SP_TRAP_IRQ9    0x19         /* IRQ level 9 */
+#define SP_TRAP_IRQ10   0x1a         /* IRQ level 10 */
+#define SP_TRAP_IRQ11   0x1b         /* IRQ level 11 */
+#define SP_TRAP_IRQ12   0x1c         /* IRQ level 12 */
+#define SP_TRAP_IRQ13   0x1d         /* IRQ level 13 */
+#define SP_TRAP_IRQ14   0x1e         /* IRQ level 14 */
+#define SP_TRAP_IRQ15   0x1f         /* IRQ level 15 Non-maskable */
+#define SP_TRAP_RACC    0x20         /* Register Access Error ??? */
+#define SP_TRAP_IACC    0x21         /* Instruction Access Error */
+#define SP_TRAP_CPDIS   0x24         /* Co-Processor Disabled */
+#define SP_TRAP_BADFL   0x25         /* Unimplemented Flush Instruction */
+#define SP_TRAP_CPEXP   0x28         /* Co-Processor Exception */
+#define SP_TRAP_DACC    0x29         /* Data Access Error */
+#define SP_TRAP_DIVZ    0x2a         /* Divide By Zero */
+#define SP_TRAP_DSTORE  0x2b         /* Data Store Error ??? */
+#define SP_TRAP_DMM     0x2c         /* Data Access MMU Miss ??? */
+#define SP_TRAP_IMM     0x3c         /* Instruction Access MMU Miss ??? */
+
+/* Now the Software Traps... */
+#define SP_TRAP_SUNOS   0x80         /* SunOS System Call */
+#define SP_TRAP_SBPT    0x81         /* Software Breakpoint */
+#define SP_TRAP_SDIVZ   0x82         /* Software Divide-by-Zero trap */
+#define SP_TRAP_FWIN    0x83         /* Flush Windows */
+#define SP_TRAP_CWIN    0x84         /* Clean Windows */
+#define SP_TRAP_RCHK    0x85         /* Range Check */
+#define SP_TRAP_FUNA    0x86         /* Fix Unaligned Access */
+#define SP_TRAP_IOWFL   0x87         /* Integer Overflow */
+#define SP_TRAP_SOLARIS 0x88         /* Solaris System Call */
+#define SP_TRAP_NETBSD  0x89         /* NetBSD System Call */
+#define SP_TRAP_LINUX   0x90         /* Linux System Call */
+
+/* Names used for compatibility with SunOS */
+#define ST_SYSCALL              0x00
+#define ST_BREAKPOINT           0x01
+#define ST_DIV0                 0x02
+#define ST_FLUSH_WINDOWS        0x03
+#define ST_CLEAN_WINDOWS        0x04
+#define ST_RANGE_CHECK          0x05
+#define ST_FIX_ALIGN            0x06
+#define ST_INT_OVERFLOW         0x07
+
+/* Special traps... */
+#define SP_TRAP_KBPT1   0xfe         /* KADB/PROM Breakpoint one */
+#define SP_TRAP_KBPT2   0xff         /* KADB/PROM Breakpoint two */
+
+/* Handy Macros */
+/* Is this a trap we never expect to get? */
+#define BAD_TRAP_P(level) \
+        ((level > SP_TRAP_WDOG && level < SP_TRAP_IRQ1) || \
+        (level > SP_TRAP_IACC && level < SP_TRAP_CPDIS) || \
+        (level > SP_TRAP_BADFL && level < SP_TRAP_CPEXP) || \
+        (level > SP_TRAP_DMM && level < SP_TRAP_IMM) || \
+        (level > SP_TRAP_IMM && level < SP_TRAP_SUNOS) || \
+        (level > SP_TRAP_LINUX && level < SP_TRAP_KBPT1))
+
+/* Is this a Hardware trap? */
+#define HW_TRAP_P(level) ((level > 0) && (level < SP_TRAP_SUNOS))
+
+/* Is this a Software trap? */
+#define SW_TRAP_P(level) ((level >= SP_TRAP_SUNOS) && (level <= SP_TRAP_KBPT2))
+
+/* Is this a system call for some OS we know about? */
+#define SCALL_TRAP_P(level) ((level == SP_TRAP_SUNOS) || \
+                            (level == SP_TRAP_SOLARIS) || \
+                            (level == SP_TRAP_NETBSD) || \
+                            (level == SP_TRAP_LINUX))
+
+#endif /* _UAPI_SPARC_TRAPS_H */
diff --git a/arch/sparc/include/uapi/asm/types.h b/arch/sparc/include/uapi/asm/types.h
new file mode 100644 (file)
index 0000000..383d156
--- /dev/null
@@ -0,0 +1,17 @@
+#ifndef _SPARC_TYPES_H
+#define _SPARC_TYPES_H
+/*
+ * This file is never included by application software unless
+ * explicitly requested (e.g., via linux/types.h) in which case the
+ * application is Linux specific so (user-) name space pollution is
+ * not a major issue.  However, for interoperability, libraries still
+ * need to be careful to avoid a name clashes.
+ */
+
+#if defined(__sparc__)
+
+#include <asm-generic/int-ll64.h>
+
+#endif /* defined(__sparc__) */
+
+#endif /* defined(_SPARC_TYPES_H) */
diff --git a/arch/sparc/include/uapi/asm/uctx.h b/arch/sparc/include/uapi/asm/uctx.h
new file mode 100644 (file)
index 0000000..dc937c7
--- /dev/null
@@ -0,0 +1,71 @@
+/*
+ * uctx.h: Sparc64 {set,get}context() register state layouts.
+ *
+ * Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
+ */
+
+#ifndef __SPARC64_UCTX_H
+#define __SPARC64_UCTX_H
+
+#define MC_TSTATE      0
+#define MC_PC          1
+#define MC_NPC         2
+#define MC_Y           3
+#define MC_G1          4
+#define MC_G2          5
+#define MC_G3          6
+#define MC_G4          7
+#define MC_G5          8
+#define MC_G6          9
+#define MC_G7          10
+#define MC_O0          11
+#define MC_O1          12
+#define MC_O2          13
+#define MC_O3          14
+#define MC_O4          15
+#define MC_O5          16
+#define MC_O6          17
+#define MC_O7          18
+#define MC_NGREG       19
+
+typedef unsigned long mc_greg_t;
+typedef mc_greg_t mc_gregset_t[MC_NGREG];
+
+#define MC_MAXFPQ      16
+struct mc_fq {
+       unsigned long   *mcfq_addr;
+       unsigned int    mcfq_insn;
+};
+
+struct mc_fpu {
+       union {
+               unsigned int    sregs[32];
+               unsigned long   dregs[32];
+               long double     qregs[16];
+       } mcfpu_fregs;
+       unsigned long   mcfpu_fsr;
+       unsigned long   mcfpu_fprs;
+       unsigned long   mcfpu_gsr;
+       struct mc_fq    *mcfpu_fq;
+       unsigned char   mcfpu_qcnt;
+       unsigned char   mcfpu_qentsz;
+       unsigned char   mcfpu_enab;
+};
+typedef struct mc_fpu mc_fpu_t;
+
+typedef struct {
+       mc_gregset_t    mc_gregs;
+       mc_greg_t       mc_fp;
+       mc_greg_t       mc_i7;
+       mc_fpu_t        mc_fpregs;
+} mcontext_t;
+
+struct ucontext {
+       struct ucontext         *uc_link;
+       unsigned long           uc_flags;
+       sigset_t                uc_sigmask;
+       mcontext_t              uc_mcontext;
+};
+typedef struct ucontext ucontext_t;
+
+#endif /* __SPARC64_UCTX_H */
diff --git a/arch/sparc/include/uapi/asm/unistd.h b/arch/sparc/include/uapi/asm/unistd.h
new file mode 100644 (file)
index 0000000..8974ef7
--- /dev/null
@@ -0,0 +1,422 @@
+/*
+ * System calls under the Sparc.
+ *
+ * Don't be scared by the ugly clobbers, it is the only way I can
+ * think of right now to force the arguments into fixed registers
+ * before the trap into the system call with gcc 'asm' statements.
+ *
+ * Copyright (C) 1995, 2007 David S. Miller (davem@davemloft.net)
+ *
+ * SunOS compatibility based upon preliminary work which is:
+ *
+ * Copyright (C) 1995 Adrian M. Rodriguez (adrian@remus.rutgers.edu)
+ */
+#ifndef _UAPI_SPARC_UNISTD_H
+#define _UAPI_SPARC_UNISTD_H
+
+#ifndef __32bit_syscall_numbers__
+#ifndef __arch64__
+#define __32bit_syscall_numbers__
+#endif
+#endif
+
+#define __NR_restart_syscall      0 /* Linux Specific                             */
+#define __NR_exit                 1 /* Common                                      */
+#define __NR_fork                 2 /* Common                                      */
+#define __NR_read                 3 /* Common                                      */
+#define __NR_write                4 /* Common                                      */
+#define __NR_open                 5 /* Common                                      */
+#define __NR_close                6 /* Common                                      */
+#define __NR_wait4                7 /* Common                                      */
+#define __NR_creat                8 /* Common                                      */
+#define __NR_link                 9 /* Common                                      */
+#define __NR_unlink              10 /* Common                                      */
+#define __NR_execv               11 /* SunOS Specific                              */
+#define __NR_chdir               12 /* Common                                      */
+#define __NR_chown              13 /* Common                                      */
+#define __NR_mknod               14 /* Common                                      */
+#define __NR_chmod               15 /* Common                                      */
+#define __NR_lchown              16 /* Common                                      */
+#define __NR_brk                 17 /* Common                                      */
+#define __NR_perfctr             18 /* Performance counter operations              */
+#define __NR_lseek               19 /* Common                                      */
+#define __NR_getpid              20 /* Common                                      */
+#define __NR_capget             21 /* Linux Specific                              */
+#define __NR_capset             22 /* Linux Specific                              */
+#define __NR_setuid              23 /* Implemented via setreuid in SunOS           */
+#define __NR_getuid              24 /* Common                                      */
+#define __NR_vmsplice           25 /* ENOSYS under SunOS                          */
+#define __NR_ptrace              26 /* Common                                      */
+#define __NR_alarm               27 /* Implemented via setitimer in SunOS          */
+#define __NR_sigaltstack        28 /* Common                                      */
+#define __NR_pause               29 /* Is sigblock(0)->sigpause() in SunOS         */
+#define __NR_utime               30 /* Implemented via utimes() under SunOS        */
+#ifdef __32bit_syscall_numbers__
+#define __NR_lchown32            31 /* Linux sparc32 specific                      */
+#define __NR_fchown32            32 /* Linux sparc32 specific                      */
+#endif
+#define __NR_access              33 /* Common                                      */
+#define __NR_nice                34 /* Implemented via get/setpriority() in SunOS  */
+#ifdef __32bit_syscall_numbers__
+#define __NR_chown32             35 /* Linux sparc32 specific                      */
+#endif
+#define __NR_sync                36 /* Common                                      */
+#define __NR_kill                37 /* Common                                      */
+#define __NR_stat                38 /* Common                                      */
+#define __NR_sendfile           39 /* Linux Specific                              */
+#define __NR_lstat               40 /* Common                                      */
+#define __NR_dup                 41 /* Common                                      */
+#define __NR_pipe                42 /* Common                                      */
+#define __NR_times               43 /* Implemented via getrusage() in SunOS        */
+#ifdef __32bit_syscall_numbers__
+#define __NR_getuid32            44 /* Linux sparc32 specific                      */
+#endif
+#define __NR_umount2             45 /* Linux Specific                              */
+#define __NR_setgid              46 /* Implemented via setregid() in SunOS         */
+#define __NR_getgid              47 /* Common                                      */
+#define __NR_signal              48 /* Implemented via sigvec() in SunOS           */
+#define __NR_geteuid             49 /* SunOS calls getuid()                        */
+#define __NR_getegid             50 /* SunOS calls getgid()                        */
+#define __NR_acct                51 /* Common                                      */
+#ifdef __32bit_syscall_numbers__
+#define __NR_getgid32            53 /* Linux sparc32 specific                      */
+#else
+#define __NR_memory_ordering    52 /* Linux Specific                              */
+#endif
+#define __NR_ioctl               54 /* Common                                      */
+#define __NR_reboot              55 /* Common                                      */
+#ifdef __32bit_syscall_numbers__
+#define __NR_mmap2              56 /* Linux sparc32 Specific                      */
+#endif
+#define __NR_symlink             57 /* Common                                      */
+#define __NR_readlink            58 /* Common                                      */
+#define __NR_execve              59 /* Common                                      */
+#define __NR_umask               60 /* Common                                      */
+#define __NR_chroot              61 /* Common                                      */
+#define __NR_fstat               62 /* Common                                      */
+#define __NR_fstat64            63 /* Linux Specific                              */
+#define __NR_getpagesize         64 /* Common                                      */
+#define __NR_msync               65 /* Common in newer 1.3.x revs...               */
+#define __NR_vfork               66 /* Common                                      */
+#define __NR_pread64             67 /* Linux Specific                              */
+#define __NR_pwrite64            68 /* Linux Specific                              */
+#ifdef __32bit_syscall_numbers__
+#define __NR_geteuid32           69 /* Linux sparc32, sbrk under SunOS             */
+#define __NR_getegid32           70 /* Linux sparc32, sstk under SunOS             */
+#endif
+#define __NR_mmap                71 /* Common                                      */
+#ifdef __32bit_syscall_numbers__
+#define __NR_setreuid32          72 /* Linux sparc32, vadvise under SunOS          */
+#endif
+#define __NR_munmap              73 /* Common                                      */
+#define __NR_mprotect            74 /* Common                                      */
+#define __NR_madvise             75 /* Common                                      */
+#define __NR_vhangup             76 /* Common                                      */
+#ifdef __32bit_syscall_numbers__
+#define __NR_truncate64                 77 /* Linux sparc32 Specific                      */
+#endif
+#define __NR_mincore             78 /* Common                                      */
+#define __NR_getgroups           79 /* Common                                      */
+#define __NR_setgroups           80 /* Common                                      */
+#define __NR_getpgrp             81 /* Common                                      */
+#ifdef __32bit_syscall_numbers__
+#define __NR_setgroups32         82 /* Linux sparc32, setpgrp under SunOS          */
+#endif
+#define __NR_setitimer           83 /* Common                                      */
+#ifdef __32bit_syscall_numbers__
+#define __NR_ftruncate64        84 /* Linux sparc32 Specific                      */
+#endif
+#define __NR_swapon              85 /* Common                                      */
+#define __NR_getitimer           86 /* Common                                      */
+#ifdef __32bit_syscall_numbers__
+#define __NR_setuid32            87 /* Linux sparc32, gethostname under SunOS      */
+#endif
+#define __NR_sethostname         88 /* Common                                      */
+#ifdef __32bit_syscall_numbers__
+#define __NR_setgid32            89 /* Linux sparc32, getdtablesize under SunOS    */
+#endif
+#define __NR_dup2                90 /* Common                                      */
+#ifdef __32bit_syscall_numbers__
+#define __NR_setfsuid32          91 /* Linux sparc32, getdopt under SunOS          */
+#endif
+#define __NR_fcntl               92 /* Common                                      */
+#define __NR_select              93 /* Common                                      */
+#ifdef __32bit_syscall_numbers__
+#define __NR_setfsgid32          94 /* Linux sparc32, setdopt under SunOS          */
+#endif
+#define __NR_fsync               95 /* Common                                      */
+#define __NR_setpriority         96 /* Common                                      */
+#define __NR_socket              97 /* Common                                      */
+#define __NR_connect             98 /* Common                                      */
+#define __NR_accept              99 /* Common                                      */
+#define __NR_getpriority        100 /* Common                                      */
+#define __NR_rt_sigreturn       101 /* Linux Specific                              */
+#define __NR_rt_sigaction       102 /* Linux Specific                              */
+#define __NR_rt_sigprocmask     103 /* Linux Specific                              */
+#define __NR_rt_sigpending      104 /* Linux Specific                              */
+#define __NR_rt_sigtimedwait    105 /* Linux Specific                              */
+#define __NR_rt_sigqueueinfo    106 /* Linux Specific                              */
+#define __NR_rt_sigsuspend      107 /* Linux Specific                              */
+#ifdef __32bit_syscall_numbers__
+#define __NR_setresuid32        108 /* Linux Specific, sigvec under SunOS         */
+#define __NR_getresuid32        109 /* Linux Specific, sigblock under SunOS       */
+#define __NR_setresgid32        110 /* Linux Specific, sigsetmask under SunOS     */
+#define __NR_getresgid32        111 /* Linux Specific, sigpause under SunOS       */
+#define __NR_setregid32         112 /* Linux sparc32, sigstack under SunOS         */
+#else
+#define __NR_setresuid          108 /* Linux Specific, sigvec under SunOS         */
+#define __NR_getresuid          109 /* Linux Specific, sigblock under SunOS       */
+#define __NR_setresgid          110 /* Linux Specific, sigsetmask under SunOS     */
+#define __NR_getresgid          111 /* Linux Specific, sigpause under SunOS       */
+#endif
+#define __NR_recvmsg            113 /* Common                                      */
+#define __NR_sendmsg            114 /* Common                                      */
+#ifdef __32bit_syscall_numbers__
+#define __NR_getgroups32        115 /* Linux sparc32, vtrace under SunOS           */
+#endif
+#define __NR_gettimeofday       116 /* Common                                      */
+#define __NR_getrusage          117 /* Common                                      */
+#define __NR_getsockopt         118 /* Common                                      */
+#define __NR_getcwd            119 /* Linux Specific                              */
+#define __NR_readv              120 /* Common                                      */
+#define __NR_writev             121 /* Common                                      */
+#define __NR_settimeofday       122 /* Common                                      */
+#define __NR_fchown             123 /* Common                                      */
+#define __NR_fchmod             124 /* Common                                      */
+#define __NR_recvfrom           125 /* Common                                      */
+#define __NR_setreuid           126 /* Common                                      */
+#define __NR_setregid           127 /* Common                                      */
+#define __NR_rename             128 /* Common                                      */
+#define __NR_truncate           129 /* Common                                      */
+#define __NR_ftruncate          130 /* Common                                      */
+#define __NR_flock              131 /* Common                                      */
+#define __NR_lstat64           132 /* Linux Specific                              */
+#define __NR_sendto             133 /* Common                                      */
+#define __NR_shutdown           134 /* Common                                      */
+#define __NR_socketpair         135 /* Common                                      */
+#define __NR_mkdir              136 /* Common                                      */
+#define __NR_rmdir              137 /* Common                                      */
+#define __NR_utimes             138 /* SunOS Specific                              */
+#define __NR_stat64            139 /* Linux Specific                              */
+#define __NR_sendfile64         140 /* adjtime under SunOS                         */
+#define __NR_getpeername        141 /* Common                                      */
+#define __NR_futex              142 /* gethostid under SunOS                       */
+#define __NR_gettid             143 /* ENOSYS under SunOS                          */
+#define __NR_getrlimit         144 /* Common                                      */
+#define __NR_setrlimit          145 /* Common                                      */
+#define __NR_pivot_root                146 /* Linux Specific, killpg under SunOS          */
+#define __NR_prctl             147 /* ENOSYS under SunOS                          */
+#define __NR_pciconfig_read    148 /* ENOSYS under SunOS                          */
+#define __NR_pciconfig_write   149 /* ENOSYS under SunOS                          */
+#define __NR_getsockname        150 /* Common                                      */
+#define __NR_inotify_init       151 /* Linux specific                              */
+#define __NR_inotify_add_watch  152 /* Linux specific                              */
+#define __NR_poll               153 /* Common                                      */
+#define __NR_getdents64                154 /* Linux specific                              */
+#ifdef __32bit_syscall_numbers__
+#define __NR_fcntl64           155 /* Linux sparc32 Specific                      */
+#endif
+#define __NR_inotify_rm_watch   156 /* Linux specific                             */
+#define __NR_statfs             157 /* Common                                      */
+#define __NR_fstatfs            158 /* Common                                      */
+#define __NR_umount             159 /* Common                                      */
+#define __NR_sched_set_affinity 160 /* Linux specific, async_daemon under SunOS    */
+#define __NR_sched_get_affinity 161 /* Linux specific, getfh under SunOS           */
+#define __NR_getdomainname      162 /* SunOS Specific                              */
+#define __NR_setdomainname      163 /* Common                                      */
+#ifndef __32bit_syscall_numbers__
+#define __NR_utrap_install     164 /* SYSV ABI/v9 required                        */
+#endif
+#define __NR_quotactl           165 /* Common                                      */
+#define __NR_set_tid_address    166 /* Linux specific, exportfs under SunOS        */
+#define __NR_mount              167 /* Common                                      */
+#define __NR_ustat              168 /* Common                                      */
+#define __NR_setxattr           169 /* SunOS: semsys                               */
+#define __NR_lsetxattr          170 /* SunOS: msgsys                               */
+#define __NR_fsetxattr          171 /* SunOS: shmsys                               */
+#define __NR_getxattr           172 /* SunOS: auditsys                             */
+#define __NR_lgetxattr          173 /* SunOS: rfssys                               */
+#define __NR_getdents           174 /* Common                                      */
+#define __NR_setsid             175 /* Common                                      */
+#define __NR_fchdir             176 /* Common                                      */
+#define __NR_fgetxattr          177 /* SunOS: fchroot                              */
+#define __NR_listxattr          178 /* SunOS: vpixsys                              */
+#define __NR_llistxattr         179 /* SunOS: aioread                              */
+#define __NR_flistxattr         180 /* SunOS: aiowrite                             */
+#define __NR_removexattr        181 /* SunOS: aiowait                              */
+#define __NR_lremovexattr       182 /* SunOS: aiocancel                            */
+#define __NR_sigpending         183 /* Common                                      */
+#define __NR_query_module      184 /* Linux Specific                              */
+#define __NR_setpgid            185 /* Common                                      */
+#define __NR_fremovexattr       186 /* SunOS: pathconf                             */
+#define __NR_tkill              187 /* SunOS: fpathconf                            */
+#define __NR_exit_group                188 /* Linux specific, sysconf undef SunOS         */
+#define __NR_uname              189 /* Linux Specific                              */
+#define __NR_init_module        190 /* Linux Specific                              */
+#define __NR_personality        191 /* Linux Specific                              */
+#define __NR_remap_file_pages   192 /* Linux Specific                              */
+#define __NR_epoll_create       193 /* Linux Specific                              */
+#define __NR_epoll_ctl          194 /* Linux Specific                              */
+#define __NR_epoll_wait         195 /* Linux Specific                              */
+#define __NR_ioprio_set         196 /* Linux Specific                              */
+#define __NR_getppid            197 /* Linux Specific                              */
+#define __NR_sigaction          198 /* Linux Specific                              */
+#define __NR_sgetmask           199 /* Linux Specific                              */
+#define __NR_ssetmask           200 /* Linux Specific                              */
+#define __NR_sigsuspend         201 /* Linux Specific                              */
+#define __NR_oldlstat           202 /* Linux Specific                              */
+#define __NR_uselib             203 /* Linux Specific                              */
+#define __NR_readdir            204 /* Linux Specific                              */
+#define __NR_readahead          205 /* Linux Specific                              */
+#define __NR_socketcall         206 /* Linux Specific                              */
+#define __NR_syslog             207 /* Linux Specific                              */
+#define __NR_lookup_dcookie     208 /* Linux Specific                              */
+#define __NR_fadvise64          209 /* Linux Specific                              */
+#define __NR_fadvise64_64       210 /* Linux Specific                              */
+#define __NR_tgkill             211 /* Linux Specific                              */
+#define __NR_waitpid            212 /* Linux Specific                              */
+#define __NR_swapoff            213 /* Linux Specific                              */
+#define __NR_sysinfo            214 /* Linux Specific                              */
+#define __NR_ipc                215 /* Linux Specific                              */
+#define __NR_sigreturn          216 /* Linux Specific                              */
+#define __NR_clone              217 /* Linux Specific                              */
+#define __NR_ioprio_get         218 /* Linux Specific                              */
+#define __NR_adjtimex           219 /* Linux Specific                              */
+#define __NR_sigprocmask        220 /* Linux Specific                              */
+#define __NR_create_module      221 /* Linux Specific                              */
+#define __NR_delete_module      222 /* Linux Specific                              */
+#define __NR_get_kernel_syms    223 /* Linux Specific                              */
+#define __NR_getpgid            224 /* Linux Specific                              */
+#define __NR_bdflush            225 /* Linux Specific                              */
+#define __NR_sysfs              226 /* Linux Specific                              */
+#define __NR_afs_syscall        227 /* Linux Specific                              */
+#define __NR_setfsuid           228 /* Linux Specific                              */
+#define __NR_setfsgid           229 /* Linux Specific                              */
+#define __NR__newselect         230 /* Linux Specific                              */
+#ifdef __32bit_syscall_numbers__
+#define __NR_time               231 /* Linux Specific                              */
+#else
+#endif
+#define __NR_splice             232 /* Linux Specific                              */
+#define __NR_stime              233 /* Linux Specific                              */
+#define __NR_statfs64           234 /* Linux Specific                              */
+#define __NR_fstatfs64          235 /* Linux Specific                              */
+#define __NR__llseek            236 /* Linux Specific                              */
+#define __NR_mlock              237
+#define __NR_munlock            238
+#define __NR_mlockall           239
+#define __NR_munlockall         240
+#define __NR_sched_setparam     241
+#define __NR_sched_getparam     242
+#define __NR_sched_setscheduler 243
+#define __NR_sched_getscheduler 244
+#define __NR_sched_yield        245
+#define __NR_sched_get_priority_max 246
+#define __NR_sched_get_priority_min 247
+#define __NR_sched_rr_get_interval  248
+#define __NR_nanosleep          249
+#define __NR_mremap             250
+#define __NR__sysctl            251
+#define __NR_getsid             252
+#define __NR_fdatasync          253
+#define __NR_nfsservctl         254
+#define __NR_sync_file_range   255
+#define __NR_clock_settime     256
+#define __NR_clock_gettime     257
+#define __NR_clock_getres      258
+#define __NR_clock_nanosleep   259
+#define __NR_sched_getaffinity 260
+#define __NR_sched_setaffinity 261
+#define __NR_timer_settime     262
+#define __NR_timer_gettime     263
+#define __NR_timer_getoverrun  264
+#define __NR_timer_delete      265
+#define __NR_timer_create      266
+/* #define __NR_vserver                267 Reserved for VSERVER */
+#define __NR_io_setup          268
+#define __NR_io_destroy                269
+#define __NR_io_submit         270
+#define __NR_io_cancel         271
+#define __NR_io_getevents      272
+#define __NR_mq_open           273
+#define __NR_mq_unlink         274
+#define __NR_mq_timedsend      275
+#define __NR_mq_timedreceive   276
+#define __NR_mq_notify         277
+#define __NR_mq_getsetattr     278
+#define __NR_waitid            279
+#define __NR_tee               280
+#define __NR_add_key           281
+#define __NR_request_key       282
+#define __NR_keyctl            283
+#define __NR_openat            284
+#define __NR_mkdirat           285
+#define __NR_mknodat           286
+#define __NR_fchownat          287
+#define __NR_futimesat         288
+#define __NR_fstatat64         289
+#define __NR_unlinkat          290
+#define __NR_renameat          291
+#define __NR_linkat            292
+#define __NR_symlinkat         293
+#define __NR_readlinkat                294
+#define __NR_fchmodat          295
+#define __NR_faccessat         296
+#define __NR_pselect6          297
+#define __NR_ppoll             298
+#define __NR_unshare           299
+#define __NR_set_robust_list   300
+#define __NR_get_robust_list   301
+#define __NR_migrate_pages     302
+#define __NR_mbind             303
+#define __NR_get_mempolicy     304
+#define __NR_set_mempolicy     305
+#define __NR_kexec_load                306
+#define __NR_move_pages                307
+#define __NR_getcpu            308
+#define __NR_epoll_pwait       309
+#define __NR_utimensat         310
+#define __NR_signalfd          311
+#define __NR_timerfd_create    312
+#define __NR_eventfd           313
+#define __NR_fallocate         314
+#define __NR_timerfd_settime   315
+#define __NR_timerfd_gettime   316
+#define __NR_signalfd4         317
+#define __NR_eventfd2          318
+#define __NR_epoll_create1     319
+#define __NR_dup3              320
+#define __NR_pipe2             321
+#define __NR_inotify_init1     322
+#define __NR_accept4           323
+#define __NR_preadv            324
+#define __NR_pwritev           325
+#define __NR_rt_tgsigqueueinfo 326
+#define __NR_perf_event_open   327
+#define __NR_recvmmsg          328
+#define __NR_fanotify_init     329
+#define __NR_fanotify_mark     330
+#define __NR_prlimit64         331
+#define __NR_name_to_handle_at 332
+#define __NR_open_by_handle_at 333
+#define __NR_clock_adjtime     334
+#define __NR_syncfs            335
+#define __NR_sendmmsg          336
+#define __NR_setns             337
+#define __NR_process_vm_readv  338
+#define __NR_process_vm_writev 339
+
+#define NR_syscalls            340
+
+#ifdef __32bit_syscall_numbers__
+/* Sparc 32-bit only has the "setresuid32", "getresuid32" variants,
+ * it never had the plain ones and there is no value to adding those
+ * old versions into the syscall table.
+ */
+#define __IGNORE_setresuid
+#define __IGNORE_getresuid
+#define __IGNORE_setresgid
+#define __IGNORE_getresgid
+#endif
+
+#endif /* _UAPI_SPARC_UNISTD_H */
diff --git a/arch/sparc/include/uapi/asm/utrap.h b/arch/sparc/include/uapi/asm/utrap.h
new file mode 100644 (file)
index 0000000..b10e527
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+ * include/asm/utrap.h
+ *
+ * Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
+ */
+
+#ifndef __ASM_SPARC64_UTRAP_H
+#define __ASM_SPARC64_UTRAP_H
+
+#define UT_INSTRUCTION_EXCEPTION               1
+#define UT_INSTRUCTION_ERROR                   2
+#define UT_INSTRUCTION_PROTECTION              3
+#define UT_ILLTRAP_INSTRUCTION                 4
+#define UT_ILLEGAL_INSTRUCTION                 5
+#define UT_PRIVILEGED_OPCODE                   6
+#define UT_FP_DISABLED                         7
+#define UT_FP_EXCEPTION_IEEE_754               8
+#define UT_FP_EXCEPTION_OTHER                  9
+#define UT_TAG_OVERVIEW                                10
+#define UT_DIVISION_BY_ZERO                    11
+#define UT_DATA_EXCEPTION                      12
+#define UT_DATA_ERROR                          13
+#define UT_DATA_PROTECTION                     14
+#define UT_MEM_ADDRESS_NOT_ALIGNED             15
+#define UT_PRIVILEGED_ACTION                   16
+#define UT_ASYNC_DATA_ERROR                    17
+#define UT_TRAP_INSTRUCTION_16                 18
+#define UT_TRAP_INSTRUCTION_17                 19
+#define UT_TRAP_INSTRUCTION_18                 20
+#define UT_TRAP_INSTRUCTION_19                 21
+#define UT_TRAP_INSTRUCTION_20                 22
+#define UT_TRAP_INSTRUCTION_21                 23
+#define UT_TRAP_INSTRUCTION_22                 24
+#define UT_TRAP_INSTRUCTION_23                 25
+#define UT_TRAP_INSTRUCTION_24                 26
+#define UT_TRAP_INSTRUCTION_25                 27
+#define UT_TRAP_INSTRUCTION_26                 28
+#define UT_TRAP_INSTRUCTION_27                 29
+#define UT_TRAP_INSTRUCTION_28                 30
+#define UT_TRAP_INSTRUCTION_29                 31
+#define UT_TRAP_INSTRUCTION_30                 32
+#define UT_TRAP_INSTRUCTION_31                 33
+
+#define        UTH_NOCHANGE                            (-1)
+
+#ifndef __ASSEMBLY__
+typedef int utrap_entry_t;
+typedef void *utrap_handler_t;
+#endif /* __ASSEMBLY__ */
+
+#endif /* !(__ASM_SPARC64_PROCESSOR_H) */
diff --git a/arch/sparc/include/uapi/asm/watchdog.h b/arch/sparc/include/uapi/asm/watchdog.h
new file mode 100644 (file)
index 0000000..5baf2d3
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ *
+ * watchdog - Driver interface for the hardware watchdog timers
+ * present on Sun Microsystems boardsets
+ *
+ * Copyright (c) 2000 Eric Brower <ebrower@usa.net>
+ *
+ */
+
+#ifndef _SPARC64_WATCHDOG_H
+#define _SPARC64_WATCHDOG_H
+
+#include <linux/watchdog.h>
+
+/* Solaris compatibility ioctls--
+ * Ref. <linux/watchdog.h> for standard linux watchdog ioctls
+ */
+#define WIOCSTART _IO (WATCHDOG_IOCTL_BASE, 10)                /* Start Timer          */
+#define WIOCSTOP  _IO (WATCHDOG_IOCTL_BASE, 11)                /* Stop Timer           */
+#define WIOCGSTAT _IOR(WATCHDOG_IOCTL_BASE, 12, int)/* Get Timer Status        */
+
+/* Status flags from WIOCGSTAT ioctl
+ */
+#define WD_FREERUN     0x01    /* timer is running, interrupts disabled        */
+#define WD_EXPIRED     0x02    /* timer has expired                                            */
+#define WD_RUNNING     0x04    /* timer is running, interrupts enabled         */
+#define WD_STOPPED     0x08    /* timer has not been started                           */
+#define WD_SERVICED 0x10       /* timer interrupt was serviced                         */
+
+#endif /* ifndef _SPARC64_WATCHDOG_H */
+