UAPI: (Scripted) Disintegrate arch/sparc/include/asm
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>
This commit is contained in:
@@ -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
|
||||
|
64
arch/sparc/include/uapi/asm/apc.h
Normal file
64
arch/sparc/include/uapi/asm/apc.h
Normal file
@@ -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) */
|
297
arch/sparc/include/uapi/asm/asi.h
Normal file
297
arch/sparc/include/uapi/asm/asi.h
Normal file
@@ -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 */
|
4
arch/sparc/include/uapi/asm/auxvec.h
Normal file
4
arch/sparc/include/uapi/asm/auxvec.h
Normal file
@@ -0,0 +1,4 @@
|
||||
#ifndef __ASMSPARC_AUXVEC_H
|
||||
#define __ASMSPARC_AUXVEC_H
|
||||
|
||||
#endif /* !(__ASMSPARC_AUXVEC_H) */
|
13
arch/sparc/include/uapi/asm/bitsperlong.h
Normal file
13
arch/sparc/include/uapi/asm/bitsperlong.h
Normal file
@@ -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 */
|
||||
|
6
arch/sparc/include/uapi/asm/byteorder.h
Normal file
6
arch/sparc/include/uapi/asm/byteorder.h
Normal file
@@ -0,0 +1,6 @@
|
||||
#ifndef _SPARC_BYTEORDER_H
|
||||
#define _SPARC_BYTEORDER_H
|
||||
|
||||
#include <linux/byteorder/big_endian.h>
|
||||
|
||||
#endif /* _SPARC_BYTEORDER_H */
|
79
arch/sparc/include/uapi/asm/display7seg.h
Normal file
79
arch/sparc/include/uapi/asm/display7seg.h
Normal file
@@ -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__ */
|
103
arch/sparc/include/uapi/asm/envctrl.h
Normal file
103
arch/sparc/include/uapi/asm/envctrl.h
Normal file
@@ -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) */
|
117
arch/sparc/include/uapi/asm/errno.h
Normal file
117
arch/sparc/include/uapi/asm/errno.h
Normal file
@@ -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
|
259
arch/sparc/include/uapi/asm/fbio.h
Normal file
259
arch/sparc/include/uapi/asm/fbio.h
Normal file
@@ -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 */
|
55
arch/sparc/include/uapi/asm/fcntl.h
Normal file
55
arch/sparc/include/uapi/asm/fcntl.h
Normal file
@@ -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
|
67
arch/sparc/include/uapi/asm/ioctl.h
Normal file
67
arch/sparc/include/uapi/asm/ioctl.h
Normal file
@@ -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) */
|
131
arch/sparc/include/uapi/asm/ioctls.h
Normal file
131
arch/sparc/include/uapi/asm/ioctls.h
Normal file
@@ -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 */
|
32
arch/sparc/include/uapi/asm/ipcbuf.h
Normal file
32
arch/sparc/include/uapi/asm/ipcbuf.h
Normal file
@@ -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 */
|
39
arch/sparc/include/uapi/asm/jsflash.h
Normal file
39
arch/sparc/include/uapi/asm/jsflash.h
Normal file
@@ -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 */
|
1
arch/sparc/include/uapi/asm/kvm_para.h
Normal file
1
arch/sparc/include/uapi/asm/kvm_para.h
Normal file
@@ -0,0 +1 @@
|
||||
#include <asm-generic/kvm_para.h>
|
27
arch/sparc/include/uapi/asm/mman.h
Normal file
27
arch/sparc/include/uapi/asm/mman.h
Normal file
@@ -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__ */
|
38
arch/sparc/include/uapi/asm/msgbuf.h
Normal file
38
arch/sparc/include/uapi/asm/msgbuf.h
Normal file
@@ -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 */
|
69
arch/sparc/include/uapi/asm/openpromio.h
Normal file
69
arch/sparc/include/uapi/asm/openpromio.h
Normal file
@@ -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 */
|
||||
|
7
arch/sparc/include/uapi/asm/param.h
Normal file
7
arch/sparc/include/uapi/asm/param.h
Normal file
@@ -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 */
|
166
arch/sparc/include/uapi/asm/perfctr.h
Normal file
166
arch/sparc/include/uapi/asm/perfctr.h
Normal file
@@ -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) */
|
12
arch/sparc/include/uapi/asm/poll.h
Normal file
12
arch/sparc/include/uapi/asm/poll.h
Normal file
@@ -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
|
49
arch/sparc/include/uapi/asm/posix_types.h
Normal file
49
arch/sparc/include/uapi/asm/posix_types.h
Normal file
@@ -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 */
|
47
arch/sparc/include/uapi/asm/psr.h
Normal file
47
arch/sparc/include/uapi/asm/psr.h
Normal file
@@ -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 */
|
45
arch/sparc/include/uapi/asm/psrcompat.h
Normal file
45
arch/sparc/include/uapi/asm/psrcompat.h
Normal file
@@ -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) */
|
105
arch/sparc/include/uapi/asm/pstate.h
Normal file
105
arch/sparc/include/uapi/asm/pstate.h
Normal file
@@ -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) */
|
352
arch/sparc/include/uapi/asm/ptrace.h
Normal file
352
arch/sparc/include/uapi/asm/ptrace.h
Normal file
@@ -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 */
|
30
arch/sparc/include/uapi/asm/resource.h
Normal file
30
arch/sparc/include/uapi/asm/resource.h
Normal file
@@ -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) */
|
31
arch/sparc/include/uapi/asm/sembuf.h
Normal file
31
arch/sparc/include/uapi/asm/sembuf.h
Normal file
@@ -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 */
|
15
arch/sparc/include/uapi/asm/setup.h
Normal file
15
arch/sparc/include/uapi/asm/setup.h
Normal file
@@ -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 */
|
50
arch/sparc/include/uapi/asm/shmbuf.h
Normal file
50
arch/sparc/include/uapi/asm/shmbuf.h
Normal file
@@ -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 */
|
0
arch/sparc/include/uapi/asm/sigcontext.h
Normal file
0
arch/sparc/include/uapi/asm/sigcontext.h
Normal file
25
arch/sparc/include/uapi/asm/siginfo.h
Normal file
25
arch/sparc/include/uapi/asm/siginfo.h
Normal file
@@ -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 */
|
185
arch/sparc/include/uapi/asm/signal.h
Normal file
185
arch/sparc/include/uapi/asm/signal.h
Normal file
@@ -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 */
|
74
arch/sparc/include/uapi/asm/socket.h
Normal file
74
arch/sparc/include/uapi/asm/socket.h
Normal file
@@ -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 */
|
14
arch/sparc/include/uapi/asm/sockios.h
Normal file
14
arch/sparc/include/uapi/asm/sockios.h
Normal file
@@ -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) */
|
||||
|
107
arch/sparc/include/uapi/asm/stat.h
Normal file
107
arch/sparc/include/uapi/asm/stat.h
Normal file
@@ -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 */
|
6
arch/sparc/include/uapi/asm/statfs.h
Normal file
6
arch/sparc/include/uapi/asm/statfs.h
Normal file
@@ -0,0 +1,6 @@
|
||||
#ifndef ___ASM_SPARC_STATFS_H
|
||||
#define ___ASM_SPARC_STATFS_H
|
||||
|
||||
#include <asm-generic/statfs.h>
|
||||
|
||||
#endif
|
45
arch/sparc/include/uapi/asm/swab.h
Normal file
45
arch/sparc/include/uapi/asm/swab.h
Normal file
@@ -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 */
|
263
arch/sparc/include/uapi/asm/termbits.h
Normal file
263
arch/sparc/include/uapi/asm/termbits.h
Normal file
@@ -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 */
|
43
arch/sparc/include/uapi/asm/termios.h
Normal file
43
arch/sparc/include/uapi/asm/termios.h
Normal file
@@ -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 */
|
120
arch/sparc/include/uapi/asm/traps.h
Normal file
120
arch/sparc/include/uapi/asm/traps.h
Normal file
@@ -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 */
|
17
arch/sparc/include/uapi/asm/types.h
Normal file
17
arch/sparc/include/uapi/asm/types.h
Normal file
@@ -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) */
|
71
arch/sparc/include/uapi/asm/uctx.h
Normal file
71
arch/sparc/include/uapi/asm/uctx.h
Normal file
@@ -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 */
|
422
arch/sparc/include/uapi/asm/unistd.h
Normal file
422
arch/sparc/include/uapi/asm/unistd.h
Normal file
@@ -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 */
|
51
arch/sparc/include/uapi/asm/utrap.h
Normal file
51
arch/sparc/include/uapi/asm/utrap.h
Normal file
@@ -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) */
|
31
arch/sparc/include/uapi/asm/watchdog.h
Normal file
31
arch/sparc/include/uapi/asm/watchdog.h
Normal file
@@ -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 */
|
||||
|
Reference in New Issue
Block a user