mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-25 06:03:36 -04:00
Merge branch 'linux-2.6' into for-2.6.24
This commit is contained in:
commit
b2315372ea
444 changed files with 7849 additions and 8860 deletions
|
|
@ -42,4 +42,7 @@
|
|||
*/
|
||||
#define NR_IRQS (NR_AIC_IRQS + (5 * 32))
|
||||
|
||||
/* FIQ is AIC source 0. */
|
||||
#define FIQ_START AT91_ID_FIQ
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ struct omap_irda_config {
|
|||
unsigned long src_start;
|
||||
int tx_trigger;
|
||||
int rx_trigger;
|
||||
int mode;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -426,6 +426,13 @@ static inline void flush_anon_page(struct vm_area_struct *vma,
|
|||
*/
|
||||
#define flush_icache_page(vma,page) do { } while (0)
|
||||
|
||||
static inline void flush_ioremap_region(unsigned long phys, void __iomem *virt,
|
||||
unsigned offset, size_t size)
|
||||
{
|
||||
const void *start = (void __force *)virt + offset;
|
||||
dmac_inv_range(start, start + size);
|
||||
}
|
||||
|
||||
#define __cacheid_present(val) (val != read_cpuid(CPUID_ID))
|
||||
#define __cacheid_type_v7(val) ((val & (7 << 29)) == (4 << 29))
|
||||
|
||||
|
|
|
|||
|
|
@ -30,11 +30,11 @@
|
|||
#define S3C_ADDR(x) (S3C_ADDR_BASE + (x))
|
||||
#endif
|
||||
|
||||
#define S3C_VA_IRQ S3C_ADDR(0x000000000) /* irq controller(s) */
|
||||
#define S3C_VA_SYS S3C_ADDR(0x001000000) /* system control */
|
||||
#define S3C_VA_MEM S3C_ADDR(0x002000000) /* system control */
|
||||
#define S3C_VA_TIMER S3C_ADDR(0x003000000) /* timer block */
|
||||
#define S3C_VA_WATCHDOG S3C_ADDR(0x004000000) /* watchdog */
|
||||
#define S3C_VA_UART S3C_ADDR(0x010000000) /* UART */
|
||||
#define S3C_VA_IRQ S3C_ADDR(0x00000000) /* irq controller(s) */
|
||||
#define S3C_VA_SYS S3C_ADDR(0x00100000) /* system control */
|
||||
#define S3C_VA_MEM S3C_ADDR(0x00200000) /* system control */
|
||||
#define S3C_VA_TIMER S3C_ADDR(0x00300000) /* timer block */
|
||||
#define S3C_VA_WATCHDOG S3C_ADDR(0x00400000) /* watchdog */
|
||||
#define S3C_VA_UART S3C_ADDR(0x01000000) /* UART */
|
||||
|
||||
#endif /* __ASM_PLAT_MAP_H */
|
||||
|
|
|
|||
|
|
@ -63,6 +63,8 @@ static inline int kernel_termios_to_user_termio(struct termio __user *termio,
|
|||
|
||||
#define user_termios_to_kernel_termios(k, u) copy_from_user(k, u, sizeof(struct termios))
|
||||
#define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios))
|
||||
#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 /* __ARCH_TERMIO_GETPUT */
|
||||
|
||||
|
|
|
|||
16
include/asm-ia64/hpsim.h
Normal file
16
include/asm-ia64/hpsim.h
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#ifndef _ASMIA64_HPSIM_H
|
||||
#define _ASMIA64_HPSIM_H
|
||||
|
||||
#ifndef CONFIG_HP_SIMSERIAL_CONSOLE
|
||||
static inline int simcons_register(void) { return 1; }
|
||||
#else
|
||||
int simcons_register(void);
|
||||
#endif
|
||||
|
||||
struct tty_driver;
|
||||
extern struct tty_driver *hp_simserial_driver;
|
||||
|
||||
void ia64_ssc_connect_irq(long intr, long irq);
|
||||
void ia64_ctl_trace(long on);
|
||||
|
||||
#endif
|
||||
|
|
@ -81,5 +81,6 @@ extern u8 sn_sharing_domain_size;
|
|||
extern u8 sn_region_size;
|
||||
|
||||
extern void sn_flush_all_caches(long addr, long bytes);
|
||||
extern bool sn_cpu_disable_allowed(int cpu);
|
||||
|
||||
#endif /* _ASM_IA64_SN_ARCH_H */
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@ extern u64 sn_intr_alloc(nasid_t, int,
|
|||
int, nasid_t, int);
|
||||
extern void sn_intr_free(nasid_t, int, struct sn_irq_info *);
|
||||
extern struct sn_irq_info *sn_retarget_vector(struct sn_irq_info *, nasid_t, int);
|
||||
extern void sn_set_err_irq_affinity(unsigned int);
|
||||
extern struct list_head **sn_irq_lh;
|
||||
|
||||
#define CPU_VECTOR_TO_IRQ(cpuid,vector) (vector)
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ extern int sn_prom_feature_available(int id);
|
|||
#define PRF_PAL_CACHE_FLUSH_SAFE 0
|
||||
#define PRF_DEVICE_FLUSH_LIST 1
|
||||
#define PRF_HOTPLUG_SUPPORT 2
|
||||
#define PRF_CPU_DISABLE_SUPPORT 3
|
||||
|
||||
/* --------------------- OS Features -------------------------------*/
|
||||
|
||||
|
|
|
|||
|
|
@ -52,27 +52,27 @@
|
|||
.endm
|
||||
|
||||
#if !(defined(CONFIG_CHIP_M32102) || defined(CONFIG_CHIP_M32104))
|
||||
#define STI(reg) STI_M reg
|
||||
.macro STI_M reg
|
||||
#define ENABLE_INTERRUPTS(reg) ENABLE_INTERRUPTS reg
|
||||
.macro ENABLE_INTERRUPTS reg
|
||||
setpsw #0x40 -> nop
|
||||
; WORKAROUND: "-> nop" is a workaround for the M32700(TS1).
|
||||
.endm
|
||||
|
||||
#define CLI(reg) CLI_M reg
|
||||
.macro CLI_M reg
|
||||
#define DISABLE_INTERRUPTS(reg) DISABLE_INTERRUPTS reg
|
||||
.macro DISABLE_INTERRUPTS reg
|
||||
clrpsw #0x40 -> nop
|
||||
; WORKAROUND: "-> nop" is a workaround for the M32700(TS1).
|
||||
.endm
|
||||
#else /* CONFIG_CHIP_M32102 || CONFIG_CHIP_M32104 */
|
||||
#define STI(reg) STI_M reg
|
||||
.macro STI_M reg
|
||||
#define ENABLE_INTERRUPTS(reg) ENABLE_INTERRUPTS reg
|
||||
.macro ENABLE_INTERRUPTS reg
|
||||
mvfc \reg, psw
|
||||
or3 \reg, \reg, #0x0040
|
||||
mvtc \reg, psw
|
||||
.endm
|
||||
|
||||
#define CLI(reg) CLI_M reg
|
||||
.macro CLI_M reg
|
||||
#define DISABLE_INTERRUPTS(reg) DISABLE_INTERRUPTS reg
|
||||
.macro DISABLE_INTERRUPTS reg
|
||||
mvfc \reg, psw
|
||||
and3 \reg, \reg, #0xffbf
|
||||
mvtc \reg, psw
|
||||
|
|
|
|||
|
|
@ -22,12 +22,26 @@
|
|||
#include <asm/m32700ut/m32700ut_pld.h>
|
||||
#include <asm/m32700ut/m32700ut_lan.h>
|
||||
#include <asm/m32700ut/m32700ut_lcd.h>
|
||||
/* for ei_handler:linux/arch/m32r/kernel/entry.S */
|
||||
#define M32R_INT1ICU_ISTS PLD_ICUISTS
|
||||
#define M32R_INT1ICU_IRQ_BASE M32700UT_PLD_IRQ_BASE
|
||||
#define M32R_INT0ICU_ISTS M32700UT_LAN_ICUISTS
|
||||
#define M32R_INT0ICU_IRQ_BASE M32700UT_LAN_PLD_IRQ_BASE
|
||||
#define M32R_INT2ICU_ISTS M32700UT_LCD_ICUISTS
|
||||
#define M32R_INT2ICU_IRQ_BASE M32700UT_LCD_PLD_IRQ_BASE
|
||||
#endif /* CONFIG_PLAT_M32700UT */
|
||||
|
||||
#if defined(CONFIG_PLAT_OPSPUT)
|
||||
#include <asm/opsput/opsput_pld.h>
|
||||
#include <asm/opsput/opsput_lan.h>
|
||||
#include <asm/opsput/opsput_lcd.h>
|
||||
/* for ei_handler:linux/arch/m32r/kernel/entry.S */
|
||||
#define M32R_INT1ICU_ISTS PLD_ICUISTS
|
||||
#define M32R_INT1ICU_IRQ_BASE OPSPUT_PLD_IRQ_BASE
|
||||
#define M32R_INT0ICU_ISTS OPSPUT_LAN_ICUISTS
|
||||
#define M32R_INT0ICU_IRQ_BASE OPSPUT_LAN_PLD_IRQ_BASE
|
||||
#define M32R_INT2ICU_ISTS OPSPUT_LCD_ICUISTS
|
||||
#define M32R_INT2ICU_IRQ_BASE OPSPUT_LCD_PLD_IRQ_BASE
|
||||
#endif /* CONFIG_PLAT_OPSPUT */
|
||||
|
||||
#if defined(CONFIG_PLAT_MAPPI2)
|
||||
|
|
@ -40,10 +54,16 @@
|
|||
|
||||
#if defined(CONFIG_PLAT_USRV)
|
||||
#include <asm/m32700ut/m32700ut_pld.h>
|
||||
/* for ei_handler:linux/arch/m32r/kernel/entry.S */
|
||||
#define M32R_INT1ICU_ISTS PLD_ICUISTS
|
||||
#define M32R_INT1ICU_IRQ_BASE M32700UT_PLD_IRQ_BASE
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_PLAT_M32104UT)
|
||||
#include <asm/m32104ut/m32104ut_pld.h>
|
||||
/* for ei_handler:linux/arch/m32r/kernel/entry.S */
|
||||
#define M32R_INT1ICU_ISTS PLD_ICUISTS
|
||||
#define M32R_INT1ICU_IRQ_BASE M32104UT_PLD_IRQ_BASE
|
||||
#endif /* CONFIG_PLAT_M32104 */
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -313,10 +313,20 @@
|
|||
#define __NR_tee 308
|
||||
#define __NR_vmsplice 309
|
||||
#define __NR_move_pages 310
|
||||
#define __NR_sched_setaffinity 311
|
||||
#define __NR_sched_getaffinity 312
|
||||
#define __NR_kexec_load 313
|
||||
#define __NR_getcpu 314
|
||||
#define __NR_epoll_pwait 315
|
||||
#define __NR_utimensat 316
|
||||
#define __NR_signalfd 317
|
||||
#define __NR_timerfd 318
|
||||
#define __NR_eventfd 319
|
||||
#define __NR_fallocate 320
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#define NR_syscalls 311
|
||||
#define NR_syscalls 321
|
||||
|
||||
#define __ARCH_WANT_IPC_PARSE_VERSION
|
||||
#define __ARCH_WANT_OLD_READDIR
|
||||
|
|
|
|||
|
|
@ -314,10 +314,20 @@
|
|||
#define __NR_tee 308
|
||||
#define __NR_vmsplice 309
|
||||
#define __NR_move_pages 310
|
||||
#define __NR_sched_setaffinity 311
|
||||
#define __NR_sched_getaffinity 312
|
||||
#define __NR_kexec_load 313
|
||||
#define __NR_getcpu 314
|
||||
#define __NR_epoll_pwait 315
|
||||
#define __NR_utimensat 316
|
||||
#define __NR_signalfd 317
|
||||
#define __NR_timerfd 318
|
||||
#define __NR_eventfd 319
|
||||
#define __NR_fallocate 320
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#define NR_syscalls 311
|
||||
#define NR_syscalls 321
|
||||
|
||||
#define __ARCH_WANT_IPC_PARSE_VERSION
|
||||
#define __ARCH_WANT_OLD_READDIR
|
||||
|
|
|
|||
|
|
@ -172,6 +172,7 @@ ASMMACRO(tlb_probe_hazard,
|
|||
nop; nop; nop
|
||||
)
|
||||
ASMMACRO(irq_enable_hazard,
|
||||
_ssnop; _ssnop; _ssnop;
|
||||
)
|
||||
ASMMACRO(irq_disable_hazard,
|
||||
nop; nop; nop
|
||||
|
|
|
|||
|
|
@ -77,6 +77,10 @@
|
|||
#define TIOCSBRK 0x5427 /* BSD compatibility */
|
||||
#define TIOCCBRK 0x5428 /* BSD compatibility */
|
||||
#define TIOCGSID 0x7416 /* Return the session ID of FD */
|
||||
#define TCGETS2 _IOR('T',0x2A, struct termios2)
|
||||
#define TCSETS2 _IOW('T',0x2B, struct termios2)
|
||||
#define TCSETSW2 _IOW('T',0x2C, struct termios2)
|
||||
#define TCSETSF2 _IOW('T',0x2D, struct termios2)
|
||||
#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
|
||||
#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
|
||||
|
||||
|
|
|
|||
|
|
@ -1,30 +0,0 @@
|
|||
/*
|
||||
* Copyright 2001 MontaVista Software Inc.
|
||||
* Author: Jun Sun, jsun@mvista.com or jsun@junsun.net
|
||||
*
|
||||
* 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_GT64120_MOMENCO_OCELOT_GT64120_DEP_H
|
||||
#define _ASM_GT64120_MOMENCO_OCELOT_GT64120_DEP_H
|
||||
|
||||
/*
|
||||
* PCI address allocation
|
||||
*/
|
||||
#define GT_PCI_MEM_BASE (0x22000000UL)
|
||||
#define GT_PCI_MEM_SIZE GT_DEF_PCI0_MEM0_SIZE
|
||||
#define GT_PCI_IO_BASE (0x20000000UL)
|
||||
#define GT_PCI_IO_SIZE GT_DEF_PCI0_IO_SIZE
|
||||
|
||||
extern unsigned long gt64120_base;
|
||||
|
||||
#define GT64120_BASE (gt64120_base)
|
||||
|
||||
/*
|
||||
* GT timer irq
|
||||
*/
|
||||
#define GT_TIMER 6
|
||||
|
||||
#endif /* _ASM_GT64120_MOMENCO_OCELOT_GT64120_DEP_H */
|
||||
|
|
@ -227,10 +227,15 @@
|
|||
(A_BCM1480_DUART(chan) + \
|
||||
BCM1480_DUART_CHANREG_SPACING * 3 + (reg))
|
||||
|
||||
#define DUART_IMRISR_SPACING 0x20
|
||||
#define DUART_INCHNG_SPACING 0x10
|
||||
|
||||
#define R_BCM1480_DUART_IMRREG(chan) \
|
||||
(R_DUART_IMR_A + ((chan) & 1) * DUART_IMRISR_SPACING)
|
||||
#define R_BCM1480_DUART_ISRREG(chan) \
|
||||
(R_DUART_ISR_A + ((chan) & 1) * DUART_IMRISR_SPACING)
|
||||
#define R_BCM1480_DUART_INCHREG(chan) \
|
||||
(R_DUART_IN_CHNG_A + ((chan) & 1) * DUART_INCHNG_SPACING)
|
||||
|
||||
#define A_BCM1480_DUART_IMRREG(chan) \
|
||||
(A_BCM1480_DUART_CTRLREG((chan), R_BCM1480_DUART_IMRREG(chan)))
|
||||
|
|
|
|||
|
|
@ -164,6 +164,7 @@ struct ktermios {
|
|||
#define HUPCL 0002000 /* Hang up on last close. */
|
||||
#define CLOCAL 0004000 /* Ignore modem status lines. */
|
||||
#define CBAUDEX 0010000
|
||||
#define BOTHER 0010000
|
||||
#define B57600 0010001
|
||||
#define B115200 0010002
|
||||
#define B230400 0010003
|
||||
|
|
@ -179,9 +180,11 @@ struct ktermios {
|
|||
#define B3000000 0010015
|
||||
#define B3500000 0010016
|
||||
#define B4000000 0010017
|
||||
#define CIBAUD 002003600000 /* input baud rate (not used) */
|
||||
#define CIBAUD 002003600000 /* input baud rate */
|
||||
#define CMSPAR 010000000000 /* mark or space (stick) parity */
|
||||
#define CRTSCTS 020000000000 /* flow control */
|
||||
#define CRTSCTS 020000000000 /* flow control */
|
||||
|
||||
#define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */
|
||||
|
||||
/* c_lflag bits */
|
||||
#define ISIG 0000001 /* Enable signals. */
|
||||
|
|
|
|||
|
|
@ -122,8 +122,10 @@ struct termio {
|
|||
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 termios))
|
||||
#define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios))
|
||||
#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 /* defined(__KERNEL__) */
|
||||
|
||||
|
|
|
|||
|
|
@ -130,6 +130,7 @@ struct spu {
|
|||
u64 flags;
|
||||
u64 dar;
|
||||
u64 dsisr;
|
||||
u64 class_0_pending;
|
||||
size_t ls_size;
|
||||
unsigned int slb_replace;
|
||||
struct mm_struct *mm;
|
||||
|
|
@ -138,7 +139,6 @@ struct spu {
|
|||
unsigned long long timestamp;
|
||||
pid_t pid;
|
||||
pid_t tgid;
|
||||
int class_0_pending;
|
||||
spinlock_t register_lock;
|
||||
|
||||
void (* wbox_callback)(struct spu *spu);
|
||||
|
|
|
|||
|
|
@ -16,8 +16,6 @@ struct dev_archdata {
|
|||
|
||||
struct device_node *prom_node;
|
||||
struct of_device *op;
|
||||
|
||||
unsigned int msi_num;
|
||||
};
|
||||
|
||||
#endif /* _ASM_SPARC64_DEVICE_H */
|
||||
|
|
|
|||
|
|
@ -16,21 +16,21 @@
|
|||
#include <asm/ptrace.h>
|
||||
|
||||
/* IMAP/ICLR register defines */
|
||||
#define IMAP_VALID 0x80000000 /* IRQ Enabled */
|
||||
#define IMAP_TID_UPA 0x7c000000 /* UPA TargetID */
|
||||
#define IMAP_TID_JBUS 0x7c000000 /* JBUS TargetID */
|
||||
#define IMAP_VALID 0x80000000UL /* IRQ Enabled */
|
||||
#define IMAP_TID_UPA 0x7c000000UL /* UPA TargetID */
|
||||
#define IMAP_TID_JBUS 0x7c000000UL /* JBUS TargetID */
|
||||
#define IMAP_TID_SHIFT 26
|
||||
#define IMAP_AID_SAFARI 0x7c000000 /* Safari AgentID */
|
||||
#define IMAP_AID_SAFARI 0x7c000000UL /* Safari AgentID */
|
||||
#define IMAP_AID_SHIFT 26
|
||||
#define IMAP_NID_SAFARI 0x03e00000 /* Safari NodeID */
|
||||
#define IMAP_NID_SAFARI 0x03e00000UL /* Safari NodeID */
|
||||
#define IMAP_NID_SHIFT 21
|
||||
#define IMAP_IGN 0x000007c0 /* IRQ Group Number */
|
||||
#define IMAP_INO 0x0000003f /* IRQ Number */
|
||||
#define IMAP_INR 0x000007ff /* Full interrupt number*/
|
||||
#define IMAP_IGN 0x000007c0UL /* IRQ Group Number */
|
||||
#define IMAP_INO 0x0000003fUL /* IRQ Number */
|
||||
#define IMAP_INR 0x000007ffUL /* Full interrupt number*/
|
||||
|
||||
#define ICLR_IDLE 0x00000000 /* Idle state */
|
||||
#define ICLR_TRANSMIT 0x00000001 /* Transmit state */
|
||||
#define ICLR_PENDING 0x00000003 /* Pending state */
|
||||
#define ICLR_IDLE 0x00000000UL /* Idle state */
|
||||
#define ICLR_TRANSMIT 0x00000001UL /* Transmit state */
|
||||
#define ICLR_PENDING 0x00000003UL /* Pending state */
|
||||
|
||||
/* The largest number of unique interrupt sources we support.
|
||||
* If this needs to ever be larger than 255, you need to change
|
||||
|
|
@ -53,6 +53,9 @@ extern unsigned int sun4v_build_msi(u32 devhandle, unsigned int *virt_irq_p,
|
|||
extern void sun4v_destroy_msi(unsigned int virt_irq);
|
||||
extern unsigned int sbus_build_irq(void *sbus, unsigned int ino);
|
||||
|
||||
extern void sparc64_set_msi(unsigned int virt_irq, u32 msi);
|
||||
extern u32 sparc64_get_msi(unsigned int virt_irq);
|
||||
|
||||
extern void fixup_irqs(void);
|
||||
|
||||
static __inline__ void set_softint(unsigned long bits)
|
||||
|
|
|
|||
|
|
@ -16,82 +16,112 @@
|
|||
|
||||
. = ALIGN(4096);
|
||||
.note : { *(.note.*) }
|
||||
__start___ex_table = .;
|
||||
__ex_table : { *(__ex_table) }
|
||||
__stop___ex_table = .;
|
||||
__ex_table : {
|
||||
__start___ex_table = .;
|
||||
*(__ex_table)
|
||||
__stop___ex_table = .;
|
||||
}
|
||||
|
||||
BUG_TABLE
|
||||
|
||||
__uml_setup_start = .;
|
||||
.uml.setup.init : { *(.uml.setup.init) }
|
||||
__uml_setup_end = .;
|
||||
.uml.setup.init : {
|
||||
__uml_setup_start = .;
|
||||
*(.uml.setup.init)
|
||||
__uml_setup_end = .;
|
||||
}
|
||||
|
||||
__uml_help_start = .;
|
||||
.uml.help.init : { *(.uml.help.init) }
|
||||
__uml_help_end = .;
|
||||
.uml.help.init : {
|
||||
__uml_help_start = .;
|
||||
*(.uml.help.init)
|
||||
__uml_help_end = .;
|
||||
}
|
||||
|
||||
__uml_postsetup_start = .;
|
||||
.uml.postsetup.init : { *(.uml.postsetup.init) }
|
||||
__uml_postsetup_end = .;
|
||||
.uml.postsetup.init : {
|
||||
__uml_postsetup_start = .;
|
||||
*(.uml.postsetup.init)
|
||||
__uml_postsetup_end = .;
|
||||
}
|
||||
|
||||
__setup_start = .;
|
||||
.init.setup : { *(.init.setup) }
|
||||
__setup_end = .;
|
||||
.init.setup : {
|
||||
__setup_start = .;
|
||||
*(.init.setup)
|
||||
__setup_end = .;
|
||||
}
|
||||
|
||||
. = ALIGN(32);
|
||||
__per_cpu_start = . ;
|
||||
.data.percpu : { *(.data.percpu) }
|
||||
__per_cpu_end = . ;
|
||||
|
||||
__initcall_start = .;
|
||||
.initcall.init : {
|
||||
INITCALLS
|
||||
.data.percpu : {
|
||||
__per_cpu_start = . ;
|
||||
*(.data.percpu)
|
||||
__per_cpu_end = . ;
|
||||
}
|
||||
|
||||
.initcall.init : {
|
||||
__initcall_start = .;
|
||||
INITCALLS
|
||||
__initcall_end = .;
|
||||
}
|
||||
__initcall_end = .;
|
||||
|
||||
__con_initcall_start = .;
|
||||
.con_initcall.init : { *(.con_initcall.init) }
|
||||
__con_initcall_end = .;
|
||||
.con_initcall.init : {
|
||||
__con_initcall_start = .;
|
||||
*(.con_initcall.init)
|
||||
__con_initcall_end = .;
|
||||
}
|
||||
|
||||
__uml_initcall_start = .;
|
||||
.uml.initcall.init : { *(.uml.initcall.init) }
|
||||
__uml_initcall_end = .;
|
||||
.uml.initcall.init : {
|
||||
__uml_initcall_start = .;
|
||||
*(.uml.initcall.init)
|
||||
__uml_initcall_end = .;
|
||||
}
|
||||
__init_end = .;
|
||||
|
||||
SECURITY_INIT
|
||||
|
||||
__exitcall_begin = .;
|
||||
.exitcall : { *(.exitcall.exit) }
|
||||
__exitcall_end = .;
|
||||
.exitcall : {
|
||||
__exitcall_begin = .;
|
||||
*(.exitcall.exit)
|
||||
__exitcall_end = .;
|
||||
}
|
||||
|
||||
__uml_exitcall_begin = .;
|
||||
.uml.exitcall : { *(.uml.exitcall.exit) }
|
||||
__uml_exitcall_end = .;
|
||||
.uml.exitcall : {
|
||||
__uml_exitcall_begin = .;
|
||||
*(.uml.exitcall.exit)
|
||||
__uml_exitcall_end = .;
|
||||
}
|
||||
|
||||
. = ALIGN(4);
|
||||
__alt_instructions = .;
|
||||
.altinstructions : { *(.altinstructions) }
|
||||
__alt_instructions_end = .;
|
||||
.altinstructions : {
|
||||
__alt_instructions = .;
|
||||
*(.altinstructions)
|
||||
__alt_instructions_end = .;
|
||||
}
|
||||
.altinstr_replacement : { *(.altinstr_replacement) }
|
||||
/* .exit.text is discard at runtime, not link time, to deal with references
|
||||
from .altinstructions and .eh_frame */
|
||||
.exit.text : { *(.exit.text) }
|
||||
.exit.data : { *(.exit.data) }
|
||||
|
||||
__preinit_array_start = .;
|
||||
.preinit_array : { *(.preinit_array) }
|
||||
__preinit_array_end = .;
|
||||
__init_array_start = .;
|
||||
.init_array : { *(.init_array) }
|
||||
__init_array_end = .;
|
||||
__fini_array_start = .;
|
||||
.fini_array : { *(.fini_array) }
|
||||
__fini_array_end = .;
|
||||
.preinit_array : {
|
||||
__preinit_array_start = .;
|
||||
*(.preinit_array)
|
||||
__preinit_array_end = .;
|
||||
}
|
||||
.init_array : {
|
||||
__init_array_start = .;
|
||||
*(.init_array)
|
||||
__init_array_end = .;
|
||||
}
|
||||
.fini_array : {
|
||||
__fini_array_start = .;
|
||||
*(.fini_array)
|
||||
__fini_array_end = .;
|
||||
}
|
||||
|
||||
. = ALIGN(4096);
|
||||
__initramfs_start = .;
|
||||
.init.ramfs : { *(.init.ramfs) }
|
||||
__initramfs_end = .;
|
||||
.init.ramfs : {
|
||||
__initramfs_start = .;
|
||||
*(.init.ramfs)
|
||||
__initramfs_end = .;
|
||||
}
|
||||
|
||||
/* Sections to be discarded */
|
||||
/DISCARD/ : {
|
||||
|
|
|
|||
|
|
@ -6,7 +6,9 @@
|
|||
#ifndef __UM_ELF_X86_64_H
|
||||
#define __UM_ELF_X86_64_H
|
||||
|
||||
#include <linux/sched.h>
|
||||
#include <asm/user.h>
|
||||
#include "skas.h"
|
||||
|
||||
/* x86-64 relocation types, taken from asm-x86_64/elf.h */
|
||||
#define R_X86_64_NONE 0 /* No reloc */
|
||||
|
|
@ -64,6 +66,44 @@ typedef struct { } elf_fpregset_t;
|
|||
PT_REGS_R15(regs) = 0; \
|
||||
} while (0)
|
||||
|
||||
#define ELF_CORE_COPY_REGS(pr_reg, regs) \
|
||||
(pr_reg)[0] = (regs)->regs.skas.regs[0]; \
|
||||
(pr_reg)[1] = (regs)->regs.skas.regs[1]; \
|
||||
(pr_reg)[2] = (regs)->regs.skas.regs[2]; \
|
||||
(pr_reg)[3] = (regs)->regs.skas.regs[3]; \
|
||||
(pr_reg)[4] = (regs)->regs.skas.regs[4]; \
|
||||
(pr_reg)[5] = (regs)->regs.skas.regs[5]; \
|
||||
(pr_reg)[6] = (regs)->regs.skas.regs[6]; \
|
||||
(pr_reg)[7] = (regs)->regs.skas.regs[7]; \
|
||||
(pr_reg)[8] = (regs)->regs.skas.regs[8]; \
|
||||
(pr_reg)[9] = (regs)->regs.skas.regs[9]; \
|
||||
(pr_reg)[10] = (regs)->regs.skas.regs[10]; \
|
||||
(pr_reg)[11] = (regs)->regs.skas.regs[11]; \
|
||||
(pr_reg)[12] = (regs)->regs.skas.regs[12]; \
|
||||
(pr_reg)[13] = (regs)->regs.skas.regs[13]; \
|
||||
(pr_reg)[14] = (regs)->regs.skas.regs[14]; \
|
||||
(pr_reg)[15] = (regs)->regs.skas.regs[15]; \
|
||||
(pr_reg)[16] = (regs)->regs.skas.regs[16]; \
|
||||
(pr_reg)[17] = (regs)->regs.skas.regs[17]; \
|
||||
(pr_reg)[18] = (regs)->regs.skas.regs[18]; \
|
||||
(pr_reg)[19] = (regs)->regs.skas.regs[19]; \
|
||||
(pr_reg)[20] = (regs)->regs.skas.regs[20]; \
|
||||
(pr_reg)[21] = current->thread.arch.fs; \
|
||||
(pr_reg)[22] = 0; \
|
||||
(pr_reg)[23] = 0; \
|
||||
(pr_reg)[24] = 0; \
|
||||
(pr_reg)[25] = 0; \
|
||||
(pr_reg)[26] = 0;
|
||||
|
||||
static inline int elf_core_copy_fpregs(struct task_struct *t,
|
||||
elf_fpregset_t *fpu)
|
||||
{
|
||||
int cpu = current_thread->cpu;
|
||||
return save_fp_registers(userspace_pid[cpu], (unsigned long *) fpu);
|
||||
}
|
||||
|
||||
#define ELF_CORE_COPY_FPREGS(t, fpu) elf_core_copy_fpregs(t, fpu)
|
||||
|
||||
#ifdef TIF_IA32 /* XXX */
|
||||
#error XXX, indeed
|
||||
clear_thread_flag(TIF_IA32);
|
||||
|
|
|
|||
|
|
@ -15,11 +15,26 @@ extern int pci_disable_pcie_error_reporting(struct pci_dev *dev);
|
|||
extern int pci_cleanup_aer_uncorrect_error_status(struct pci_dev *dev);
|
||||
extern int pci_cleanup_aer_correct_error_status(struct pci_dev *dev);
|
||||
#else
|
||||
#define pci_enable_pcie_error_reporting(dev) (-EINVAL)
|
||||
#define pci_find_aer_capability(dev) (0)
|
||||
#define pci_disable_pcie_error_reporting(dev) (-EINVAL)
|
||||
#define pci_cleanup_aer_uncorrect_error_status(dev) (-EINVAL)
|
||||
#define pci_cleanup_aer_correct_error_status(dev) (-EINVAL)
|
||||
static inline int pci_enable_pcie_error_reporting(struct pci_dev *dev)
|
||||
{
|
||||
return -EINVAL;
|
||||
}
|
||||
static inline int pci_find_aer_capability(struct pci_dev *dev)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
static inline int pci_disable_pcie_error_reporting(struct pci_dev *dev)
|
||||
{
|
||||
return -EINVAL;
|
||||
}
|
||||
static inline int pci_cleanup_aer_uncorrect_error_status(struct pci_dev *dev)
|
||||
{
|
||||
return -EINVAL;
|
||||
}
|
||||
static inline int pci_cleanup_aer_correct_error_status(struct pci_dev *dev)
|
||||
{
|
||||
return -EINVAL;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif //_AER_H_
|
||||
|
|
|
|||
|
|
@ -73,6 +73,19 @@ enum {
|
|||
ATA_PIO5 = ATA_PIO4 | (1 << 5),
|
||||
ATA_PIO6 = ATA_PIO5 | (1 << 6),
|
||||
|
||||
ATA_SWDMA0 = (1 << 0),
|
||||
ATA_SWDMA1 = ATA_SWDMA0 | (1 << 1),
|
||||
ATA_SWDMA2 = ATA_SWDMA1 | (1 << 2),
|
||||
|
||||
ATA_SWDMA2_ONLY = (1 << 2),
|
||||
|
||||
ATA_MWDMA0 = (1 << 0),
|
||||
ATA_MWDMA1 = ATA_MWDMA0 | (1 << 1),
|
||||
ATA_MWDMA2 = ATA_MWDMA1 | (1 << 2),
|
||||
|
||||
ATA_MWDMA12_ONLY = (1 << 1) | (1 << 2),
|
||||
ATA_MWDMA2_ONLY = (1 << 2),
|
||||
|
||||
ATA_UDMA0 = (1 << 0),
|
||||
ATA_UDMA1 = ATA_UDMA0 | (1 << 1),
|
||||
ATA_UDMA2 = ATA_UDMA1 | (1 << 2),
|
||||
|
|
|
|||
|
|
@ -126,16 +126,16 @@ static inline void cpuhotplug_mutex_unlock(struct mutex *cpu_hp_mutex)
|
|||
static inline int cpu_is_offline(int cpu) { return 0; }
|
||||
#endif /* CONFIG_HOTPLUG_CPU */
|
||||
|
||||
#ifdef CONFIG_SUSPEND_SMP
|
||||
#ifdef CONFIG_PM_SLEEP_SMP
|
||||
extern int suspend_cpu_hotplug;
|
||||
|
||||
extern int disable_nonboot_cpus(void);
|
||||
extern void enable_nonboot_cpus(void);
|
||||
#else
|
||||
#else /* !CONFIG_PM_SLEEP_SMP */
|
||||
#define suspend_cpu_hotplug 0
|
||||
|
||||
static inline int disable_nonboot_cpus(void) { return 0; }
|
||||
static inline void enable_nonboot_cpus(void) {}
|
||||
#endif
|
||||
#endif /* !CONFIG_PM_SLEEP_SMP */
|
||||
|
||||
#endif /* _LINUX_CPU_H_ */
|
||||
|
|
|
|||
|
|
@ -66,11 +66,8 @@ void hugetlb_free_pgd_range(struct mmu_gather **tlb, unsigned long addr,
|
|||
* If the arch doesn't supply something else, assume that hugepage
|
||||
* size aligned regions are ok without further preparation.
|
||||
*/
|
||||
static inline int prepare_hugepage_range(unsigned long addr, unsigned long len,
|
||||
pgoff_t pgoff)
|
||||
static inline int prepare_hugepage_range(unsigned long addr, unsigned long len)
|
||||
{
|
||||
if (pgoff & (~HPAGE_MASK >> PAGE_SHIFT))
|
||||
return -EINVAL;
|
||||
if (len & ~HPAGE_MASK)
|
||||
return -EINVAL;
|
||||
if (addr & ~HPAGE_MASK)
|
||||
|
|
@ -78,8 +75,7 @@ static inline int prepare_hugepage_range(unsigned long addr, unsigned long len,
|
|||
return 0;
|
||||
}
|
||||
#else
|
||||
int prepare_hugepage_range(unsigned long addr, unsigned long len,
|
||||
pgoff_t pgoff);
|
||||
int prepare_hugepage_range(unsigned long addr, unsigned long len);
|
||||
#endif
|
||||
|
||||
#ifndef ARCH_HAS_SETCLEAR_HUGE_PTE
|
||||
|
|
@ -117,7 +113,7 @@ static inline unsigned long hugetlb_total_pages(void)
|
|||
#define hugetlb_report_meminfo(buf) 0
|
||||
#define hugetlb_report_node_meminfo(n, buf) 0
|
||||
#define follow_huge_pmd(mm, addr, pmd, write) NULL
|
||||
#define prepare_hugepage_range(addr,len,pgoff) (-EINVAL)
|
||||
#define prepare_hugepage_range(addr,len) (-EINVAL)
|
||||
#define pmd_huge(x) 0
|
||||
#define is_hugepage_only_range(mm, addr, len) 0
|
||||
#define hugetlb_free_pgd_range(tlb, addr, end, floor, ceiling) ({BUG(); 0; })
|
||||
|
|
|
|||
|
|
@ -1378,6 +1378,19 @@ static inline int ide_dev_has_iordy(struct hd_driveid *id)
|
|||
return ((id->field_valid & 2) && (id->capability & 8)) ? 1 : 0;
|
||||
}
|
||||
|
||||
static inline int ide_dev_is_sata(struct hd_driveid *id)
|
||||
{
|
||||
/*
|
||||
* See if word 93 is 0 AND drive is at least ATA-5 compatible
|
||||
* verifying that word 80 by casting it to a signed type --
|
||||
* this trick allows us to filter out the reserved values of
|
||||
* 0x0000 and 0xffff along with the earlier ATA revisions...
|
||||
*/
|
||||
if (id->hw_config == 0 && (short)id->major_rev_num >= 0x0020)
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
u8 ide_dump_status(ide_drive_t *, const char *, u8);
|
||||
|
||||
typedef struct ide_pio_timings_s {
|
||||
|
|
|
|||
|
|
@ -558,6 +558,8 @@ struct input_absinfo {
|
|||
#define KEY_BRL_DOT6 0x1f6
|
||||
#define KEY_BRL_DOT7 0x1f7
|
||||
#define KEY_BRL_DOT8 0x1f8
|
||||
#define KEY_BRL_DOT9 0x1f9
|
||||
#define KEY_BRL_DOT10 0x1fa
|
||||
|
||||
/* We avoid low common keys in module aliases so they don't get huge. */
|
||||
#define KEY_MIN_INTERESTING KEY_MUTE
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ extern const char linux_proc_banner[];
|
|||
|
||||
#define ALIGN(x,a) __ALIGN_MASK(x,(typeof(x))(a)-1)
|
||||
#define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask))
|
||||
#define PTR_ALIGN(p, a) ((typeof(p))ALIGN((unsigned long)(p), (a)))
|
||||
|
||||
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
|
||||
|
||||
|
|
|
|||
|
|
@ -437,8 +437,10 @@ extern unsigned short plain_map[NR_KEYS];
|
|||
#define K_BRL_DOT6 K(KT_BRL, 6)
|
||||
#define K_BRL_DOT7 K(KT_BRL, 7)
|
||||
#define K_BRL_DOT8 K(KT_BRL, 8)
|
||||
#define K_BRL_DOT9 K(KT_BRL, 9)
|
||||
#define K_BRL_DOT10 K(KT_BRL, 10)
|
||||
|
||||
#define NR_BRL 9
|
||||
#define NR_BRL 11
|
||||
|
||||
#define MAX_DIACR 256
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
#define __LINUX_LEDS_H_INCLUDED
|
||||
|
||||
#include <linux/list.h>
|
||||
#include <linux/spinlock.h>
|
||||
|
||||
struct device;
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -303,6 +303,7 @@ enum {
|
|||
ATA_HORKAGE_NODMA = (1 << 1), /* DMA problems */
|
||||
ATA_HORKAGE_NONCQ = (1 << 2), /* Don't use NCQ */
|
||||
ATA_HORKAGE_MAX_SEC_128 = (1 << 3), /* Limit max sects to 128 */
|
||||
ATA_HORKAGE_BROKEN_HPA = (1 << 4), /* Broken HPA */
|
||||
};
|
||||
|
||||
enum hsm_task_states {
|
||||
|
|
|
|||
|
|
@ -88,9 +88,8 @@ struct nf_sockopt_ops
|
|||
int (*compat_get)(struct sock *sk, int optval,
|
||||
void __user *user, int *len);
|
||||
|
||||
/* Number of users inside set() or get(). */
|
||||
unsigned int use;
|
||||
struct task_struct *cleanup_task;
|
||||
/* Use the module struct to lock set/get code in place */
|
||||
struct module *owner;
|
||||
};
|
||||
|
||||
/* Each queued (to userspace) skbuff has one of these. */
|
||||
|
|
|
|||
|
|
@ -431,6 +431,7 @@ extern int nfs_sync_mapping_range(struct address_space *, loff_t, loff_t, int);
|
|||
extern int nfs_wb_all(struct inode *inode);
|
||||
extern int nfs_wb_page(struct inode *inode, struct page* page);
|
||||
extern int nfs_wb_page_priority(struct inode *inode, struct page* page, int how);
|
||||
extern int nfs_wb_page_cancel(struct inode *inode, struct page* page);
|
||||
#if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4)
|
||||
extern int nfs_commit_inode(struct inode *, int);
|
||||
extern struct nfs_write_data *nfs_commit_alloc(void);
|
||||
|
|
|
|||
|
|
@ -374,10 +374,9 @@
|
|||
#define PCI_DEVICE_ID_ATI_IXP400_SATA 0x4379
|
||||
#define PCI_DEVICE_ID_ATI_IXP400_SATA2 0x437a
|
||||
#define PCI_DEVICE_ID_ATI_IXP600_SATA 0x4380
|
||||
#define PCI_DEVICE_ID_ATI_IXP600_SMBUS 0x4385
|
||||
#define PCI_DEVICE_ID_ATI_SBX00_SMBUS 0x4385
|
||||
#define PCI_DEVICE_ID_ATI_IXP600_IDE 0x438c
|
||||
#define PCI_DEVICE_ID_ATI_IXP700_SATA 0x4390
|
||||
#define PCI_DEVICE_ID_ATI_IXP700_SMBUS 0x4395
|
||||
#define PCI_DEVICE_ID_ATI_IXP700_IDE 0x439c
|
||||
|
||||
#define PCI_VENDOR_ID_VLSI 0x1004
|
||||
|
|
@ -1344,6 +1343,7 @@
|
|||
#define PCI_DEVICE_ID_VIA_8231_4 0x8235
|
||||
#define PCI_DEVICE_ID_VIA_8365_1 0x8305
|
||||
#define PCI_DEVICE_ID_VIA_CX700 0x8324
|
||||
#define PCI_DEVICE_ID_VIA_VX800 0x8353
|
||||
#define PCI_DEVICE_ID_VIA_8371_1 0x8391
|
||||
#define PCI_DEVICE_ID_VIA_82C598_1 0x8598
|
||||
#define PCI_DEVICE_ID_VIA_838X_1 0xB188
|
||||
|
|
@ -2293,6 +2293,8 @@
|
|||
#define PCI_DEVICE_ID_INTEL_MCH_PC 0x3599
|
||||
#define PCI_DEVICE_ID_INTEL_MCH_PC1 0x359a
|
||||
#define PCI_DEVICE_ID_INTEL_E7525_MCH 0x359e
|
||||
#define PCI_DEVICE_ID_INTEL_TOLAPAI_0 0x5031
|
||||
#define PCI_DEVICE_ID_INTEL_TOLAPAI_1 0x5032
|
||||
#define PCI_DEVICE_ID_INTEL_82371SB_0 0x7000
|
||||
#define PCI_DEVICE_ID_INTEL_82371SB_1 0x7010
|
||||
#define PCI_DEVICE_ID_INTEL_82371SB_2 0x7020
|
||||
|
|
|
|||
|
|
@ -21,6 +21,8 @@
|
|||
#define WQUEUES_STACK_ALLOC (MAX_STACK_ALLOC - FRONTEND_STACK_ALLOC)
|
||||
#define N_INLINE_POLL_ENTRIES (WQUEUES_STACK_ALLOC / sizeof(struct poll_table_entry))
|
||||
|
||||
#define DEFAULT_POLLMASK (POLLIN | POLLOUT | POLLRDNORM | POLLWRNORM)
|
||||
|
||||
struct poll_table_struct;
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -351,6 +351,8 @@ enum
|
|||
#define RTAX_INITCWND RTAX_INITCWND
|
||||
RTAX_FEATURES,
|
||||
#define RTAX_FEATURES RTAX_FEATURES
|
||||
RTAX_RTO_MIN,
|
||||
#define RTAX_RTO_MIN RTAX_RTO_MIN
|
||||
__RTAX_MAX
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -904,6 +904,7 @@ struct sched_entity {
|
|||
|
||||
u64 exec_start;
|
||||
u64 sum_exec_runtime;
|
||||
u64 prev_sum_exec_runtime;
|
||||
u64 wait_start_fair;
|
||||
u64 sleep_start_fair;
|
||||
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ extern struct kmem_cache kmalloc_caches[KMALLOC_SHIFT_HIGH + 1];
|
|||
* Sorry that the following has to be that ugly but some versions of GCC
|
||||
* have trouble with constant propagation and loops.
|
||||
*/
|
||||
static inline int kmalloc_index(size_t size)
|
||||
static __always_inline int kmalloc_index(size_t size)
|
||||
{
|
||||
if (!size)
|
||||
return 0;
|
||||
|
|
@ -133,7 +133,7 @@ static inline int kmalloc_index(size_t size)
|
|||
* This ought to end up with a global pointer to the right cache
|
||||
* in kmalloc_caches.
|
||||
*/
|
||||
static inline struct kmem_cache *kmalloc_slab(size_t size)
|
||||
static __always_inline struct kmem_cache *kmalloc_slab(size_t size)
|
||||
{
|
||||
int index = kmalloc_index(size);
|
||||
|
||||
|
|
@ -166,7 +166,7 @@ static inline struct kmem_cache *kmalloc_slab(size_t size)
|
|||
void *kmem_cache_alloc(struct kmem_cache *, gfp_t);
|
||||
void *__kmalloc(size_t size, gfp_t flags);
|
||||
|
||||
static inline void *kmalloc(size_t size, gfp_t flags)
|
||||
static __always_inline void *kmalloc(size_t size, gfp_t flags)
|
||||
{
|
||||
if (__builtin_constant_p(size) && !(flags & SLUB_DMA)) {
|
||||
struct kmem_cache *s = kmalloc_slab(size);
|
||||
|
|
@ -183,7 +183,7 @@ static inline void *kmalloc(size_t size, gfp_t flags)
|
|||
void *__kmalloc_node(size_t size, gfp_t flags, int node);
|
||||
void *kmem_cache_alloc_node(struct kmem_cache *, gfp_t flags, int node);
|
||||
|
||||
static inline void *kmalloc_node(size_t size, gfp_t flags, int node)
|
||||
static __always_inline void *kmalloc_node(size_t size, gfp_t flags, int node)
|
||||
{
|
||||
if (__builtin_constant_p(size) && !(flags & SLUB_DMA)) {
|
||||
struct kmem_cache *s = kmalloc_slab(size);
|
||||
|
|
|
|||
|
|
@ -214,7 +214,7 @@ struct sctp_chunk *sctp_make_shutdown_ack(const struct sctp_association *asoc,
|
|||
const struct sctp_chunk *);
|
||||
struct sctp_chunk *sctp_make_shutdown_complete(const struct sctp_association *,
|
||||
const struct sctp_chunk *);
|
||||
void sctp_init_cause(struct sctp_chunk *, __be16 cause, const void *, size_t);
|
||||
void sctp_init_cause(struct sctp_chunk *, __be16 cause, size_t);
|
||||
struct sctp_chunk *sctp_make_abort(const struct sctp_association *,
|
||||
const struct sctp_chunk *,
|
||||
const size_t hint);
|
||||
|
|
|
|||
|
|
@ -726,6 +726,7 @@ int sctp_user_addto_chunk(struct sctp_chunk *chunk, int off, int len,
|
|||
struct iovec *data);
|
||||
void sctp_chunk_free(struct sctp_chunk *);
|
||||
void *sctp_addto_chunk(struct sctp_chunk *, int len, const void *data);
|
||||
void *sctp_addto_param(struct sctp_chunk *, int len, const void *data);
|
||||
struct sctp_chunk *sctp_chunkify(struct sk_buff *,
|
||||
const struct sctp_association *,
|
||||
struct sock *);
|
||||
|
|
|
|||
|
|
@ -83,6 +83,7 @@ int sctp_clear_pd(struct sock *sk, struct sctp_association *asoc);
|
|||
/* Skip over an SSN. */
|
||||
void sctp_ulpq_skip(struct sctp_ulpq *ulpq, __u16 sid, __u16 ssn);
|
||||
|
||||
void sctp_ulpq_reasm_flushtsn(struct sctp_ulpq *, __u32);
|
||||
#endif /* __sctp_ulpqueue_h__ */
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -205,6 +205,13 @@ struct iscsi_queue {
|
|||
};
|
||||
|
||||
struct iscsi_session {
|
||||
/*
|
||||
* Syncs up the scsi eh thread with the iscsi eh thread when sending
|
||||
* task management functions. This must be taken before the session
|
||||
* and recv lock.
|
||||
*/
|
||||
struct mutex eh_mutex;
|
||||
|
||||
/* iSCSI session-wide sequencing */
|
||||
uint32_t cmdsn;
|
||||
uint32_t exp_cmdsn;
|
||||
|
|
|
|||
Loading…
Reference in a new issue