mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-05 01:06:40 +07:00
Merge branch 'mn10300' (mn10300 fixes from David Howells)
Merge mn10300 fixes from David Howells. * emailed patches from David Howells <dhowells@redhat.com>: MN10300: Need pci_iomap() and __pci_ioport_map() defining MN10300: ASB2305's PCI code needs the definition of XIRQ1 MN10300: Enable IRQs more in system call exit work path MN10300: Fix ret_from_kernel_thread
This commit is contained in:
commit
dcdbe33add
@ -103,4 +103,6 @@ static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
|
||||
return channel ? 15 : 14;
|
||||
}
|
||||
|
||||
#include <asm-generic/pci_iomap.h>
|
||||
|
||||
#endif /* _ASM_PCI_H */
|
||||
|
@ -60,6 +60,7 @@ ENTRY(ret_from_kernel_thread)
|
||||
mov (REG_D0,fp),d0
|
||||
mov (REG_A0,fp),a0
|
||||
calls (a0)
|
||||
GET_THREAD_INFO a2 # A2 must be set on return from sys_exit()
|
||||
clr d0
|
||||
mov d0,(REG_D0,fp)
|
||||
jmp syscall_exit
|
||||
@ -107,10 +108,10 @@ syscall_exit_work:
|
||||
and EPSW_nSL,d0
|
||||
beq resume_kernel # returning to supervisor mode
|
||||
|
||||
btst _TIF_SYSCALL_TRACE,d2
|
||||
beq work_pending
|
||||
LOCAL_IRQ_ENABLE # could let syscall_trace_exit() call
|
||||
# schedule() instead
|
||||
btst _TIF_SYSCALL_TRACE,d2
|
||||
beq work_pending
|
||||
mov fp,d0
|
||||
call syscall_trace_exit[],0 # do_syscall_trace(regs)
|
||||
jmp resume_userspace
|
||||
@ -123,6 +124,7 @@ work_pending:
|
||||
work_resched:
|
||||
call schedule[],0
|
||||
|
||||
resume_userspace:
|
||||
# make sure we don't miss an interrupt setting need_resched or
|
||||
# sigpending between sampling and the rti
|
||||
LOCAL_IRQ_DISABLE
|
||||
@ -131,6 +133,8 @@ work_resched:
|
||||
mov (TI_flags,a2),d2
|
||||
btst _TIF_WORK_MASK,d2
|
||||
beq restore_all
|
||||
|
||||
LOCAL_IRQ_ENABLE
|
||||
btst _TIF_NEED_RESCHED,d2
|
||||
bne work_resched
|
||||
|
||||
@ -169,17 +173,6 @@ ret_from_intr:
|
||||
and EPSW_nSL,d0
|
||||
beq resume_kernel # returning to supervisor mode
|
||||
|
||||
ENTRY(resume_userspace)
|
||||
# make sure we don't miss an interrupt setting need_resched or
|
||||
# sigpending between sampling and the rti
|
||||
LOCAL_IRQ_DISABLE
|
||||
|
||||
# is there any work to be done on int/exception return?
|
||||
mov (TI_flags,a2),d2
|
||||
btst _TIF_WORK_MASK,d2
|
||||
bne work_pending
|
||||
jmp restore_all
|
||||
|
||||
#ifdef CONFIG_PREEMPT
|
||||
ENTRY(resume_kernel)
|
||||
LOCAL_IRQ_DISABLE
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include <linux/delay.h>
|
||||
#include <linux/irq.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include "pci-asb2305.h"
|
||||
|
||||
unsigned int pci_probe = 1;
|
||||
|
Loading…
Reference in New Issue
Block a user