mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
x86: unify some more trivial include/asm-x86/ 32/64 variants
Scripted unification. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
217d115cd5
commit
003a46cfff
43 changed files with 498 additions and 1199 deletions
|
@ -9,8 +9,6 @@ header-y += msr-index.h
|
||||||
header-y += prctl.h
|
header-y += prctl.h
|
||||||
header-y += ptrace-abi.h
|
header-y += ptrace-abi.h
|
||||||
header-y += sigcontext32.h
|
header-y += sigcontext32.h
|
||||||
header-y += ucontext_32.h
|
|
||||||
header-y += ucontext_64.h
|
|
||||||
header-y += ucontext.h
|
header-y += ucontext.h
|
||||||
header-y += vsyscall32.h
|
header-y += vsyscall32.h
|
||||||
|
|
||||||
|
@ -24,8 +22,6 @@ unifdef-y += elf_32.h
|
||||||
unifdef-y += elf_64.h
|
unifdef-y += elf_64.h
|
||||||
unifdef-y += ioctls_32.h
|
unifdef-y += ioctls_32.h
|
||||||
unifdef-y += ioctls_64.h
|
unifdef-y += ioctls_64.h
|
||||||
unifdef-y += ipcbuf_32.h
|
|
||||||
unifdef-y += ipcbuf_64.h
|
|
||||||
unifdef-y += mce.h
|
unifdef-y += mce.h
|
||||||
unifdef-y += mman_32.h
|
unifdef-y += mman_32.h
|
||||||
unifdef-y += mman_64.h
|
unifdef-y += mman_64.h
|
||||||
|
@ -39,20 +35,14 @@ unifdef-y += mtrr_64.h
|
||||||
unifdef-y += mtrr.h
|
unifdef-y += mtrr.h
|
||||||
unifdef-y += page_32.h
|
unifdef-y += page_32.h
|
||||||
unifdef-y += page_64.h
|
unifdef-y += page_64.h
|
||||||
unifdef-y += param_32.h
|
|
||||||
unifdef-y += param_64.h
|
|
||||||
unifdef-y += posix_types_32.h
|
unifdef-y += posix_types_32.h
|
||||||
unifdef-y += posix_types_64.h
|
unifdef-y += posix_types_64.h
|
||||||
unifdef-y += ptrace_32.h
|
unifdef-y += ptrace_32.h
|
||||||
unifdef-y += ptrace_64.h
|
unifdef-y += ptrace_64.h
|
||||||
unifdef-y += sembuf_32.h
|
|
||||||
unifdef-y += sembuf_64.h
|
|
||||||
unifdef-y += setup_32.h
|
unifdef-y += setup_32.h
|
||||||
unifdef-y += setup_64.h
|
unifdef-y += setup_64.h
|
||||||
unifdef-y += shmbuf_32.h
|
unifdef-y += shmbuf_32.h
|
||||||
unifdef-y += shmbuf_64.h
|
unifdef-y += shmbuf_64.h
|
||||||
unifdef-y += shmparam_32.h
|
|
||||||
unifdef-y += shmparam_64.h
|
|
||||||
unifdef-y += sigcontext_32.h
|
unifdef-y += sigcontext_32.h
|
||||||
unifdef-y += sigcontext_64.h
|
unifdef-y += sigcontext_64.h
|
||||||
unifdef-y += siginfo_32.h
|
unifdef-y += siginfo_32.h
|
||||||
|
@ -63,10 +53,6 @@ unifdef-y += stat_32.h
|
||||||
unifdef-y += stat_64.h
|
unifdef-y += stat_64.h
|
||||||
unifdef-y += statfs_32.h
|
unifdef-y += statfs_32.h
|
||||||
unifdef-y += statfs_64.h
|
unifdef-y += statfs_64.h
|
||||||
unifdef-y += termbits_32.h
|
|
||||||
unifdef-y += termbits_64.h
|
|
||||||
unifdef-y += termios_32.h
|
|
||||||
unifdef-y += termios_64.h
|
|
||||||
unifdef-y += types_32.h
|
unifdef-y += types_32.h
|
||||||
unifdef-y += types_64.h
|
unifdef-y += types_64.h
|
||||||
unifdef-y += unistd_32.h
|
unifdef-y += unistd_32.h
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
#ifdef CONFIG_X86_32
|
#ifndef _ASM_X86_BUGS_H
|
||||||
# include "bugs_32.h"
|
#define _ASM_X86_BUGS_H
|
||||||
#else
|
|
||||||
# include "bugs_64.h"
|
void check_bugs(void);
|
||||||
#endif
|
|
||||||
|
#endif /* _ASM_X86_BUGS_H */
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
/*
|
|
||||||
* This is included by init/main.c to check for architecture-dependent bugs.
|
|
||||||
*
|
|
||||||
* Needs:
|
|
||||||
* void check_bugs(void);
|
|
||||||
*/
|
|
||||||
#ifndef _ASM_I386_BUG_H
|
|
||||||
#define _ASM_I386_BUG_H
|
|
||||||
|
|
||||||
void check_bugs(void);
|
|
||||||
|
|
||||||
#endif /* _ASM_I386_BUG_H */
|
|
|
@ -1,6 +0,0 @@
|
||||||
#ifndef _ASM_X86_64_BUGS_H
|
|
||||||
#define _ASM_X86_64_BUGS_H
|
|
||||||
|
|
||||||
void check_bugs(void);
|
|
||||||
|
|
||||||
#endif /* _ASM_X86_64_BUGS_H */
|
|
|
@ -1,5 +1,10 @@
|
||||||
#ifdef CONFIG_X86_32
|
#ifndef _ASM_X86_DEVICE_H
|
||||||
# include "device_32.h"
|
#define _ASM_X86_DEVICE_H
|
||||||
#else
|
|
||||||
# include "device_64.h"
|
struct dev_archdata {
|
||||||
|
#ifdef CONFIG_ACPI
|
||||||
|
void *acpi_handle;
|
||||||
#endif
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* _ASM_X86_DEVICE_H */
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
/*
|
|
||||||
* Arch specific extensions to struct device
|
|
||||||
*
|
|
||||||
* This file is released under the GPLv2
|
|
||||||
*/
|
|
||||||
#ifndef _ASM_I386_DEVICE_H
|
|
||||||
#define _ASM_I386_DEVICE_H
|
|
||||||
|
|
||||||
struct dev_archdata {
|
|
||||||
#ifdef CONFIG_ACPI
|
|
||||||
void *acpi_handle;
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* _ASM_I386_DEVICE_H */
|
|
|
@ -1,15 +0,0 @@
|
||||||
/*
|
|
||||||
* Arch specific extensions to struct device
|
|
||||||
*
|
|
||||||
* This file is released under the GPLv2
|
|
||||||
*/
|
|
||||||
#ifndef _ASM_X86_64_DEVICE_H
|
|
||||||
#define _ASM_X86_64_DEVICE_H
|
|
||||||
|
|
||||||
struct dev_archdata {
|
|
||||||
#ifdef CONFIG_ACPI
|
|
||||||
void *acpi_handle;
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* _ASM_X86_64_DEVICE_H */
|
|
|
@ -1,5 +1,31 @@
|
||||||
#ifdef CONFIG_X86_32
|
#ifndef _ASM_X86_INTEL_ARCH_PERFMON_H
|
||||||
# include "intel_arch_perfmon_32.h"
|
#define _ASM_X86_INTEL_ARCH_PERFMON_H
|
||||||
#else
|
|
||||||
# include "intel_arch_perfmon_64.h"
|
#define MSR_ARCH_PERFMON_PERFCTR0 0xc1
|
||||||
#endif
|
#define MSR_ARCH_PERFMON_PERFCTR1 0xc2
|
||||||
|
|
||||||
|
#define MSR_ARCH_PERFMON_EVENTSEL0 0x186
|
||||||
|
#define MSR_ARCH_PERFMON_EVENTSEL1 0x187
|
||||||
|
|
||||||
|
#define ARCH_PERFMON_EVENTSEL0_ENABLE (1 << 22)
|
||||||
|
#define ARCH_PERFMON_EVENTSEL_INT (1 << 20)
|
||||||
|
#define ARCH_PERFMON_EVENTSEL_OS (1 << 17)
|
||||||
|
#define ARCH_PERFMON_EVENTSEL_USR (1 << 16)
|
||||||
|
|
||||||
|
#define ARCH_PERFMON_UNHALTED_CORE_CYCLES_SEL (0x3c)
|
||||||
|
#define ARCH_PERFMON_UNHALTED_CORE_CYCLES_UMASK (0x00 << 8)
|
||||||
|
#define ARCH_PERFMON_UNHALTED_CORE_CYCLES_INDEX (0)
|
||||||
|
#define ARCH_PERFMON_UNHALTED_CORE_CYCLES_PRESENT \
|
||||||
|
(1 << (ARCH_PERFMON_UNHALTED_CORE_CYCLES_INDEX))
|
||||||
|
|
||||||
|
union cpuid10_eax {
|
||||||
|
struct {
|
||||||
|
unsigned int version_id:8;
|
||||||
|
unsigned int num_counters:8;
|
||||||
|
unsigned int bit_width:8;
|
||||||
|
unsigned int mask_length:8;
|
||||||
|
} split;
|
||||||
|
unsigned int full;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* _ASM_X86_INTEL_ARCH_PERFMON_H */
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
#ifndef X86_INTEL_ARCH_PERFMON_H
|
|
||||||
#define X86_INTEL_ARCH_PERFMON_H 1
|
|
||||||
|
|
||||||
#define MSR_ARCH_PERFMON_PERFCTR0 0xc1
|
|
||||||
#define MSR_ARCH_PERFMON_PERFCTR1 0xc2
|
|
||||||
|
|
||||||
#define MSR_ARCH_PERFMON_EVENTSEL0 0x186
|
|
||||||
#define MSR_ARCH_PERFMON_EVENTSEL1 0x187
|
|
||||||
|
|
||||||
#define ARCH_PERFMON_EVENTSEL0_ENABLE (1 << 22)
|
|
||||||
#define ARCH_PERFMON_EVENTSEL_INT (1 << 20)
|
|
||||||
#define ARCH_PERFMON_EVENTSEL_OS (1 << 17)
|
|
||||||
#define ARCH_PERFMON_EVENTSEL_USR (1 << 16)
|
|
||||||
|
|
||||||
#define ARCH_PERFMON_UNHALTED_CORE_CYCLES_SEL (0x3c)
|
|
||||||
#define ARCH_PERFMON_UNHALTED_CORE_CYCLES_UMASK (0x00 << 8)
|
|
||||||
#define ARCH_PERFMON_UNHALTED_CORE_CYCLES_INDEX (0)
|
|
||||||
#define ARCH_PERFMON_UNHALTED_CORE_CYCLES_PRESENT \
|
|
||||||
(1 << (ARCH_PERFMON_UNHALTED_CORE_CYCLES_INDEX))
|
|
||||||
|
|
||||||
union cpuid10_eax {
|
|
||||||
struct {
|
|
||||||
unsigned int version_id:8;
|
|
||||||
unsigned int num_counters:8;
|
|
||||||
unsigned int bit_width:8;
|
|
||||||
unsigned int mask_length:8;
|
|
||||||
} split;
|
|
||||||
unsigned int full;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* X86_INTEL_ARCH_PERFMON_H */
|
|
|
@ -1,31 +0,0 @@
|
||||||
#ifndef X86_64_INTEL_ARCH_PERFMON_H
|
|
||||||
#define X86_64_INTEL_ARCH_PERFMON_H 1
|
|
||||||
|
|
||||||
#define MSR_ARCH_PERFMON_PERFCTR0 0xc1
|
|
||||||
#define MSR_ARCH_PERFMON_PERFCTR1 0xc2
|
|
||||||
|
|
||||||
#define MSR_ARCH_PERFMON_EVENTSEL0 0x186
|
|
||||||
#define MSR_ARCH_PERFMON_EVENTSEL1 0x187
|
|
||||||
|
|
||||||
#define ARCH_PERFMON_EVENTSEL0_ENABLE (1 << 22)
|
|
||||||
#define ARCH_PERFMON_EVENTSEL_INT (1 << 20)
|
|
||||||
#define ARCH_PERFMON_EVENTSEL_OS (1 << 17)
|
|
||||||
#define ARCH_PERFMON_EVENTSEL_USR (1 << 16)
|
|
||||||
|
|
||||||
#define ARCH_PERFMON_UNHALTED_CORE_CYCLES_SEL (0x3c)
|
|
||||||
#define ARCH_PERFMON_UNHALTED_CORE_CYCLES_UMASK (0x00 << 8)
|
|
||||||
#define ARCH_PERFMON_UNHALTED_CORE_CYCLES_INDEX (0)
|
|
||||||
#define ARCH_PERFMON_UNHALTED_CORE_CYCLES_PRESENT \
|
|
||||||
(1 << (ARCH_PERFMON_UNHALTED_CORE_CYCLES_INDEX))
|
|
||||||
|
|
||||||
union cpuid10_eax {
|
|
||||||
struct {
|
|
||||||
unsigned int version_id:8;
|
|
||||||
unsigned int num_counters:8;
|
|
||||||
unsigned int bit_width:8;
|
|
||||||
unsigned int mask_length:8;
|
|
||||||
} split;
|
|
||||||
unsigned int full;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* X86_64_INTEL_ARCH_PERFMON_H */
|
|
|
@ -1,13 +1,29 @@
|
||||||
#ifdef __KERNEL__
|
#ifndef _ASM_X86_IPCBUF_H
|
||||||
# ifdef CONFIG_X86_32
|
#define _ASM_X86_IPCBUF_H
|
||||||
# include "ipcbuf_32.h"
|
|
||||||
# else
|
/*
|
||||||
# include "ipcbuf_64.h"
|
* The ipc64_perm structure for x86 architecture.
|
||||||
# endif
|
* Note extra padding because this structure is passed back and forth
|
||||||
#else
|
* between kernel and user space.
|
||||||
# ifdef __i386__
|
*
|
||||||
# include "ipcbuf_32.h"
|
* Pad space is left for:
|
||||||
# else
|
* - 32-bit mode_t and seq
|
||||||
# include "ipcbuf_64.h"
|
* - 2 miscellaneous 32-bit values
|
||||||
# endif
|
*/
|
||||||
#endif
|
|
||||||
|
struct ipc64_perm
|
||||||
|
{
|
||||||
|
__kernel_key_t key;
|
||||||
|
__kernel_uid32_t uid;
|
||||||
|
__kernel_gid32_t gid;
|
||||||
|
__kernel_uid32_t cuid;
|
||||||
|
__kernel_gid32_t cgid;
|
||||||
|
__kernel_mode_t mode;
|
||||||
|
unsigned short __pad1;
|
||||||
|
unsigned short seq;
|
||||||
|
unsigned short __pad2;
|
||||||
|
unsigned long __unused1;
|
||||||
|
unsigned long __unused2;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* _ASM_X86_IPCBUF_H */
|
||||||
|
|
|
@ -1,29 +0,0 @@
|
||||||
#ifndef __i386_IPCBUF_H__
|
|
||||||
#define __i386_IPCBUF_H__
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The ipc64_perm structure for i386 architecture.
|
|
||||||
* Note extra padding because this structure is passed back and forth
|
|
||||||
* between kernel and user space.
|
|
||||||
*
|
|
||||||
* Pad space is left for:
|
|
||||||
* - 32-bit mode_t and seq
|
|
||||||
* - 2 miscellaneous 32-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;
|
|
||||||
__kernel_mode_t mode;
|
|
||||||
unsigned short __pad1;
|
|
||||||
unsigned short seq;
|
|
||||||
unsigned short __pad2;
|
|
||||||
unsigned long __unused1;
|
|
||||||
unsigned long __unused2;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* __i386_IPCBUF_H__ */
|
|
|
@ -1,29 +0,0 @@
|
||||||
#ifndef __x86_64_IPCBUF_H__
|
|
||||||
#define __x86_64_IPCBUF_H__
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The ipc64_perm structure for x86_64 architecture.
|
|
||||||
* Note extra padding because this structure is passed back and forth
|
|
||||||
* between kernel and user space.
|
|
||||||
*
|
|
||||||
* Pad space is left for:
|
|
||||||
* - 32-bit mode_t and seq
|
|
||||||
* - 2 miscellaneous 32-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;
|
|
||||||
__kernel_mode_t mode;
|
|
||||||
unsigned short __pad1;
|
|
||||||
unsigned short seq;
|
|
||||||
unsigned short __pad2;
|
|
||||||
unsigned long __unused1;
|
|
||||||
unsigned long __unused2;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* __x86_64_IPCBUF_H__ */
|
|
|
@ -1,5 +1,11 @@
|
||||||
#ifdef CONFIG_X86_32
|
#ifndef _ASM_X86_NAMEI_H
|
||||||
# include "namei_32.h"
|
#define _ASM_X86_NAMEI_H
|
||||||
#else
|
|
||||||
# include "namei_64.h"
|
/* This dummy routine maybe changed to something useful
|
||||||
#endif
|
* for /usr/gnemul/ emulation stuff.
|
||||||
|
* Look at asm-sparc/namei.h for details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define __emul_prefix() NULL
|
||||||
|
|
||||||
|
#endif /* _ASM_X86_NAMEI_H */
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
/* $Id: namei.h,v 1.1 1996/12/13 14:48:21 jj Exp $
|
|
||||||
* linux/include/asm-i386/namei.h
|
|
||||||
*
|
|
||||||
* Included from linux/fs/namei.c
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __I386_NAMEI_H
|
|
||||||
#define __I386_NAMEI_H
|
|
||||||
|
|
||||||
/* This dummy routine maybe changed to something useful
|
|
||||||
* for /usr/gnemul/ emulation stuff.
|
|
||||||
* Look at asm-sparc/namei.h for details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define __emul_prefix() NULL
|
|
||||||
|
|
||||||
#endif /* __I386_NAMEI_H */
|
|
|
@ -1,11 +0,0 @@
|
||||||
#ifndef __X8664_NAMEI_H
|
|
||||||
#define __X8664_NAMEI_H
|
|
||||||
|
|
||||||
/* This dummy routine maybe changed to something useful
|
|
||||||
* for /usr/gnemul/ emulation stuff.
|
|
||||||
* Look at asm-sparc/namei.h for details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define __emul_prefix() NULL
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,13 +1,22 @@
|
||||||
|
#ifndef _ASM_X86_PARAM_H
|
||||||
|
#define _ASM_X86_PARAM_H
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
#ifdef __KERNEL__
|
||||||
# ifdef CONFIG_X86_32
|
# define HZ CONFIG_HZ /* Internal kernel timer frequency */
|
||||||
# include "param_32.h"
|
# define USER_HZ 100 /* .. some user interfaces are in "ticks" */
|
||||||
# else
|
# define CLOCKS_PER_SEC (USER_HZ) /* like times() */
|
||||||
# include "param_64.h"
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# ifdef __i386__
|
|
||||||
# include "param_32.h"
|
|
||||||
# else
|
|
||||||
# include "param_64.h"
|
|
||||||
# endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef HZ
|
||||||
|
#define HZ 100
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define EXEC_PAGESIZE 4096
|
||||||
|
|
||||||
|
#ifndef NOGROUP
|
||||||
|
#define NOGROUP (-1)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define MAXHOSTNAMELEN 64 /* max length of hostname */
|
||||||
|
|
||||||
|
#endif /* _ASM_X86_PARAM_H */
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
#ifndef _ASMi386_PARAM_H
|
|
||||||
#define _ASMi386_PARAM_H
|
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
|
||||||
# define HZ CONFIG_HZ /* Internal kernel timer frequency */
|
|
||||||
# define USER_HZ 100 /* .. some user interfaces are in "ticks" */
|
|
||||||
# define CLOCKS_PER_SEC (USER_HZ) /* like times() */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef HZ
|
|
||||||
#define HZ 100
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define EXEC_PAGESIZE 4096
|
|
||||||
|
|
||||||
#ifndef NOGROUP
|
|
||||||
#define NOGROUP (-1)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define MAXHOSTNAMELEN 64 /* max length of hostname */
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,22 +0,0 @@
|
||||||
#ifndef _ASMx86_64_PARAM_H
|
|
||||||
#define _ASMx86_64_PARAM_H
|
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
|
||||||
# define HZ CONFIG_HZ /* Internal kernel timer frequency */
|
|
||||||
# define USER_HZ 100 /* .. some user interfaces are in "ticks */
|
|
||||||
#define CLOCKS_PER_SEC (USER_HZ) /* like times() */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef HZ
|
|
||||||
#define HZ 100
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define EXEC_PAGESIZE 4096
|
|
||||||
|
|
||||||
#ifndef NOGROUP
|
|
||||||
#define NOGROUP (-1)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define MAXHOSTNAMELEN 64 /* max length of hostname */
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,5 +1,10 @@
|
||||||
#ifdef CONFIG_X86_32
|
#ifndef _ASM_X86_PARPORT_H
|
||||||
# include "parport_32.h"
|
#define _ASM_X86_PARPORT_H
|
||||||
#else
|
|
||||||
# include "parport_64.h"
|
static int __devinit parport_pc_find_isa_ports (int autoirq, int autodma);
|
||||||
#endif
|
static int __devinit parport_pc_find_nonpci_ports (int autoirq, int autodma)
|
||||||
|
{
|
||||||
|
return parport_pc_find_isa_ports (autoirq, autodma);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* _ASM_X86_PARPORT_H */
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
/*
|
|
||||||
* parport.h: ia32-specific parport initialisation
|
|
||||||
*
|
|
||||||
* Copyright (C) 1999, 2000 Tim Waugh <tim@cyberelk.demon.co.uk>
|
|
||||||
*
|
|
||||||
* This file should only be included by drivers/parport/parport_pc.c.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _ASM_I386_PARPORT_H
|
|
||||||
#define _ASM_I386_PARPORT_H 1
|
|
||||||
|
|
||||||
static int __devinit parport_pc_find_isa_ports (int autoirq, int autodma);
|
|
||||||
static int __devinit parport_pc_find_nonpci_ports (int autoirq, int autodma)
|
|
||||||
{
|
|
||||||
return parport_pc_find_isa_ports (autoirq, autodma);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* !(_ASM_I386_PARPORT_H) */
|
|
|
@ -1,18 +0,0 @@
|
||||||
/*
|
|
||||||
* parport.h: ia32-specific parport initialisation
|
|
||||||
*
|
|
||||||
* Copyright (C) 1999, 2000 Tim Waugh <tim@cyberelk.demon.co.uk>
|
|
||||||
*
|
|
||||||
* This file should only be included by drivers/parport/parport_pc.c.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _ASM_X8664_PARPORT_H
|
|
||||||
#define _ASM_X8664_PARPORT_H 1
|
|
||||||
|
|
||||||
static int __devinit parport_pc_find_isa_ports (int autoirq, int autodma);
|
|
||||||
static int __devinit parport_pc_find_nonpci_ports (int autoirq, int autodma)
|
|
||||||
{
|
|
||||||
return parport_pc_find_isa_ports (autoirq, autodma);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,5 +1,9 @@
|
||||||
#ifdef CONFIG_X86_32
|
#ifndef _ASM_X86_RWLOCK_H
|
||||||
# include "rwlock_32.h"
|
#define _ASM_X86_RWLOCK_H
|
||||||
#else
|
|
||||||
# include "rwlock_64.h"
|
#define RW_LOCK_BIAS 0x01000000
|
||||||
#endif
|
#define RW_LOCK_BIAS_STR "0x01000000"
|
||||||
|
|
||||||
|
/* Actual code is in asm/spinlock.h or in arch/x86/lib/rwlock.S */
|
||||||
|
|
||||||
|
#endif /* _ASM_X86_RWLOCK_H */
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
/* include/asm-i386/rwlock.h
|
|
||||||
*
|
|
||||||
* Helpers used by both rw spinlocks and rw semaphores.
|
|
||||||
*
|
|
||||||
* Based in part on code from semaphore.h and
|
|
||||||
* spinlock.h Copyright 1996 Linus Torvalds.
|
|
||||||
*
|
|
||||||
* Copyright 1999 Red Hat, Inc.
|
|
||||||
*
|
|
||||||
* Written by Benjamin LaHaise.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version
|
|
||||||
* 2 of the License, or (at your option) any later version.
|
|
||||||
*/
|
|
||||||
#ifndef _ASM_I386_RWLOCK_H
|
|
||||||
#define _ASM_I386_RWLOCK_H
|
|
||||||
|
|
||||||
#define RW_LOCK_BIAS 0x01000000
|
|
||||||
#define RW_LOCK_BIAS_STR "0x01000000"
|
|
||||||
|
|
||||||
/* Code is in asm-i386/spinlock.h */
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,26 +0,0 @@
|
||||||
/* include/asm-x86_64/rwlock.h
|
|
||||||
*
|
|
||||||
* Helpers used by both rw spinlocks and rw semaphores.
|
|
||||||
*
|
|
||||||
* Based in part on code from semaphore.h and
|
|
||||||
* spinlock.h Copyright 1996 Linus Torvalds.
|
|
||||||
*
|
|
||||||
* Copyright 1999 Red Hat, Inc.
|
|
||||||
* Copyright 2001,2002 SuSE labs
|
|
||||||
*
|
|
||||||
* Written by Benjamin LaHaise.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version
|
|
||||||
* 2 of the License, or (at your option) any later version.
|
|
||||||
*/
|
|
||||||
#ifndef _ASM_X86_64_RWLOCK_H
|
|
||||||
#define _ASM_X86_64_RWLOCK_H
|
|
||||||
|
|
||||||
#define RW_LOCK_BIAS 0x01000000
|
|
||||||
#define RW_LOCK_BIAS_STR "0x01000000"
|
|
||||||
|
|
||||||
/* Actual code is in asm/spinlock.h or in arch/x86_64/lib/rwlock.S */
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,13 +1,24 @@
|
||||||
#ifdef __KERNEL__
|
#ifndef _ASM_X86_SEMBUF_H
|
||||||
# ifdef CONFIG_X86_32
|
#define _ASM_X86_SEMBUF_H
|
||||||
# include "sembuf_32.h"
|
|
||||||
# else
|
/*
|
||||||
# include "sembuf_64.h"
|
* The semid64_ds structure for x86 architecture.
|
||||||
# endif
|
* Note extra padding because this structure is passed back and forth
|
||||||
#else
|
* between kernel and user space.
|
||||||
# ifdef __i386__
|
*
|
||||||
# include "sembuf_32.h"
|
* Pad space is left for:
|
||||||
# else
|
* - 64-bit time_t to solve y2038 problem
|
||||||
# include "sembuf_64.h"
|
* - 2 miscellaneous 32-bit values
|
||||||
# endif
|
*/
|
||||||
#endif
|
struct semid64_ds {
|
||||||
|
struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
|
||||||
|
__kernel_time_t sem_otime; /* last semop time */
|
||||||
|
unsigned long __unused1;
|
||||||
|
__kernel_time_t sem_ctime; /* last change time */
|
||||||
|
unsigned long __unused2;
|
||||||
|
unsigned long sem_nsems; /* no. of semaphores in array */
|
||||||
|
unsigned long __unused3;
|
||||||
|
unsigned long __unused4;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* _ASM_X86_SEMBUF_H */
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
#ifndef _I386_SEMBUF_H
|
|
||||||
#define _I386_SEMBUF_H
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The semid64_ds structure for i386 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
struct semid64_ds {
|
|
||||||
struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
|
|
||||||
__kernel_time_t sem_otime; /* last semop time */
|
|
||||||
unsigned long __unused1;
|
|
||||||
__kernel_time_t sem_ctime; /* last change time */
|
|
||||||
unsigned long __unused2;
|
|
||||||
unsigned long sem_nsems; /* no. of semaphores in array */
|
|
||||||
unsigned long __unused3;
|
|
||||||
unsigned long __unused4;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* _I386_SEMBUF_H */
|
|
|
@ -1,25 +0,0 @@
|
||||||
#ifndef _X86_64_SEMBUF_H
|
|
||||||
#define _X86_64_SEMBUF_H
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The semid64_ds structure for x86_64 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
|
|
||||||
*/
|
|
||||||
|
|
||||||
struct semid64_ds {
|
|
||||||
struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
|
|
||||||
__kernel_time_t sem_otime; /* last semop time */
|
|
||||||
unsigned long __unused1;
|
|
||||||
__kernel_time_t sem_ctime; /* last change time */
|
|
||||||
unsigned long __unused2;
|
|
||||||
unsigned long sem_nsems; /* no. of semaphores in array */
|
|
||||||
unsigned long __unused3;
|
|
||||||
unsigned long __unused4;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* _X86_64_SEMBUF_H */
|
|
|
@ -1,13 +1,6 @@
|
||||||
#ifdef __KERNEL__
|
#ifndef _ASM_X86_SHMPARAM_H
|
||||||
# ifdef CONFIG_X86_32
|
#define _ASM_X86_SHMPARAM_H
|
||||||
# include "shmparam_32.h"
|
|
||||||
# else
|
#define SHMLBA PAGE_SIZE /* attach addr a multiple of this */
|
||||||
# include "shmparam_64.h"
|
|
||||||
# endif
|
#endif /* _ASM_X86_SHMPARAM_H */
|
||||||
#else
|
|
||||||
# ifdef __i386__
|
|
||||||
# include "shmparam_32.h"
|
|
||||||
# else
|
|
||||||
# include "shmparam_64.h"
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
#ifndef _ASMI386_SHMPARAM_H
|
|
||||||
#define _ASMI386_SHMPARAM_H
|
|
||||||
|
|
||||||
#define SHMLBA PAGE_SIZE /* attach addr a multiple of this */
|
|
||||||
|
|
||||||
#endif /* _ASMI386_SHMPARAM_H */
|
|
|
@ -1,6 +0,0 @@
|
||||||
#ifndef _ASMX8664_SHMPARAM_H
|
|
||||||
#define _ASMX8664_SHMPARAM_H
|
|
||||||
|
|
||||||
#define SHMLBA PAGE_SIZE /* attach addr a multiple of this */
|
|
||||||
|
|
||||||
#endif /* _ASMX8664_SHMPARAM_H */
|
|
|
@ -1,13 +1,198 @@
|
||||||
#ifdef __KERNEL__
|
#ifndef _ASM_X86_TERMBITS_H
|
||||||
# ifdef CONFIG_X86_32
|
#define _ASM_X86_TERMBITS_H
|
||||||
# include "termbits_32.h"
|
|
||||||
# else
|
#include <linux/posix_types.h>
|
||||||
# include "termbits_64.h"
|
|
||||||
# endif
|
typedef unsigned char cc_t;
|
||||||
#else
|
typedef unsigned int speed_t;
|
||||||
# ifdef __i386__
|
typedef unsigned int tcflag_t;
|
||||||
# include "termbits_32.h"
|
|
||||||
# else
|
#define NCCS 19
|
||||||
# include "termbits_64.h"
|
struct termios {
|
||||||
# endif
|
tcflag_t c_iflag; /* input mode flags */
|
||||||
#endif
|
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]; /* control characters */
|
||||||
|
};
|
||||||
|
|
||||||
|
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]; /* 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]; /* 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 VTIME 5
|
||||||
|
#define VMIN 6
|
||||||
|
#define VSWTC 7
|
||||||
|
#define VSTART 8
|
||||||
|
#define VSTOP 9
|
||||||
|
#define VSUSP 10
|
||||||
|
#define VEOL 11
|
||||||
|
#define VREPRINT 12
|
||||||
|
#define VDISCARD 13
|
||||||
|
#define VWERASE 14
|
||||||
|
#define VLNEXT 15
|
||||||
|
#define VEOL2 16
|
||||||
|
|
||||||
|
/* c_iflag bits */
|
||||||
|
#define IGNBRK 0000001
|
||||||
|
#define BRKINT 0000002
|
||||||
|
#define IGNPAR 0000004
|
||||||
|
#define PARMRK 0000010
|
||||||
|
#define INPCK 0000020
|
||||||
|
#define ISTRIP 0000040
|
||||||
|
#define INLCR 0000100
|
||||||
|
#define IGNCR 0000200
|
||||||
|
#define ICRNL 0000400
|
||||||
|
#define IUCLC 0001000
|
||||||
|
#define IXON 0002000
|
||||||
|
#define IXANY 0004000
|
||||||
|
#define IXOFF 0010000
|
||||||
|
#define IMAXBEL 0020000
|
||||||
|
#define IUTF8 0040000
|
||||||
|
|
||||||
|
/* c_oflag bits */
|
||||||
|
#define OPOST 0000001
|
||||||
|
#define OLCUC 0000002
|
||||||
|
#define ONLCR 0000004
|
||||||
|
#define OCRNL 0000010
|
||||||
|
#define ONOCR 0000020
|
||||||
|
#define ONLRET 0000040
|
||||||
|
#define OFILL 0000100
|
||||||
|
#define OFDEL 0000200
|
||||||
|
#define NLDLY 0000400
|
||||||
|
#define NL0 0000000
|
||||||
|
#define NL1 0000400
|
||||||
|
#define CRDLY 0003000
|
||||||
|
#define CR0 0000000
|
||||||
|
#define CR1 0001000
|
||||||
|
#define CR2 0002000
|
||||||
|
#define CR3 0003000
|
||||||
|
#define TABDLY 0014000
|
||||||
|
#define TAB0 0000000
|
||||||
|
#define TAB1 0004000
|
||||||
|
#define TAB2 0010000
|
||||||
|
#define TAB3 0014000
|
||||||
|
#define XTABS 0014000
|
||||||
|
#define BSDLY 0020000
|
||||||
|
#define BS0 0000000
|
||||||
|
#define BS1 0020000
|
||||||
|
#define VTDLY 0040000
|
||||||
|
#define VT0 0000000
|
||||||
|
#define VT1 0040000
|
||||||
|
#define FFDLY 0100000
|
||||||
|
#define FF0 0000000
|
||||||
|
#define FF1 0100000
|
||||||
|
|
||||||
|
/* c_cflag bit meaning */
|
||||||
|
#define CBAUD 0010017
|
||||||
|
#define B0 0000000 /* hang up */
|
||||||
|
#define B50 0000001
|
||||||
|
#define B75 0000002
|
||||||
|
#define B110 0000003
|
||||||
|
#define B134 0000004
|
||||||
|
#define B150 0000005
|
||||||
|
#define B200 0000006
|
||||||
|
#define B300 0000007
|
||||||
|
#define B600 0000010
|
||||||
|
#define B1200 0000011
|
||||||
|
#define B1800 0000012
|
||||||
|
#define B2400 0000013
|
||||||
|
#define B4800 0000014
|
||||||
|
#define B9600 0000015
|
||||||
|
#define B19200 0000016
|
||||||
|
#define B38400 0000017
|
||||||
|
#define EXTA B19200
|
||||||
|
#define EXTB B38400
|
||||||
|
#define CSIZE 0000060
|
||||||
|
#define CS5 0000000
|
||||||
|
#define CS6 0000020
|
||||||
|
#define CS7 0000040
|
||||||
|
#define CS8 0000060
|
||||||
|
#define CSTOPB 0000100
|
||||||
|
#define CREAD 0000200
|
||||||
|
#define PARENB 0000400
|
||||||
|
#define PARODD 0001000
|
||||||
|
#define HUPCL 0002000
|
||||||
|
#define CLOCAL 0004000
|
||||||
|
#define CBAUDEX 0010000
|
||||||
|
#define BOTHER 0010000 /* non standard rate */
|
||||||
|
#define B57600 0010001
|
||||||
|
#define B115200 0010002
|
||||||
|
#define B230400 0010003
|
||||||
|
#define B460800 0010004
|
||||||
|
#define B500000 0010005
|
||||||
|
#define B576000 0010006
|
||||||
|
#define B921600 0010007
|
||||||
|
#define B1000000 0010010
|
||||||
|
#define B1152000 0010011
|
||||||
|
#define B1500000 0010012
|
||||||
|
#define B2000000 0010013
|
||||||
|
#define B2500000 0010014
|
||||||
|
#define B3000000 0010015
|
||||||
|
#define B3500000 0010016
|
||||||
|
#define B4000000 0010017
|
||||||
|
#define CIBAUD 002003600000 /* input baud rate */
|
||||||
|
#define CMSPAR 010000000000 /* mark or space (stick) parity */
|
||||||
|
#define CRTSCTS 020000000000 /* flow control */
|
||||||
|
|
||||||
|
#define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */
|
||||||
|
|
||||||
|
/* c_lflag bits */
|
||||||
|
#define ISIG 0000001
|
||||||
|
#define ICANON 0000002
|
||||||
|
#define XCASE 0000004
|
||||||
|
#define ECHO 0000010
|
||||||
|
#define ECHOE 0000020
|
||||||
|
#define ECHOK 0000040
|
||||||
|
#define ECHONL 0000100
|
||||||
|
#define NOFLSH 0000200
|
||||||
|
#define TOSTOP 0000400
|
||||||
|
#define ECHOCTL 0001000
|
||||||
|
#define ECHOPRT 0002000
|
||||||
|
#define ECHOKE 0004000
|
||||||
|
#define FLUSHO 0010000
|
||||||
|
#define PENDIN 0040000
|
||||||
|
#define IEXTEN 0100000
|
||||||
|
|
||||||
|
/* 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 /* _ASM_X86_TERMBITS_H */
|
||||||
|
|
|
@ -1,198 +0,0 @@
|
||||||
#ifndef __ARCH_I386_TERMBITS_H__
|
|
||||||
#define __ARCH_I386_TERMBITS_H__
|
|
||||||
|
|
||||||
#include <linux/posix_types.h>
|
|
||||||
|
|
||||||
typedef unsigned char cc_t;
|
|
||||||
typedef unsigned int speed_t;
|
|
||||||
typedef unsigned int tcflag_t;
|
|
||||||
|
|
||||||
#define NCCS 19
|
|
||||||
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 */
|
|
||||||
cc_t c_cc[NCCS]; /* control characters */
|
|
||||||
};
|
|
||||||
|
|
||||||
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]; /* 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]; /* 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 VTIME 5
|
|
||||||
#define VMIN 6
|
|
||||||
#define VSWTC 7
|
|
||||||
#define VSTART 8
|
|
||||||
#define VSTOP 9
|
|
||||||
#define VSUSP 10
|
|
||||||
#define VEOL 11
|
|
||||||
#define VREPRINT 12
|
|
||||||
#define VDISCARD 13
|
|
||||||
#define VWERASE 14
|
|
||||||
#define VLNEXT 15
|
|
||||||
#define VEOL2 16
|
|
||||||
|
|
||||||
/* c_iflag bits */
|
|
||||||
#define IGNBRK 0000001
|
|
||||||
#define BRKINT 0000002
|
|
||||||
#define IGNPAR 0000004
|
|
||||||
#define PARMRK 0000010
|
|
||||||
#define INPCK 0000020
|
|
||||||
#define ISTRIP 0000040
|
|
||||||
#define INLCR 0000100
|
|
||||||
#define IGNCR 0000200
|
|
||||||
#define ICRNL 0000400
|
|
||||||
#define IUCLC 0001000
|
|
||||||
#define IXON 0002000
|
|
||||||
#define IXANY 0004000
|
|
||||||
#define IXOFF 0010000
|
|
||||||
#define IMAXBEL 0020000
|
|
||||||
#define IUTF8 0040000
|
|
||||||
|
|
||||||
/* c_oflag bits */
|
|
||||||
#define OPOST 0000001
|
|
||||||
#define OLCUC 0000002
|
|
||||||
#define ONLCR 0000004
|
|
||||||
#define OCRNL 0000010
|
|
||||||
#define ONOCR 0000020
|
|
||||||
#define ONLRET 0000040
|
|
||||||
#define OFILL 0000100
|
|
||||||
#define OFDEL 0000200
|
|
||||||
#define NLDLY 0000400
|
|
||||||
#define NL0 0000000
|
|
||||||
#define NL1 0000400
|
|
||||||
#define CRDLY 0003000
|
|
||||||
#define CR0 0000000
|
|
||||||
#define CR1 0001000
|
|
||||||
#define CR2 0002000
|
|
||||||
#define CR3 0003000
|
|
||||||
#define TABDLY 0014000
|
|
||||||
#define TAB0 0000000
|
|
||||||
#define TAB1 0004000
|
|
||||||
#define TAB2 0010000
|
|
||||||
#define TAB3 0014000
|
|
||||||
#define XTABS 0014000
|
|
||||||
#define BSDLY 0020000
|
|
||||||
#define BS0 0000000
|
|
||||||
#define BS1 0020000
|
|
||||||
#define VTDLY 0040000
|
|
||||||
#define VT0 0000000
|
|
||||||
#define VT1 0040000
|
|
||||||
#define FFDLY 0100000
|
|
||||||
#define FF0 0000000
|
|
||||||
#define FF1 0100000
|
|
||||||
|
|
||||||
/* c_cflag bit meaning */
|
|
||||||
#define CBAUD 0010017
|
|
||||||
#define B0 0000000 /* hang up */
|
|
||||||
#define B50 0000001
|
|
||||||
#define B75 0000002
|
|
||||||
#define B110 0000003
|
|
||||||
#define B134 0000004
|
|
||||||
#define B150 0000005
|
|
||||||
#define B200 0000006
|
|
||||||
#define B300 0000007
|
|
||||||
#define B600 0000010
|
|
||||||
#define B1200 0000011
|
|
||||||
#define B1800 0000012
|
|
||||||
#define B2400 0000013
|
|
||||||
#define B4800 0000014
|
|
||||||
#define B9600 0000015
|
|
||||||
#define B19200 0000016
|
|
||||||
#define B38400 0000017
|
|
||||||
#define EXTA B19200
|
|
||||||
#define EXTB B38400
|
|
||||||
#define CSIZE 0000060
|
|
||||||
#define CS5 0000000
|
|
||||||
#define CS6 0000020
|
|
||||||
#define CS7 0000040
|
|
||||||
#define CS8 0000060
|
|
||||||
#define CSTOPB 0000100
|
|
||||||
#define CREAD 0000200
|
|
||||||
#define PARENB 0000400
|
|
||||||
#define PARODD 0001000
|
|
||||||
#define HUPCL 0002000
|
|
||||||
#define CLOCAL 0004000
|
|
||||||
#define CBAUDEX 0010000
|
|
||||||
#define BOTHER 0010000
|
|
||||||
#define B57600 0010001
|
|
||||||
#define B115200 0010002
|
|
||||||
#define B230400 0010003
|
|
||||||
#define B460800 0010004
|
|
||||||
#define B500000 0010005
|
|
||||||
#define B576000 0010006
|
|
||||||
#define B921600 0010007
|
|
||||||
#define B1000000 0010010
|
|
||||||
#define B1152000 0010011
|
|
||||||
#define B1500000 0010012
|
|
||||||
#define B2000000 0010013
|
|
||||||
#define B2500000 0010014
|
|
||||||
#define B3000000 0010015
|
|
||||||
#define B3500000 0010016
|
|
||||||
#define B4000000 0010017
|
|
||||||
#define CIBAUD 002003600000
|
|
||||||
#define CMSPAR 010000000000 /* mark or space (stick) parity */
|
|
||||||
#define CRTSCTS 020000000000 /* flow control */
|
|
||||||
|
|
||||||
#define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */
|
|
||||||
|
|
||||||
/* c_lflag bits */
|
|
||||||
#define ISIG 0000001
|
|
||||||
#define ICANON 0000002
|
|
||||||
#define XCASE 0000004
|
|
||||||
#define ECHO 0000010
|
|
||||||
#define ECHOE 0000020
|
|
||||||
#define ECHOK 0000040
|
|
||||||
#define ECHONL 0000100
|
|
||||||
#define NOFLSH 0000200
|
|
||||||
#define TOSTOP 0000400
|
|
||||||
#define ECHOCTL 0001000
|
|
||||||
#define ECHOPRT 0002000
|
|
||||||
#define ECHOKE 0004000
|
|
||||||
#define FLUSHO 0010000
|
|
||||||
#define PENDIN 0040000
|
|
||||||
#define IEXTEN 0100000
|
|
||||||
|
|
||||||
/* 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
|
|
|
@ -1,198 +0,0 @@
|
||||||
#ifndef __ARCH_X8664_TERMBITS_H__
|
|
||||||
#define __ARCH_X8664_TERMBITS_H__
|
|
||||||
|
|
||||||
#include <linux/posix_types.h>
|
|
||||||
|
|
||||||
typedef unsigned char cc_t;
|
|
||||||
typedef unsigned int speed_t;
|
|
||||||
typedef unsigned int tcflag_t;
|
|
||||||
|
|
||||||
#define NCCS 19
|
|
||||||
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 */
|
|
||||||
cc_t c_cc[NCCS]; /* control characters */
|
|
||||||
};
|
|
||||||
|
|
||||||
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]; /* 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]; /* 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 VTIME 5
|
|
||||||
#define VMIN 6
|
|
||||||
#define VSWTC 7
|
|
||||||
#define VSTART 8
|
|
||||||
#define VSTOP 9
|
|
||||||
#define VSUSP 10
|
|
||||||
#define VEOL 11
|
|
||||||
#define VREPRINT 12
|
|
||||||
#define VDISCARD 13
|
|
||||||
#define VWERASE 14
|
|
||||||
#define VLNEXT 15
|
|
||||||
#define VEOL2 16
|
|
||||||
|
|
||||||
/* c_iflag bits */
|
|
||||||
#define IGNBRK 0000001
|
|
||||||
#define BRKINT 0000002
|
|
||||||
#define IGNPAR 0000004
|
|
||||||
#define PARMRK 0000010
|
|
||||||
#define INPCK 0000020
|
|
||||||
#define ISTRIP 0000040
|
|
||||||
#define INLCR 0000100
|
|
||||||
#define IGNCR 0000200
|
|
||||||
#define ICRNL 0000400
|
|
||||||
#define IUCLC 0001000
|
|
||||||
#define IXON 0002000
|
|
||||||
#define IXANY 0004000
|
|
||||||
#define IXOFF 0010000
|
|
||||||
#define IMAXBEL 0020000
|
|
||||||
#define IUTF8 0040000
|
|
||||||
|
|
||||||
/* c_oflag bits */
|
|
||||||
#define OPOST 0000001
|
|
||||||
#define OLCUC 0000002
|
|
||||||
#define ONLCR 0000004
|
|
||||||
#define OCRNL 0000010
|
|
||||||
#define ONOCR 0000020
|
|
||||||
#define ONLRET 0000040
|
|
||||||
#define OFILL 0000100
|
|
||||||
#define OFDEL 0000200
|
|
||||||
#define NLDLY 0000400
|
|
||||||
#define NL0 0000000
|
|
||||||
#define NL1 0000400
|
|
||||||
#define CRDLY 0003000
|
|
||||||
#define CR0 0000000
|
|
||||||
#define CR1 0001000
|
|
||||||
#define CR2 0002000
|
|
||||||
#define CR3 0003000
|
|
||||||
#define TABDLY 0014000
|
|
||||||
#define TAB0 0000000
|
|
||||||
#define TAB1 0004000
|
|
||||||
#define TAB2 0010000
|
|
||||||
#define TAB3 0014000
|
|
||||||
#define XTABS 0014000
|
|
||||||
#define BSDLY 0020000
|
|
||||||
#define BS0 0000000
|
|
||||||
#define BS1 0020000
|
|
||||||
#define VTDLY 0040000
|
|
||||||
#define VT0 0000000
|
|
||||||
#define VT1 0040000
|
|
||||||
#define FFDLY 0100000
|
|
||||||
#define FF0 0000000
|
|
||||||
#define FF1 0100000
|
|
||||||
|
|
||||||
/* c_cflag bit meaning */
|
|
||||||
#define CBAUD 0010017
|
|
||||||
#define B0 0000000 /* hang up */
|
|
||||||
#define B50 0000001
|
|
||||||
#define B75 0000002
|
|
||||||
#define B110 0000003
|
|
||||||
#define B134 0000004
|
|
||||||
#define B150 0000005
|
|
||||||
#define B200 0000006
|
|
||||||
#define B300 0000007
|
|
||||||
#define B600 0000010
|
|
||||||
#define B1200 0000011
|
|
||||||
#define B1800 0000012
|
|
||||||
#define B2400 0000013
|
|
||||||
#define B4800 0000014
|
|
||||||
#define B9600 0000015
|
|
||||||
#define B19200 0000016
|
|
||||||
#define B38400 0000017
|
|
||||||
#define EXTA B19200
|
|
||||||
#define EXTB B38400
|
|
||||||
#define CSIZE 0000060
|
|
||||||
#define CS5 0000000
|
|
||||||
#define CS6 0000020
|
|
||||||
#define CS7 0000040
|
|
||||||
#define CS8 0000060
|
|
||||||
#define CSTOPB 0000100
|
|
||||||
#define CREAD 0000200
|
|
||||||
#define PARENB 0000400
|
|
||||||
#define PARODD 0001000
|
|
||||||
#define HUPCL 0002000
|
|
||||||
#define CLOCAL 0004000
|
|
||||||
#define CBAUDEX 0010000
|
|
||||||
#define BOTHER 0010000 /* non standard rate */
|
|
||||||
#define B57600 0010001
|
|
||||||
#define B115200 0010002
|
|
||||||
#define B230400 0010003
|
|
||||||
#define B460800 0010004
|
|
||||||
#define B500000 0010005
|
|
||||||
#define B576000 0010006
|
|
||||||
#define B921600 0010007
|
|
||||||
#define B1000000 0010010
|
|
||||||
#define B1152000 0010011
|
|
||||||
#define B1500000 0010012
|
|
||||||
#define B2000000 0010013
|
|
||||||
#define B2500000 0010014
|
|
||||||
#define B3000000 0010015
|
|
||||||
#define B3500000 0010016
|
|
||||||
#define B4000000 0010017
|
|
||||||
#define CIBAUD 002003600000 /* input baud rate */
|
|
||||||
#define CMSPAR 010000000000 /* mark or space (stick) parity */
|
|
||||||
#define CRTSCTS 020000000000 /* flow control */
|
|
||||||
|
|
||||||
#define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */
|
|
||||||
|
|
||||||
/* c_lflag bits */
|
|
||||||
#define ISIG 0000001
|
|
||||||
#define ICANON 0000002
|
|
||||||
#define XCASE 0000004
|
|
||||||
#define ECHO 0000010
|
|
||||||
#define ECHOE 0000020
|
|
||||||
#define ECHOK 0000040
|
|
||||||
#define ECHONL 0000100
|
|
||||||
#define NOFLSH 0000200
|
|
||||||
#define TOSTOP 0000400
|
|
||||||
#define ECHOCTL 0001000
|
|
||||||
#define ECHOPRT 0002000
|
|
||||||
#define ECHOKE 0004000
|
|
||||||
#define FLUSHO 0010000
|
|
||||||
#define PENDIN 0040000
|
|
||||||
#define IEXTEN 0100000
|
|
||||||
|
|
||||||
/* 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
|
|
|
@ -1,13 +1,97 @@
|
||||||
|
#ifndef _ASM_X86_TERMIOS_H
|
||||||
|
#define _ASM_X86_TERMIOS_H
|
||||||
|
|
||||||
|
#include <asm/termbits.h>
|
||||||
|
#include <asm/ioctls.h>
|
||||||
|
|
||||||
|
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 */
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 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 */
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
#ifdef __KERNEL__
|
||||||
# ifdef CONFIG_X86_32
|
|
||||||
# include "termios_32.h"
|
/* intr=^C quit=^\ erase=del kill=^U
|
||||||
# else
|
eof=^D vtime=\0 vmin=\1 sxtc=\0
|
||||||
# include "termios_64.h"
|
start=^Q stop=^S susp=^Z eol=\0
|
||||||
# endif
|
reprint=^R discard=^U werase=^W lnext=^V
|
||||||
#else
|
eol2=\0
|
||||||
# ifdef __i386__
|
*/
|
||||||
# include "termios_32.h"
|
#define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0"
|
||||||
# else
|
|
||||||
# include "termios_64.h"
|
/*
|
||||||
# endif
|
* Translate a "termio" structure into a "termios". Ugh.
|
||||||
#endif
|
*/
|
||||||
|
#define SET_LOW_TERMIOS_BITS(termios, termio, x) { \
|
||||||
|
unsigned short __tmp; \
|
||||||
|
get_user(__tmp,&(termio)->x); \
|
||||||
|
*(unsigned short *) &(termios)->x = __tmp; \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define user_termio_to_kernel_termios(termios, termio) \
|
||||||
|
({ \
|
||||||
|
SET_LOW_TERMIOS_BITS(termios, termio, c_iflag); \
|
||||||
|
SET_LOW_TERMIOS_BITS(termios, termio, c_oflag); \
|
||||||
|
SET_LOW_TERMIOS_BITS(termios, termio, c_cflag); \
|
||||||
|
SET_LOW_TERMIOS_BITS(termios, termio, c_lflag); \
|
||||||
|
copy_from_user((termios)->c_cc, (termio)->c_cc, NCC); \
|
||||||
|
})
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Translate a "termios" structure into a "termio". Ugh.
|
||||||
|
*/
|
||||||
|
#define kernel_termios_to_user_termio(termio, termios) \
|
||||||
|
({ \
|
||||||
|
put_user((termios)->c_iflag, &(termio)->c_iflag); \
|
||||||
|
put_user((termios)->c_oflag, &(termio)->c_oflag); \
|
||||||
|
put_user((termios)->c_cflag, &(termio)->c_cflag); \
|
||||||
|
put_user((termios)->c_lflag, &(termio)->c_lflag); \
|
||||||
|
put_user((termios)->c_line, &(termio)->c_line); \
|
||||||
|
copy_to_user((termio)->c_cc, (termios)->c_cc, NCC); \
|
||||||
|
})
|
||||||
|
|
||||||
|
#define user_termios_to_kernel_termios(k, u) \
|
||||||
|
copy_from_user(k, u, sizeof(struct termios2))
|
||||||
|
|
||||||
|
#define kernel_termios_to_user_termios(u, k) \
|
||||||
|
copy_to_user(u, k, sizeof(struct termios2))
|
||||||
|
|
||||||
|
#define user_termios_to_kernel_termios_1(k, u) \
|
||||||
|
copy_from_user(k, u, sizeof(struct termios))
|
||||||
|
|
||||||
|
#define kernel_termios_to_user_termios_1(u, k) \
|
||||||
|
copy_to_user(u, k, sizeof(struct termios))
|
||||||
|
|
||||||
|
#endif /* __KERNEL__ */
|
||||||
|
|
||||||
|
#endif /* _ASM_X86_TERMIOS_H */
|
||||||
|
|
|
@ -1,90 +0,0 @@
|
||||||
#ifndef _I386_TERMIOS_H
|
|
||||||
#define _I386_TERMIOS_H
|
|
||||||
|
|
||||||
#include <asm/termbits.h>
|
|
||||||
#include <asm/ioctls.h>
|
|
||||||
|
|
||||||
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 */
|
|
||||||
};
|
|
||||||
|
|
||||||
/* 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 */
|
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
|
||||||
|
|
||||||
/* intr=^C quit=^\ erase=del kill=^U
|
|
||||||
eof=^D vtime=\0 vmin=\1 sxtc=\0
|
|
||||||
start=^Q stop=^S susp=^Z eol=\0
|
|
||||||
reprint=^R discard=^U werase=^W lnext=^V
|
|
||||||
eol2=\0
|
|
||||||
*/
|
|
||||||
#define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0"
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Translate a "termio" structure into a "termios". Ugh.
|
|
||||||
*/
|
|
||||||
#define SET_LOW_TERMIOS_BITS(termios, termio, x) { \
|
|
||||||
unsigned short __tmp; \
|
|
||||||
get_user(__tmp,&(termio)->x); \
|
|
||||||
*(unsigned short *) &(termios)->x = __tmp; \
|
|
||||||
}
|
|
||||||
|
|
||||||
#define user_termio_to_kernel_termios(termios, termio) \
|
|
||||||
({ \
|
|
||||||
SET_LOW_TERMIOS_BITS(termios, termio, c_iflag); \
|
|
||||||
SET_LOW_TERMIOS_BITS(termios, termio, c_oflag); \
|
|
||||||
SET_LOW_TERMIOS_BITS(termios, termio, c_cflag); \
|
|
||||||
SET_LOW_TERMIOS_BITS(termios, termio, c_lflag); \
|
|
||||||
copy_from_user((termios)->c_cc, (termio)->c_cc, NCC); \
|
|
||||||
})
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Translate a "termios" structure into a "termio". Ugh.
|
|
||||||
*/
|
|
||||||
#define kernel_termios_to_user_termio(termio, termios) \
|
|
||||||
({ \
|
|
||||||
put_user((termios)->c_iflag, &(termio)->c_iflag); \
|
|
||||||
put_user((termios)->c_oflag, &(termio)->c_oflag); \
|
|
||||||
put_user((termios)->c_cflag, &(termio)->c_cflag); \
|
|
||||||
put_user((termios)->c_lflag, &(termio)->c_lflag); \
|
|
||||||
put_user((termios)->c_line, &(termio)->c_line); \
|
|
||||||
copy_to_user((termio)->c_cc, (termios)->c_cc, NCC); \
|
|
||||||
})
|
|
||||||
|
|
||||||
#define user_termios_to_kernel_termios(k, u) copy_from_user(k, u, sizeof(struct termios2))
|
|
||||||
#define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios2))
|
|
||||||
#define user_termios_to_kernel_termios_1(k, u) copy_from_user(k, u, sizeof(struct termios))
|
|
||||||
#define kernel_termios_to_user_termios_1(u, k) copy_to_user(u, k, sizeof(struct termios))
|
|
||||||
|
|
||||||
#endif /* __KERNEL__ */
|
|
||||||
|
|
||||||
#endif /* _I386_TERMIOS_H */
|
|
|
@ -1,90 +0,0 @@
|
||||||
#ifndef _X8664_TERMIOS_H
|
|
||||||
#define _X8664_TERMIOS_H
|
|
||||||
|
|
||||||
#include <asm/termbits.h>
|
|
||||||
#include <asm/ioctls.h>
|
|
||||||
|
|
||||||
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 */
|
|
||||||
};
|
|
||||||
|
|
||||||
/* 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 */
|
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
|
||||||
|
|
||||||
/* intr=^C quit=^\ erase=del kill=^U
|
|
||||||
eof=^D vtime=\0 vmin=\1 sxtc=\0
|
|
||||||
start=^Q stop=^S susp=^Z eol=\0
|
|
||||||
reprint=^R discard=^U werase=^W lnext=^V
|
|
||||||
eol2=\0
|
|
||||||
*/
|
|
||||||
#define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0"
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Translate a "termio" structure into a "termios". Ugh.
|
|
||||||
*/
|
|
||||||
#define SET_LOW_TERMIOS_BITS(termios, termio, x) { \
|
|
||||||
unsigned short __tmp; \
|
|
||||||
get_user(__tmp,&(termio)->x); \
|
|
||||||
*(unsigned short *) &(termios)->x = __tmp; \
|
|
||||||
}
|
|
||||||
|
|
||||||
#define user_termio_to_kernel_termios(termios, termio) \
|
|
||||||
({ \
|
|
||||||
SET_LOW_TERMIOS_BITS(termios, termio, c_iflag); \
|
|
||||||
SET_LOW_TERMIOS_BITS(termios, termio, c_oflag); \
|
|
||||||
SET_LOW_TERMIOS_BITS(termios, termio, c_cflag); \
|
|
||||||
SET_LOW_TERMIOS_BITS(termios, termio, c_lflag); \
|
|
||||||
copy_from_user((termios)->c_cc, (termio)->c_cc, NCC); \
|
|
||||||
})
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Translate a "termios" structure into a "termio". Ugh.
|
|
||||||
*/
|
|
||||||
#define kernel_termios_to_user_termio(termio, termios) \
|
|
||||||
({ \
|
|
||||||
put_user((termios)->c_iflag, &(termio)->c_iflag); \
|
|
||||||
put_user((termios)->c_oflag, &(termio)->c_oflag); \
|
|
||||||
put_user((termios)->c_cflag, &(termio)->c_cflag); \
|
|
||||||
put_user((termios)->c_lflag, &(termio)->c_lflag); \
|
|
||||||
put_user((termios)->c_line, &(termio)->c_line); \
|
|
||||||
copy_to_user((termio)->c_cc, (termios)->c_cc, NCC); \
|
|
||||||
})
|
|
||||||
|
|
||||||
#define user_termios_to_kernel_termios(k, u) copy_from_user(k, u, sizeof(struct termios2))
|
|
||||||
#define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios2))
|
|
||||||
#define user_termios_to_kernel_termios_1(k, u) copy_from_user(k, u, sizeof(struct termios))
|
|
||||||
#define kernel_termios_to_user_termios_1(u, k) copy_to_user(u, k, sizeof(struct termios))
|
|
||||||
|
|
||||||
#endif /* __KERNEL__ */
|
|
||||||
|
|
||||||
#endif /* _X8664_TERMIOS_H */
|
|
|
@ -1,13 +1,12 @@
|
||||||
#ifdef __KERNEL__
|
#ifndef _ASM_X86_UCONTEXT_H
|
||||||
# ifdef CONFIG_X86_32
|
#define _ASM_X86_UCONTEXT_H
|
||||||
# include "ucontext_32.h"
|
|
||||||
# else
|
struct ucontext {
|
||||||
# include "ucontext_64.h"
|
unsigned long uc_flags;
|
||||||
# endif
|
struct ucontext *uc_link;
|
||||||
#else
|
stack_t uc_stack;
|
||||||
# ifdef __i386__
|
struct sigcontext uc_mcontext;
|
||||||
# include "ucontext_32.h"
|
sigset_t uc_sigmask; /* mask last for extensibility */
|
||||||
# else
|
};
|
||||||
# include "ucontext_64.h"
|
|
||||||
# endif
|
#endif /* _ASM_X86_UCONTEXT_H */
|
||||||
#endif
|
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
#ifndef _ASMi386_UCONTEXT_H
|
|
||||||
#define _ASMi386_UCONTEXT_H
|
|
||||||
|
|
||||||
struct ucontext {
|
|
||||||
unsigned long uc_flags;
|
|
||||||
struct ucontext *uc_link;
|
|
||||||
stack_t uc_stack;
|
|
||||||
struct sigcontext uc_mcontext;
|
|
||||||
sigset_t uc_sigmask; /* mask last for extensibility */
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* !_ASMi386_UCONTEXT_H */
|
|
|
@ -1,12 +0,0 @@
|
||||||
#ifndef _ASMX8664_UCONTEXT_H
|
|
||||||
#define _ASMX8664_UCONTEXT_H
|
|
||||||
|
|
||||||
struct ucontext {
|
|
||||||
unsigned long uc_flags;
|
|
||||||
struct ucontext *uc_link;
|
|
||||||
stack_t uc_stack;
|
|
||||||
struct sigcontext uc_mcontext;
|
|
||||||
sigset_t uc_sigmask; /* mask last for extensibility */
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,5 +1,37 @@
|
||||||
#ifdef CONFIG_X86_32
|
#ifndef _ASM_X86_UNALIGNED_H
|
||||||
# include "unaligned_32.h"
|
#define _ASM_X86_UNALIGNED_H
|
||||||
#else
|
|
||||||
# include "unaligned_64.h"
|
/*
|
||||||
#endif
|
* The x86 can do unaligned accesses itself.
|
||||||
|
*
|
||||||
|
* The strange macros are there to make sure these can't
|
||||||
|
* be misused in a way that makes them not work on other
|
||||||
|
* architectures where unaligned accesses aren't as simple.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get_unaligned - get value from possibly mis-aligned location
|
||||||
|
* @ptr: pointer to value
|
||||||
|
*
|
||||||
|
* This macro should be used for accessing values larger in size than
|
||||||
|
* single bytes at locations that are expected to be improperly aligned,
|
||||||
|
* e.g. retrieving a u16 value from a location not u16-aligned.
|
||||||
|
*
|
||||||
|
* Note that unaligned accesses can be very expensive on some architectures.
|
||||||
|
*/
|
||||||
|
#define get_unaligned(ptr) (*(ptr))
|
||||||
|
|
||||||
|
/**
|
||||||
|
* put_unaligned - put value to a possibly mis-aligned location
|
||||||
|
* @val: value to place
|
||||||
|
* @ptr: pointer to location
|
||||||
|
*
|
||||||
|
* This macro should be used for placing values larger in size than
|
||||||
|
* single bytes at locations that are expected to be improperly aligned,
|
||||||
|
* e.g. writing a u16 value to a location not u16-aligned.
|
||||||
|
*
|
||||||
|
* Note that unaligned accesses can be very expensive on some architectures.
|
||||||
|
*/
|
||||||
|
#define put_unaligned(val, ptr) ((void)( *(ptr) = (val) ))
|
||||||
|
|
||||||
|
#endif /* _ASM_X86_UNALIGNED_H */
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
#ifndef __I386_UNALIGNED_H
|
|
||||||
#define __I386_UNALIGNED_H
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The i386 can do unaligned accesses itself.
|
|
||||||
*
|
|
||||||
* The strange macros are there to make sure these can't
|
|
||||||
* be misused in a way that makes them not work on other
|
|
||||||
* architectures where unaligned accesses aren't as simple.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* get_unaligned - get value from possibly mis-aligned location
|
|
||||||
* @ptr: pointer to value
|
|
||||||
*
|
|
||||||
* This macro should be used for accessing values larger in size than
|
|
||||||
* single bytes at locations that are expected to be improperly aligned,
|
|
||||||
* e.g. retrieving a u16 value from a location not u16-aligned.
|
|
||||||
*
|
|
||||||
* Note that unaligned accesses can be very expensive on some architectures.
|
|
||||||
*/
|
|
||||||
#define get_unaligned(ptr) (*(ptr))
|
|
||||||
|
|
||||||
/**
|
|
||||||
* put_unaligned - put value to a possibly mis-aligned location
|
|
||||||
* @val: value to place
|
|
||||||
* @ptr: pointer to location
|
|
||||||
*
|
|
||||||
* This macro should be used for placing values larger in size than
|
|
||||||
* single bytes at locations that are expected to be improperly aligned,
|
|
||||||
* e.g. writing a u16 value to a location not u16-aligned.
|
|
||||||
*
|
|
||||||
* Note that unaligned accesses can be very expensive on some architectures.
|
|
||||||
*/
|
|
||||||
#define put_unaligned(val, ptr) ((void)( *(ptr) = (val) ))
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,37 +0,0 @@
|
||||||
#ifndef __X8664_UNALIGNED_H
|
|
||||||
#define __X8664_UNALIGNED_H
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The x86-64 can do unaligned accesses itself.
|
|
||||||
*
|
|
||||||
* The strange macros are there to make sure these can't
|
|
||||||
* be misused in a way that makes them not work on other
|
|
||||||
* architectures where unaligned accesses aren't as simple.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* get_unaligned - get value from possibly mis-aligned location
|
|
||||||
* @ptr: pointer to value
|
|
||||||
*
|
|
||||||
* This macro should be used for accessing values larger in size than
|
|
||||||
* single bytes at locations that are expected to be improperly aligned,
|
|
||||||
* e.g. retrieving a u16 value from a location not u16-aligned.
|
|
||||||
*
|
|
||||||
* Note that unaligned accesses can be very expensive on some architectures.
|
|
||||||
*/
|
|
||||||
#define get_unaligned(ptr) (*(ptr))
|
|
||||||
|
|
||||||
/**
|
|
||||||
* put_unaligned - put value to a possibly mis-aligned location
|
|
||||||
* @val: value to place
|
|
||||||
* @ptr: pointer to location
|
|
||||||
*
|
|
||||||
* This macro should be used for placing values larger in size than
|
|
||||||
* single bytes at locations that are expected to be improperly aligned,
|
|
||||||
* e.g. writing a u16 value to a location not u16-aligned.
|
|
||||||
*
|
|
||||||
* Note that unaligned accesses can be very expensive on some architectures.
|
|
||||||
*/
|
|
||||||
#define put_unaligned(val, ptr) ((void)( *(ptr) = (val) ))
|
|
||||||
|
|
||||||
#endif
|
|
Loading…
Add table
Add a link
Reference in a new issue