mirror of https://gitee.com/openkylin/linux.git
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6
* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6: avr32: nmi_enter() without nmi_exit() avr32: fix sys_sync_file_range() call convention avr32: add generic_find_next_le_bit bit function avr32: add .gitignore files atstk1000: fix build breakage with BOARD_ATSTK100X_SW2_CUSTOM=y
This commit is contained in:
commit
1cce92aef2
|
@ -325,7 +325,7 @@ static int __init atstk1002_init(void)
|
|||
#ifdef CONFIG_BOARD_ATSTK100X_SPI1
|
||||
at32_add_device_spi(1, spi1_board_info, ARRAY_SIZE(spi1_board_info));
|
||||
#endif
|
||||
#ifndef CONFIG_BOARD_ATSTK1002_SW2_CUSTOM
|
||||
#ifndef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM
|
||||
at32_add_device_mci(0, MCI_PDATA);
|
||||
#endif
|
||||
#ifdef CONFIG_BOARD_ATSTK1002_SW5_CUSTOM
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
uImage
|
||||
uImage.srec
|
||||
vmlinux.cso
|
||||
sfdwarf.log
|
|
@ -0,0 +1 @@
|
|||
vmlinux.lds
|
|
@ -58,6 +58,7 @@ EXPORT_SYMBOL(find_first_zero_bit);
|
|||
EXPORT_SYMBOL(find_next_zero_bit);
|
||||
EXPORT_SYMBOL(find_first_bit);
|
||||
EXPORT_SYMBOL(find_next_bit);
|
||||
EXPORT_SYMBOL(generic_find_next_le_bit);
|
||||
EXPORT_SYMBOL(generic_find_next_zero_le_bit);
|
||||
|
||||
/* I/O primitives (lib/io-*.S) */
|
||||
|
|
|
@ -109,3 +109,12 @@ __sys_epoll_pwait:
|
|||
rcall sys_epoll_pwait
|
||||
sub sp, -4
|
||||
popm pc
|
||||
|
||||
.global __sys_sync_file_range
|
||||
.type __sys_sync_file_range,@function
|
||||
__sys_sync_file_range:
|
||||
pushm lr
|
||||
st.w --sp, ARG6
|
||||
rcall sys_sync_file_range
|
||||
sub sp, -4
|
||||
popm pc
|
||||
|
|
|
@ -275,7 +275,7 @@ sys_call_table:
|
|||
.long sys_set_robust_list
|
||||
.long sys_get_robust_list /* 260 */
|
||||
.long __sys_splice
|
||||
.long sys_sync_file_range
|
||||
.long __sys_sync_file_range
|
||||
.long sys_tee
|
||||
.long sys_vmsplice
|
||||
.long __sys_epoll_pwait /* 265 */
|
||||
|
|
|
@ -116,15 +116,15 @@ asmlinkage void do_nmi(unsigned long ecr, struct pt_regs *regs)
|
|||
switch (ret) {
|
||||
case NOTIFY_OK:
|
||||
case NOTIFY_STOP:
|
||||
return;
|
||||
break;
|
||||
case NOTIFY_BAD:
|
||||
die("Fatal Non-Maskable Interrupt", regs, SIGINT);
|
||||
default:
|
||||
printk(KERN_ALERT "Got NMI, but nobody cared. Disabling...\n");
|
||||
nmi_disable();
|
||||
break;
|
||||
}
|
||||
|
||||
printk(KERN_ALERT "Got NMI, but nobody cared. Disabling...\n");
|
||||
nmi_disable();
|
||||
nmi_exit();
|
||||
}
|
||||
|
||||
asmlinkage void do_critical_exception(unsigned long ecr, struct pt_regs *regs)
|
||||
|
|
|
@ -123,6 +123,36 @@ ENTRY(find_next_bit)
|
|||
brgt 1b
|
||||
retal r11
|
||||
|
||||
ENTRY(generic_find_next_le_bit)
|
||||
lsr r8, r10, 5
|
||||
sub r9, r11, r10
|
||||
retle r11
|
||||
|
||||
lsl r8, 2
|
||||
add r12, r8
|
||||
andl r10, 31, COH
|
||||
breq 1f
|
||||
|
||||
/* offset is not word-aligned. Handle the first (32 - r10) bits */
|
||||
ldswp.w r8, r12[0]
|
||||
sub r12, -4
|
||||
lsr r8, r8, r10
|
||||
brne .L_found
|
||||
|
||||
/* r9 = r9 - (32 - r10) = r9 + r10 - 32 */
|
||||
add r9, r10
|
||||
sub r9, 32
|
||||
retle r11
|
||||
|
||||
/* Main loop. offset must be word-aligned */
|
||||
1: ldswp.w r8, r12[0]
|
||||
cp.w r8, 0
|
||||
brne .L_found
|
||||
sub r12, -4
|
||||
sub r9, 32
|
||||
brgt 1b
|
||||
retal r11
|
||||
|
||||
ENTRY(generic_find_next_zero_le_bit)
|
||||
lsr r8, r10, 5
|
||||
sub r9, r11, r10
|
||||
|
|
Loading…
Reference in New Issue