Файловый менеджер - Редактировать - /var/www/html/sparc.zip
Ðазад
PK ! ��3 3 Kconfignu �[��� # SPDX-License-Identifier: GPL-2.0-only config 64BIT bool "64-bit kernel" if "$(ARCH)" = "sparc" default "$(ARCH)" = "sparc64" help SPARC is a family of RISC microprocessors designed and marketed by Sun Microsystems, incorporated. They are very widely found in Sun workstations and clones. Say yes to build a 64-bit kernel - formerly known as sparc64 Say no to build a 32-bit kernel - formerly known as sparc config SPARC bool default y select ARCH_MIGHT_HAVE_PC_PARPORT if SPARC64 && PCI select ARCH_MIGHT_HAVE_PC_SERIO select DMA_OPS select OF select OF_PROMTREE select HAVE_ASM_MODVERSIONS select HAVE_ARCH_KGDB if !SMP || SPARC64 select HAVE_ARCH_TRACEHOOK select HAVE_ARCH_SECCOMP if SPARC64 select HAVE_EXIT_THREAD select HAVE_PCI select SYSCTL_EXCEPTION_TRACE select RTC_CLASS select RTC_DRV_M48T59 select RTC_SYSTOHC select HAVE_ARCH_JUMP_LABEL if SPARC64 select GENERIC_IRQ_SHOW select ARCH_WANT_IPC_PARSE_VERSION select GENERIC_PCI_IOMAP select HAVE_NMI_WATCHDOG if SPARC64 select HAVE_CBPF_JIT if SPARC32 select HAVE_EBPF_JIT if SPARC64 select HAVE_DEBUG_BUGVERBOSE select GENERIC_SMP_IDLE_THREAD select MODULES_USE_ELF_RELA select PCI_SYSCALL if PCI select PCI_MSI_ARCH_FALLBACKS if PCI_MSI select ODD_RT_SIGACTION select OLD_SIGSUSPEND select CPU_NO_EFFICIENT_FFS select LOCKDEP_SMALL if LOCKDEP select NEED_DMA_MAP_STATE select NEED_SG_DMA_LENGTH select SET_FS select TRACE_IRQFLAGS_SUPPORT config SPARC32 def_bool !64BIT select ARCH_32BIT_OFF_T select ARCH_HAS_CPU_FINALIZE_INIT if !SMP select ARCH_HAS_SYNC_DMA_FOR_CPU select GENERIC_ATOMIC64 select CLZ_TAB select HAVE_UID16 select OLD_SIGACTION select ZONE_DMA config SPARC64 def_bool 64BIT select HAVE_FUNCTION_TRACER select HAVE_FUNCTION_GRAPH_TRACER select HAVE_KRETPROBES select HAVE_KPROBES select MMU_GATHER_RCU_TABLE_FREE if SMP select HAVE_ARCH_TRANSPARENT_HUGEPAGE select HAVE_DYNAMIC_FTRACE select HAVE_FTRACE_MCOUNT_RECORD select HAVE_SYSCALL_TRACEPOINTS select HAVE_CONTEXT_TRACKING select HAVE_TIF_NOHZ select HAVE_DEBUG_KMEMLEAK select IOMMU_HELPER select SPARSE_IRQ select RTC_DRV_CMOS select RTC_DRV_BQ4802 select RTC_DRV_SUN4V select RTC_DRV_STARFIRE select HAVE_PERF_EVENTS select PERF_USE_VMALLOC select ARCH_HAVE_NMI_SAFE_CMPXCHG select HAVE_C_RECORDMCOUNT select HAVE_ARCH_AUDITSYSCALL select ARCH_SUPPORTS_ATOMIC_RMW select ARCH_SUPPORTS_DEBUG_PAGEALLOC select HAVE_NMI select HAVE_REGS_AND_STACK_ACCESS_API select ARCH_USE_QUEUED_RWLOCKS select ARCH_USE_QUEUED_SPINLOCKS select GENERIC_TIME_VSYSCALL select ARCH_CLOCKSOURCE_DATA select ARCH_HAS_PTE_SPECIAL select PCI_DOMAINS if PCI select ARCH_HAS_GIGANTIC_PAGE select HAVE_SOFTIRQ_ON_OWN_STACK config ARCH_PROC_KCORE_TEXT def_bool y config CPU_BIG_ENDIAN def_bool y config ARCH_ATU bool default y if SPARC64 config STACKTRACE_SUPPORT bool default y if SPARC64 config LOCKDEP_SUPPORT bool default y if SPARC64 config ARCH_HIBERNATION_POSSIBLE def_bool y if SPARC64 config AUDIT_ARCH bool default y config HAVE_SETUP_PER_CPU_AREA def_bool y if SPARC64 config NEED_PER_CPU_EMBED_FIRST_CHUNK def_bool y if SPARC64 config NEED_PER_CPU_PAGE_FIRST_CHUNK def_bool y if SPARC64 config MMU bool default y config HIGHMEM bool default y if SPARC32 select KMAP_LOCAL config GENERIC_ISA_DMA bool default y if SPARC32 config PGTABLE_LEVELS default 4 if 64BIT default 3 config ARCH_SUPPORTS_UPROBES def_bool y if SPARC64 menu "Processor type and features" config SMP bool "Symmetric multi-processing support" help This enables support for systems with more than one CPU. If you have a system with only one CPU, say N. If you have a system with more than one CPU, say Y. If you say N here, the kernel will run on uni- and multiprocessor machines, but will use only one CPU of a multiprocessor machine. If you say Y here, the kernel will run on many, but not all, uniprocessor machines. On a uniprocessor machine, the kernel will run faster if you say N here. People using multiprocessor machines who say Y here should also say Y to "Enhanced Real Time Clock Support", below. The "Advanced Power Management" code will be disabled if you say Y here. See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO available at <https://www.tldp.org/docs.html#howto>. If you don't know what to do here, say N. config NR_CPUS int "Maximum number of CPUs" depends on SMP range 2 32 if SPARC32 range 2 4096 if SPARC64 default 32 if SPARC32 default 4096 if SPARC64 source "kernel/Kconfig.hz" config GENERIC_HWEIGHT bool default y config GENERIC_CALIBRATE_DELAY bool default y config ARCH_MAY_HAVE_PC_FDC bool default y config EMULATED_CMPXCHG bool default y if SPARC32 help Sparc32 does not have a CAS instruction like sparc64. cmpxchg() is emulated, and therefore it is not completely atomic. # Makefile helpers config SPARC32_SMP bool default y depends on SPARC32 && SMP config SPARC64_SMP bool default y depends on SPARC64 && SMP config EARLYFB bool "Support for early boot text console" default y depends on SPARC64 help Say Y here to enable a faster early framebuffer boot console. config HOTPLUG_CPU bool "Support for hot-pluggable CPUs" depends on SPARC64 && SMP help Say Y here to experiment with turning CPUs off and on. CPUs can be controlled through /sys/devices/system/cpu/cpu#. Say N if you want to disable CPU hotplug. if SPARC64 source "drivers/cpufreq/Kconfig" endif config US3_MC tristate "UltraSPARC-III Memory Controller driver" depends on SPARC64 default y help This adds a driver for the UltraSPARC-III memory controller. Loading this driver allows exact mnemonic strings to be printed in the event of a memory error, so that the faulty DIMM on the motherboard can be matched to the error. If in doubt, say Y, as this information can be very useful. # Global things across all Sun machines. config GENERIC_LOCKBREAK bool default y depends on SPARC64 && SMP && PREEMPTION config NUMA bool "NUMA support" depends on SPARC64 && SMP config NODES_SHIFT int "Maximum NUMA Nodes (as a power of 2)" range 4 5 if SPARC64 default "5" depends on NUMA help Specify the maximum number of NUMA Nodes available on the target system. Increases memory reserved to accommodate various tables. config ARCH_SPARSEMEM_ENABLE def_bool y if SPARC64 select SPARSEMEM_VMEMMAP_ENABLE config ARCH_SPARSEMEM_DEFAULT def_bool y if SPARC64 config FORCE_MAX_ZONEORDER int "Maximum zone order" default "13" help The kernel memory allocator divides physically contiguous memory blocks into "zones", where each zone is a power of two number of pages. This option selects the largest power of two that the kernel keeps in the memory allocator. If you need to allocate very large blocks of physically contiguous memory, then you may need to increase this value. This config option is actually maximum order plus one. For example, a value of 13 means that the largest free memory block is 2^12 pages. if SPARC64 || COMPILE_TEST source "kernel/power/Kconfig" endif config SCHED_SMT bool "SMT (Hyperthreading) scheduler support" depends on SPARC64 && SMP default y help SMT scheduler support improves the CPU scheduler's decision making when dealing with SPARC cpus at a cost of slightly increased overhead in some places. If unsure say N here. config SCHED_MC bool "Multi-core scheduler support" depends on SPARC64 && SMP default y help Multi-core scheduler support improves the CPU scheduler's decision making when dealing with multi-core CPU chips at a cost of slightly increased overhead in some places. If unsure say N here. config CMDLINE_BOOL bool "Default bootloader kernel arguments" depends on SPARC64 config CMDLINE string "Initial kernel command string" depends on CMDLINE_BOOL default "console=ttyS0,9600 root=/dev/sda1" help Say Y here if you want to be able to pass default arguments to the kernel. This will be overridden by the bootloader, if you use one (such as SILO). This is most useful if you want to boot a kernel from TFTP, and want default options to be available with having them passed on the command line. NOTE: This option WILL override the PROM bootargs setting! config SUN_PM bool default y if SPARC32 help Enable power management and CPU standby features on supported SPARC platforms. config SPARC_LED tristate "Sun4m LED driver" depends on SPARC32 help This driver toggles the front-panel LED on sun4m systems in a user-specifiable manner. Its state can be probed by reading /proc/led and its blinking mode can be changed via writes to /proc/led config SERIAL_CONSOLE bool depends on SPARC32 default y help If you say Y here, it will be possible to use a serial port as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). This could be useful if some terminal or printer is connected to that serial port. Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttyS1". (Try "man bootparam" or see the documentation of your boot loader (silo) about how to pass options to the kernel at boot time.) If you don't have a graphics card installed and you say Y here, the kernel will automatically use the first serial line, /dev/ttyS0, as system console. If unsure, say N. config SPARC_LEON bool "Sparc Leon processor family" depends on SPARC32 select USB_EHCI_BIG_ENDIAN_MMIO select USB_EHCI_BIG_ENDIAN_DESC select USB_UHCI_BIG_ENDIAN_MMIO select USB_UHCI_BIG_ENDIAN_DESC help If you say Y here if you are running on a SPARC-LEON processor. The LEON processor is a synthesizable VHDL model of the SPARC-v8 standard. LEON is part of the GRLIB collection of IP cores that are distributed under GPL. GRLIB can be downloaded from www.gaisler.com. You can download a sparc-linux cross-compilation toolchain at www.gaisler.com. if SPARC_LEON menu "U-Boot options" config UBOOT_LOAD_ADDR hex "uImage Load Address" default 0x40004000 help U-Boot kernel load address, the address in physical address space where u-boot will place the Linux kernel before booting it. This address is normally the base address of main memory + 0x4000. config UBOOT_FLASH_ADDR hex "uImage.o Load Address" default 0x00080000 help Optional setting only affecting the uImage.o ELF-image used to download the uImage file to the target using a ELF-loader other than U-Boot. It may for example be used to download an uImage to FLASH with the GRMON utility before even starting u-boot. config UBOOT_ENTRY_ADDR hex "uImage Entry Address" default 0xf0004000 help Do not change this unless you know what you're doing. This is hardcoded by the SPARC32 and LEON port. This is the virtual address u-boot jumps to when booting the Linux Kernel. endmenu endif endmenu menu "Bus options (PCI etc.)" config SBUS bool default y config SBUSCHAR bool default y config SUN_LDOMS bool "Sun Logical Domains support" depends on SPARC64 help Say Y here is you want to support virtual devices via Logical Domains. config PCIC_PCI bool depends on PCI && SPARC32 && !SPARC_LEON default y config LEON_PCI bool depends on PCI && SPARC_LEON default y config SPARC_GRPCI1 bool "GRPCI Host Bridge Support" depends on LEON_PCI default y help Say Y here to include the GRPCI Host Bridge Driver. The GRPCI PCI host controller is typically found in GRLIB SPARC32/LEON systems. The driver has one property (all_pci_errors) controlled from the bootloader that makes the GRPCI to generate interrupts on detected PCI Parity and System errors. config SPARC_GRPCI2 bool "GRPCI2 Host Bridge Support" depends on LEON_PCI default y help Say Y here to include the GRPCI2 Host Bridge Driver. config SUN_OPENPROMFS tristate "Openprom tree appears in /proc/openprom" help If you say Y, the OpenPROM device tree will be available as a virtual file system, which you can mount to /proc/openprom by "mount -t openpromfs none /proc/openprom". To compile the /proc/openprom support as a module, choose M here: the module will be called openpromfs. Only choose N if you know in advance that you will not need to modify OpenPROM settings on the running system. # Makefile helpers config SPARC64_PCI bool default y depends on SPARC64 && PCI config SPARC64_PCI_MSI bool default y depends on SPARC64_PCI && PCI_MSI endmenu config COMPAT bool depends on SPARC64 default y select HAVE_UID16 select ARCH_WANT_OLD_COMPAT_IPC select COMPAT_OLD_SIGACTION config SYSVIPC_COMPAT bool depends on COMPAT && SYSVIPC default y source "drivers/sbus/char/Kconfig" PK ! H��� � Makefilenu �[��� # SPDX-License-Identifier: GPL-2.0 # # sparc/Makefile # # Makefile for the architecture dependent flags and dependencies on the # Sparc and sparc64. # # Copyright (C) 1994,1996,1998 David S. Miller (davem@caip.rutgers.edu) # Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz) # We are not yet configured - so test on arch ifeq ($(ARCH),sparc64) KBUILD_DEFCONFIG := sparc64_defconfig else KBUILD_DEFCONFIG := sparc32_defconfig endif ifeq ($(CONFIG_SPARC32),y) ##### # sparc32 # CHECKFLAGS += -D__sparc__ KBUILD_LDFLAGS := -m elf32_sparc export BITS := 32 UTS_MACHINE := sparc # We are adding -Wa,-Av8 to KBUILD_CFLAGS to deal with a specs bug in some # versions of gcc. Some gcc versions won't pass -Av8 to binutils when you # give -mcpu=v8. This silently worked with older bintutils versions but # does not any more. KBUILD_CFLAGS += -m32 -mcpu=v8 -pipe -mno-fpu -fcall-used-g5 -fcall-used-g7 KBUILD_CFLAGS += -Wa,-Av8 KBUILD_AFLAGS += -m32 -Wa,-Av8 else ##### # sparc64 # CHECKFLAGS += -D__sparc__ -D__sparc_v9__ -D__arch64__ KBUILD_LDFLAGS := -m elf64_sparc export BITS := 64 UTS_MACHINE := sparc64 KBUILD_CFLAGS += -m64 -pipe -mno-fpu -mcpu=ultrasparc -mcmodel=medlow KBUILD_CFLAGS += -ffixed-g4 -ffixed-g5 -fcall-used-g7 -Wno-sign-compare KBUILD_CFLAGS += -Wa,--undeclared-regs KBUILD_CFLAGS += $(call cc-option,-mtune=ultrasparc3) KBUILD_AFLAGS += -m64 -mcpu=ultrasparc -Wa,--undeclared-regs ifeq ($(CONFIG_MCOUNT),y) KBUILD_CFLAGS += -pg endif endif head-y := arch/sparc/kernel/head_$(BITS).o libs-y += arch/sparc/prom/ libs-y += arch/sparc/lib/ drivers-$(CONFIG_PM) += arch/sparc/power/ boot := arch/sparc/boot # Default target all: zImage image zImage uImage tftpboot.img vmlinux.aout: vmlinux $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ install: sh $(srctree)/$(boot)/install.sh $(KERNELRELEASE) $(KBUILD_IMAGE) \ System.map "$(INSTALL_PATH)" archclean: $(Q)$(MAKE) $(clean)=$(boot) archheaders: $(Q)$(MAKE) $(build)=arch/sparc/kernel/syscalls all PHONY += vdso_install vdso_install: $(Q)$(MAKE) $(build)=arch/sparc/vdso $@ # This is the image used for packaging KBUILD_IMAGE := $(boot)/zImage # Don't use tabs in echo arguments. ifeq ($(ARCH),sparc) define archhelp echo '* image - kernel image ($(boot)/image)' echo '* zImage - stripped kernel image ($(boot)/zImage)' echo ' uImage - U-Boot SPARC32 Image (only for LEON)' echo ' tftpboot.img - image prepared for tftp' endef else define archhelp echo '* vmlinux - standard sparc64 kernel' echo '* zImage - stripped and compressed sparc64 kernel ($(boot)/zImage)' echo ' vmlinux.aout - a.out kernel for sparc64' echo ' tftpboot.img - image prepared for tftp' endef endif PK ! "t�[ [ crypto/Makefilenu �[��� # SPDX-License-Identifier: GPL-2.0 # # Arch-specific CryptoAPI modules. # obj-$(CONFIG_CRYPTO_SHA1_SPARC64) += sha1-sparc64.o obj-$(CONFIG_CRYPTO_SHA256_SPARC64) += sha256-sparc64.o obj-$(CONFIG_CRYPTO_SHA512_SPARC64) += sha512-sparc64.o obj-$(CONFIG_CRYPTO_MD5_SPARC64) += md5-sparc64.o obj-$(CONFIG_CRYPTO_AES_SPARC64) += aes-sparc64.o obj-$(CONFIG_CRYPTO_DES_SPARC64) += des-sparc64.o obj-$(CONFIG_CRYPTO_CAMELLIA_SPARC64) += camellia-sparc64.o obj-$(CONFIG_CRYPTO_CRC32C_SPARC64) += crc32c-sparc64.o sha1-sparc64-y := sha1_asm.o sha1_glue.o sha256-sparc64-y := sha256_asm.o sha256_glue.o sha512-sparc64-y := sha512_asm.o sha512_glue.o md5-sparc64-y := md5_asm.o md5_glue.o aes-sparc64-y := aes_asm.o aes_glue.o des-sparc64-y := des_asm.o des_glue.o camellia-sparc64-y := camellia_asm.o camellia_glue.o crc32c-sparc64-y := crc32c_asm.o crc32c_glue.o PK ! ��� � net/Makefilenu �[��� # SPDX-License-Identifier: GPL-2.0-only # # Arch-specific network modules # obj-$(CONFIG_BPF_JIT) += bpf_jit_comp_$(BITS).o ifeq ($(BITS),32) obj-$(CONFIG_BPF_JIT) += bpf_jit_asm_32.o endif PK ! �W{�� � include/uapi/asm/msgbuf.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #ifndef _SPARC_MSGBUF_H #define _SPARC_MSGBUF_H #include <asm/ipcbuf.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: * - 2 miscellaneous 32-bit values */ struct msqid64_ds { struct ipc64_perm msg_perm; #if defined(__sparc__) && defined(__arch64__) long msg_stime; /* last msgsnd time */ long msg_rtime; /* last msgrcv time */ long msg_ctime; /* last change time */ #else unsigned long msg_stime_high; unsigned long msg_stime; /* last msgsnd time */ unsigned long msg_rtime_high; unsigned long msg_rtime; /* last msgrcv time */ unsigned long msg_ctime_high; unsigned long msg_ctime; /* last change time */ #endif 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; }; #endif /* _SPARC_MSGBUF_H */ PK ! �9ę � include/uapi/asm/display7seg.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ /* * * 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__ */ PK ! O��ш � include/uapi/asm/unistd.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ /* * 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 #ifdef __arch64__ #include <asm/unistd_64.h> #else #include <asm/unistd_32.h> #endif /* Bitmask values returned from kern_features system call. */ #define KERN_FEATURE_MIXED_MODE_STACK 0x00000001 #endif /* _UAPI_SPARC_UNISTD_H */ PK ! �1�H6 6 include/uapi/asm/setup.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ /* * 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 */ PK ! ��BY Y include/uapi/asm/Kbuildnu �[��� # SPDX-License-Identifier: GPL-2.0 generated-y += unistd_32.h generated-y += unistd_64.h PK ! ���( ( include/uapi/asm/ipcbuf.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #ifndef __SPARC_IPCBUF_H #define __SPARC_IPCBUF_H #include <linux/posix_types.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_uid32_t uid; __kernel_gid32_t gid; __kernel_uid32_t cuid; __kernel_gid32_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 */ PK ! H��� � include/uapi/asm/mman.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #ifndef _UAPI__SPARC_MMAN_H__ #define _UAPI__SPARC_MMAN_H__ #include <asm-generic/mman-common.h> /* SunOS'ified... */ #define PROT_ADI 0x10 /* ADI enabled */ #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 MCL_ONFAULT 0x8000 /* lock all pages that are faulted in */ #endif /* _UAPI__SPARC_MMAN_H__ */ PK ! ���� � include/uapi/asm/traps.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ /* * 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 */ PK ! \�� � include/uapi/asm/sembuf.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #ifndef _SPARC_SEMBUF_H #define _SPARC_SEMBUF_H #include <asm/ipcbuf.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: * - 2 miscellaneous 32-bit values */ struct semid64_ds { struct ipc64_perm sem_perm; /* permissions .. see ipc.h */ #if defined(__sparc__) && defined(__arch64__) long sem_otime; /* last semop time */ long sem_ctime; /* last change time */ #else unsigned long sem_otime_high; unsigned long sem_otime; /* last semop time */ unsigned long sem_ctime_high; unsigned long sem_ctime; /* last change time */ #endif unsigned long sem_nsems; /* no. of semaphores in array */ unsigned long __unused1; unsigned long __unused2; }; #endif /* _SPARC64_SEMBUF_H */ PK ! �ĭ�� � include/uapi/asm/errno.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #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 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 PK ! j�h.� � include/uapi/asm/fbio.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #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 */ PK ! *ߝ�� � include/uapi/asm/psr.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ /* * 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 */ PK ! ���/ / include/uapi/asm/termios.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #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; }; #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 */ }; #endif /* _UAPI_SPARC_TERMIOS_H */ PK ! e�j� � include/uapi/asm/fcntl.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #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 __O_TMPFILE 0x2000000 #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 PK ! 99 include/uapi/asm/socket.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #ifndef _ASM_SOCKET_H #define _ASM_SOCKET_H #include <linux/posix_types.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 #define SO_REUSEPORT 0x0200 #define SO_BSDCOMPAT 0x0400 #define SO_RCVLOWAT 0x0800 #define SO_SNDLOWAT 0x1000 #define SO_RCVTIMEO_OLD 0x2000 #define SO_SNDTIMEO_OLD 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_GET_FILTER SO_ATTACH_FILTER #define SO_PEERNAME 0x001c #define SO_PEERSEC 0x001e #define SO_PASSSEC 0x001f #define SO_MARK 0x0022 #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 #define SO_LOCK_FILTER 0x0028 #define SO_SELECT_ERR_QUEUE 0x0029 #define SO_BUSY_POLL 0x0030 #define SO_MAX_PACING_RATE 0x0031 #define SO_BPF_EXTENSIONS 0x0032 #define SO_INCOMING_CPU 0x0033 #define SO_ATTACH_BPF 0x0034 #define SO_DETACH_BPF SO_DETACH_FILTER #define SO_ATTACH_REUSEPORT_CBPF 0x0035 #define SO_ATTACH_REUSEPORT_EBPF 0x0036 #define SO_CNX_ADVICE 0x0037 #define SCM_TIMESTAMPING_OPT_STATS 0x0038 #define SO_MEMINFO 0x0039 #define SO_INCOMING_NAPI_ID 0x003a #define SO_COOKIE 0x003b #define SCM_TIMESTAMPING_PKTINFO 0x003c #define SO_PEERGROUPS 0x003d #define SO_ZEROCOPY 0x003e #define SO_TXTIME 0x003f #define SCM_TXTIME SO_TXTIME #define SO_BINDTOIFINDEX 0x0041 /* 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 #define SO_TIMESTAMP_OLD 0x001d #define SO_TIMESTAMPNS_OLD 0x0021 #define SO_TIMESTAMPING_OLD 0x0023 #define SO_TIMESTAMP_NEW 0x0046 #define SO_TIMESTAMPNS_NEW 0x0042 #define SO_TIMESTAMPING_NEW 0x0043 #define SO_RCVTIMEO_NEW 0x0044 #define SO_SNDTIMEO_NEW 0x0045 #define SO_DETACH_REUSEPORT_BPF 0x0047 #define SO_PREFER_BUSY_POLL 0x0048 #define SO_BUSY_POLL_BUDGET 0x0049 #define SO_NETNS_COOKIE 0x0050 #define SO_BUF_LOCK 0x0051 #if !defined(__KERNEL__) #if __BITS_PER_LONG == 64 #define SO_TIMESTAMP SO_TIMESTAMP_OLD #define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD #define SO_TIMESTAMPING SO_TIMESTAMPING_OLD #define SO_RCVTIMEO SO_RCVTIMEO_OLD #define SO_SNDTIMEO SO_SNDTIMEO_OLD #else #define SO_TIMESTAMP (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMP_OLD : SO_TIMESTAMP_NEW) #define SO_TIMESTAMPNS (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPNS_OLD : SO_TIMESTAMPNS_NEW) #define SO_TIMESTAMPING (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPING_OLD : SO_TIMESTAMPING_NEW) #define SO_RCVTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_RCVTIMEO_OLD : SO_RCVTIMEO_NEW) #define SO_SNDTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_SNDTIMEO_OLD : SO_SNDTIMEO_NEW) #endif #define SCM_TIMESTAMP SO_TIMESTAMP #define SCM_TIMESTAMPNS SO_TIMESTAMPNS #define SCM_TIMESTAMPING SO_TIMESTAMPING #endif #endif /* _ASM_SOCKET_H */ PK ! ��_}� � include/uapi/asm/posix_types.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ /* * 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 typedef long __kernel_long_t; typedef unsigned long __kernel_ulong_t; #define __kernel_long_t __kernel_long_t struct __kernel_old_timeval { __kernel_long_t tv_sec; __kernel_suseconds_t tv_usec; }; #define __kernel_old_timeval __kernel_old_timeval #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 */ PK ! ��C� include/uapi/asm/utrap.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ /* * 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) */ PK ! � �L_ _ include/uapi/asm/signal.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #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_RESETHAND _SV_RESET #define SA_NODEFER 0x20u #define SA_NOCLDWAIT 0x100u #define SA_SIGINFO 0x200u #define SIG_BLOCK 0x01 /* for blocking signals */ #define SIG_UNBLOCK 0x02 /* for unblocking signals */ #define SIG_SETMASK 0x04 /* for setting the signal mask */ #define MINSIGSTKSZ 4096 #define SIGSTKSZ 16384 #include <asm-generic/signal-defs.h> #ifndef __KERNEL__ 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 */ }; #endif typedef struct sigaltstack { void __user *ss_sp; int ss_flags; size_t ss_size; } stack_t; #endif /* !(__ASSEMBLY__) */ #endif /* _UAPI__SPARC_SIGNAL_H */ PK ! \,� include/uapi/asm/ptrace.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #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 */ PK ! �C� � include/uapi/asm/param.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #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 */ PK ! #�4D D include/uapi/asm/bitsperlong.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #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 */ PK ! ��Հ� � include/uapi/asm/byteorder.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #ifndef _SPARC_BYTEORDER_H #define _SPARC_BYTEORDER_H #include <linux/byteorder/big_endian.h> #endif /* _SPARC_BYTEORDER_H */ PK ! �I� include/uapi/asm/resource.hnu �[��� /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ /* * 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) */ PK ! �_�<