Merge git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6: parisc: update my email address parisc: fix miscompilation of ip_fast_csum with gcc >= 4.3 parisc: fix off by one in setup_sigcontext32 parisc: export empty_zero_page parisc: export copy_user_page_asm parisc: move head.S to head.text section Revert "parisc: fix trivial section name warnings"
This commit is contained in:
Коммит
7775c9753b
|
@ -274,7 +274,7 @@ S: Maintained
|
||||||
|
|
||||||
AD1889 ALSA SOUND DRIVER
|
AD1889 ALSA SOUND DRIVER
|
||||||
P: Kyle McMartin
|
P: Kyle McMartin
|
||||||
M: kyle@parisc-linux.org
|
M: kyle@mcmartin.ca
|
||||||
P: Thibaut Varene
|
P: Thibaut Varene
|
||||||
M: T-Bone@parisc-linux.org
|
M: T-Bone@parisc-linux.org
|
||||||
W: http://wiki.parisc-linux.org/AD1889
|
W: http://wiki.parisc-linux.org/AD1889
|
||||||
|
@ -1828,7 +1828,7 @@ S: Maintained
|
||||||
|
|
||||||
HARMONY SOUND DRIVER
|
HARMONY SOUND DRIVER
|
||||||
P: Kyle McMartin
|
P: Kyle McMartin
|
||||||
M: kyle@parisc-linux.org
|
M: kyle@mcmartin.ca
|
||||||
L: linux-parisc@vger.kernel.org
|
L: linux-parisc@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
|
@ -3121,7 +3121,7 @@ S: Maintained
|
||||||
|
|
||||||
PARISC ARCHITECTURE
|
PARISC ARCHITECTURE
|
||||||
P: Kyle McMartin
|
P: Kyle McMartin
|
||||||
M: kyle@parisc-linux.org
|
M: kyle@mcmartin.ca
|
||||||
P: Matthew Wilcox
|
P: Matthew Wilcox
|
||||||
M: matthew@wil.cx
|
M: matthew@wil.cx
|
||||||
P: Grant Grundler
|
P: Grant Grundler
|
||||||
|
@ -4026,7 +4026,7 @@ TULIP NETWORK DRIVERS
|
||||||
P: Grant Grundler
|
P: Grant Grundler
|
||||||
M: grundler@parisc-linux.org
|
M: grundler@parisc-linux.org
|
||||||
P: Kyle McMartin
|
P: Kyle McMartin
|
||||||
M: kyle@parisc-linux.org
|
M: kyle@mcmartin.ca
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
|
|
|
@ -13,10 +13,9 @@
|
||||||
#include <asm/unistd.h>
|
#include <asm/unistd.h>
|
||||||
#include <asm/errno.h>
|
#include <asm/errno.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <linux/init.h>
|
|
||||||
|
|
||||||
.level LEVEL
|
.level LEVEL
|
||||||
__HEAD
|
.text
|
||||||
|
|
||||||
.import hpux_call_table
|
.import hpux_call_table
|
||||||
.import hpux_syscall_exit,code
|
.import hpux_syscall_exit,code
|
||||||
|
|
|
@ -28,10 +28,9 @@
|
||||||
#include <asm/assembly.h>
|
#include <asm/assembly.h>
|
||||||
#include <asm/signal.h>
|
#include <asm/signal.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <linux/init.h>
|
|
||||||
|
|
||||||
.level LEVEL
|
.level LEVEL
|
||||||
__HEAD
|
.text
|
||||||
|
|
||||||
/* These should probably go in a header file somewhere.
|
/* These should probably go in a header file somewhere.
|
||||||
* They are duplicated in kernel/wrappers.S
|
* They are duplicated in kernel/wrappers.S
|
||||||
|
|
|
@ -38,7 +38,6 @@
|
||||||
#include <asm/thread_info.h>
|
#include <asm/thread_info.h>
|
||||||
|
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <linux/init.h>
|
|
||||||
|
|
||||||
#ifdef CONFIG_64BIT
|
#ifdef CONFIG_64BIT
|
||||||
.level 2.0w
|
.level 2.0w
|
||||||
|
@ -622,7 +621,7 @@
|
||||||
* the static part of the kernel address space.
|
* the static part of the kernel address space.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
__HEAD
|
.text
|
||||||
|
|
||||||
.align PAGE_SIZE
|
.align PAGE_SIZE
|
||||||
|
|
||||||
|
|
|
@ -33,6 +33,7 @@ ENTRY(boot_args)
|
||||||
END(boot_args)
|
END(boot_args)
|
||||||
|
|
||||||
__HEAD
|
__HEAD
|
||||||
|
|
||||||
.align 4
|
.align 4
|
||||||
.import init_thread_union,data
|
.import init_thread_union,data
|
||||||
.import fault_vector_20,code /* IVA parisc 2.0 32 bit */
|
.import fault_vector_20,code /* IVA parisc 2.0 32 bit */
|
||||||
|
|
|
@ -47,7 +47,6 @@
|
||||||
#include <asm/pdc.h>
|
#include <asm/pdc.h>
|
||||||
|
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <linux/init.h>
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* stack for os_hpmc, the HPMC handler.
|
* stack for os_hpmc, the HPMC handler.
|
||||||
|
@ -77,7 +76,7 @@ ENTRY(hpmc_pim_data)
|
||||||
.block HPMC_PIM_DATA_SIZE
|
.block HPMC_PIM_DATA_SIZE
|
||||||
END(hpmc_pim_data)
|
END(hpmc_pim_data)
|
||||||
|
|
||||||
__HEAD
|
.text
|
||||||
|
|
||||||
.import intr_save, code
|
.import intr_save, code
|
||||||
ENTRY(os_hpmc)
|
ENTRY(os_hpmc)
|
||||||
|
|
|
@ -37,9 +37,8 @@
|
||||||
#include <asm/pgtable.h>
|
#include <asm/pgtable.h>
|
||||||
#include <asm/cache.h>
|
#include <asm/cache.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <linux/init.h>
|
|
||||||
|
|
||||||
__HEAD
|
.text
|
||||||
.align 128
|
.align 128
|
||||||
|
|
||||||
ENTRY(flush_tlb_all_local)
|
ENTRY(flush_tlb_all_local)
|
||||||
|
|
|
@ -152,3 +152,6 @@ EXPORT_SYMBOL($$dyncall);
|
||||||
EXPORT_SYMBOL(node_data);
|
EXPORT_SYMBOL(node_data);
|
||||||
EXPORT_SYMBOL(pfnnid_map);
|
EXPORT_SYMBOL(pfnnid_map);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* from pacache.S -- needed for copy_page */
|
||||||
|
EXPORT_SYMBOL(copy_user_page_asm);
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
; The coprocessor only needs to be enabled when
|
; The coprocessor only needs to be enabled when
|
||||||
; starting/stopping the coprocessor with the pmenb/pmdis.
|
; starting/stopping the coprocessor with the pmenb/pmdis.
|
||||||
;
|
;
|
||||||
__HEAD
|
.text
|
||||||
|
|
||||||
ENTRY(perf_intrigue_enable_perf_counters)
|
ENTRY(perf_intrigue_enable_perf_counters)
|
||||||
.proc
|
.proc
|
||||||
|
|
|
@ -12,7 +12,6 @@
|
||||||
#include <asm/assembly.h>
|
#include <asm/assembly.h>
|
||||||
|
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <linux/init.h>
|
|
||||||
|
|
||||||
.section .bss
|
.section .bss
|
||||||
.export real_stack
|
.export real_stack
|
||||||
|
@ -40,7 +39,7 @@ save_cr_end:
|
||||||
/************************ 32-bit real-mode calls ***********************/
|
/************************ 32-bit real-mode calls ***********************/
|
||||||
/* This can be called in both narrow and wide kernels */
|
/* This can be called in both narrow and wide kernels */
|
||||||
|
|
||||||
__HEAD
|
.text
|
||||||
|
|
||||||
/* unsigned long real32_call_asm(unsigned int *sp,
|
/* unsigned long real32_call_asm(unsigned int *sp,
|
||||||
* unsigned int *arg0p,
|
* unsigned int *arg0p,
|
||||||
|
@ -114,7 +113,7 @@ ENDPROC(real32_call_asm)
|
||||||
# define PUSH_CR(r, where) mfctl r, %r1 ! STREG,ma %r1, REG_SZ(where)
|
# define PUSH_CR(r, where) mfctl r, %r1 ! STREG,ma %r1, REG_SZ(where)
|
||||||
# define POP_CR(r, where) LDREG,mb -REG_SZ(where), %r1 ! mtctl %r1, r
|
# define POP_CR(r, where) LDREG,mb -REG_SZ(where), %r1 ! mtctl %r1, r
|
||||||
|
|
||||||
__HEAD
|
.text
|
||||||
save_control_regs:
|
save_control_regs:
|
||||||
load32 PA(save_cr_space), %r28
|
load32 PA(save_cr_space), %r28
|
||||||
PUSH_CR(%cr24, %r28)
|
PUSH_CR(%cr24, %r28)
|
||||||
|
@ -146,7 +145,7 @@ restore_control_regs:
|
||||||
/* rfi_virt2real() and rfi_real2virt() could perhaps be adapted for
|
/* rfi_virt2real() and rfi_real2virt() could perhaps be adapted for
|
||||||
* more general-purpose use by the several places which need RFIs
|
* more general-purpose use by the several places which need RFIs
|
||||||
*/
|
*/
|
||||||
__HEAD
|
.text
|
||||||
.align 128
|
.align 128
|
||||||
rfi_virt2real:
|
rfi_virt2real:
|
||||||
/* switch to real mode... */
|
/* switch to real mode... */
|
||||||
|
@ -181,7 +180,7 @@ rfi_v2r_1:
|
||||||
bv 0(%r2)
|
bv 0(%r2)
|
||||||
nop
|
nop
|
||||||
|
|
||||||
__HEAD
|
.text
|
||||||
.align 128
|
.align 128
|
||||||
rfi_real2virt:
|
rfi_real2virt:
|
||||||
rsm PSW_SM_I,%r0
|
rsm PSW_SM_I,%r0
|
||||||
|
@ -219,7 +218,7 @@ rfi_r2v_1:
|
||||||
|
|
||||||
/************************ 64-bit real-mode calls ***********************/
|
/************************ 64-bit real-mode calls ***********************/
|
||||||
/* This is only usable in wide kernels right now and will probably stay so */
|
/* This is only usable in wide kernels right now and will probably stay so */
|
||||||
__HEAD
|
.text
|
||||||
/* unsigned long real64_call_asm(unsigned long *sp,
|
/* unsigned long real64_call_asm(unsigned long *sp,
|
||||||
* unsigned long *arg0p,
|
* unsigned long *arg0p,
|
||||||
* unsigned long fn)
|
* unsigned long fn)
|
||||||
|
@ -277,7 +276,7 @@ ENDPROC(real64_call_asm)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
__HEAD
|
.text
|
||||||
/* http://lists.parisc-linux.org/hypermail/parisc-linux/10916.html
|
/* http://lists.parisc-linux.org/hypermail/parisc-linux/10916.html
|
||||||
** GCC 3.3 and later has a new function in libgcc.a for
|
** GCC 3.3 and later has a new function in libgcc.a for
|
||||||
** comparing function pointers.
|
** comparing function pointers.
|
||||||
|
|
|
@ -289,7 +289,7 @@ setup_sigcontext32(struct compat_sigcontext __user *sc, struct compat_regfile __
|
||||||
&sc->sc_iaoq[0], compat_reg);
|
&sc->sc_iaoq[0], compat_reg);
|
||||||
|
|
||||||
/* Store upper half */
|
/* Store upper half */
|
||||||
compat_reg = (compat_uint_t)(regs->gr[32] >> 32);
|
compat_reg = (compat_uint_t)(regs->gr[31] >> 32);
|
||||||
err |= __put_user(compat_reg, &rf->rf_iaoq[0]);
|
err |= __put_user(compat_reg, &rf->rf_iaoq[0]);
|
||||||
DBG(2,"setup_sigcontext32: upper half iaoq[0] = %#x\n", compat_reg);
|
DBG(2,"setup_sigcontext32: upper half iaoq[0] = %#x\n", compat_reg);
|
||||||
|
|
||||||
|
@ -299,7 +299,7 @@ setup_sigcontext32(struct compat_sigcontext __user *sc, struct compat_regfile __
|
||||||
DBG(2,"setup_sigcontext32: sc->sc_iaoq[1] = %p <= %#x\n",
|
DBG(2,"setup_sigcontext32: sc->sc_iaoq[1] = %p <= %#x\n",
|
||||||
&sc->sc_iaoq[1], compat_reg);
|
&sc->sc_iaoq[1], compat_reg);
|
||||||
/* Store upper half */
|
/* Store upper half */
|
||||||
compat_reg = (compat_uint_t)((regs->gr[32]+4) >> 32);
|
compat_reg = (compat_uint_t)((regs->gr[31]+4) >> 32);
|
||||||
err |= __put_user(compat_reg, &rf->rf_iaoq[1]);
|
err |= __put_user(compat_reg, &rf->rf_iaoq[1]);
|
||||||
DBG(2,"setup_sigcontext32: upper half iaoq[1] = %#x\n", compat_reg);
|
DBG(2,"setup_sigcontext32: upper half iaoq[1] = %#x\n", compat_reg);
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
#include <asm/processor.h>
|
#include <asm/processor.h>
|
||||||
|
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <linux/init.h>
|
|
||||||
|
|
||||||
/* We fill the empty parts of the gateway page with
|
/* We fill the empty parts of the gateway page with
|
||||||
* something that will kill the kernel or a
|
* something that will kill the kernel or a
|
||||||
|
@ -27,7 +26,7 @@
|
||||||
|
|
||||||
.level LEVEL
|
.level LEVEL
|
||||||
|
|
||||||
__HEAD
|
.text
|
||||||
|
|
||||||
.import syscall_exit,code
|
.import syscall_exit,code
|
||||||
.import syscall_exit_rfi,code
|
.import syscall_exit_rfi,code
|
||||||
|
@ -637,7 +636,7 @@ END(sys_call_table64)
|
||||||
All light-weight-syscall atomic operations
|
All light-weight-syscall atomic operations
|
||||||
will use this set of locks
|
will use this set of locks
|
||||||
*/
|
*/
|
||||||
.section .data, "aw"
|
.section .data
|
||||||
.align PAGE_SIZE
|
.align PAGE_SIZE
|
||||||
ENTRY(lws_lock_start)
|
ENTRY(lws_lock_start)
|
||||||
/* lws locks */
|
/* lws locks */
|
||||||
|
|
|
@ -50,6 +50,7 @@ SECTIONS
|
||||||
|
|
||||||
_text = .; /* Text and read-only data */
|
_text = .; /* Text and read-only data */
|
||||||
.text ALIGN(16) : {
|
.text ALIGN(16) : {
|
||||||
|
HEAD_TEXT
|
||||||
TEXT_TEXT
|
TEXT_TEXT
|
||||||
SCHED_TEXT
|
SCHED_TEXT
|
||||||
LOCK_TEXT
|
LOCK_TEXT
|
||||||
|
|
|
@ -23,7 +23,6 @@
|
||||||
#include <asm/assembly.h>
|
#include <asm/assembly.h>
|
||||||
#include <asm/errno.h>
|
#include <asm/errno.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <linux/init.h>
|
|
||||||
|
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
.macro get_fault_ip t1 t2
|
.macro get_fault_ip t1 t2
|
||||||
|
@ -56,7 +55,7 @@
|
||||||
|
|
||||||
.level LEVEL
|
.level LEVEL
|
||||||
|
|
||||||
__HEAD
|
.text
|
||||||
.section .fixup, "ax"
|
.section .fixup, "ax"
|
||||||
|
|
||||||
/* get_user() fixups, store -EFAULT in r8, and 0 in r9 */
|
/* get_user() fixups, store -EFAULT in r8, and 0 in r9 */
|
||||||
|
|
|
@ -33,12 +33,11 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
.text
|
||||||
|
|
||||||
#include <asm/assembly.h>
|
#include <asm/assembly.h>
|
||||||
#include <asm/errno.h>
|
#include <asm/errno.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <linux/init.h>
|
|
||||||
|
|
||||||
__HEAD
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* get_sr gets the appropriate space value into
|
* get_sr gets the appropriate space value into
|
||||||
|
|
|
@ -547,6 +547,7 @@ void __init mem_init(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned long *empty_zero_page __read_mostly;
|
unsigned long *empty_zero_page __read_mostly;
|
||||||
|
EXPORT_SYMBOL(empty_zero_page);
|
||||||
|
|
||||||
void show_mem(void)
|
void show_mem(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -65,7 +65,7 @@ static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl)
|
||||||
"2:\n"
|
"2:\n"
|
||||||
: "=r" (sum), "=r" (iph), "=r" (ihl)
|
: "=r" (sum), "=r" (iph), "=r" (ihl)
|
||||||
: "1" (iph), "2" (ihl)
|
: "1" (iph), "2" (ihl)
|
||||||
: "r19", "r20", "r21" );
|
: "r19", "r20", "r21", "memory");
|
||||||
|
|
||||||
return (__force __sum16)sum;
|
return (__force __sum16)sum;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче