summaryrefslogtreecommitdiffstats
path: root/arch/openrisc/kernel/entry.S
Commit message (Collapse)AuthorAgeFilesLines
* openrisc: Rework signal handlingJonas Bonn2014-01-091-26/+33
| | | | | | | | | | | | | | | | | | | The mainline signal handling code for OpenRISC has been buggy since day one with respect to syscall restart. This patch significantly reworks the signal handling code: i) Move the "work pending" loop to C code (borrowed from ARM arch) ii) Allow a tracer to muck about with the IP and skip syscall restart in that case (again, borrowed from ARM) iii) Make signal handling WRT syscall restart actually work v) Make the signal handling code look more like that of other architectures so that it's easier for others to follow Reported-by: Anders Nystrom <anders@southpole.se> Signed-off-by: Jonas Bonn <jonas@southpole.se>
* Merge branch 'for-upstream' of git://openrisc.net/jonas/linuxLinus Torvalds2013-02-271-3/+13
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull OpenRISC updates from Jonas Bonn: "An equal number of bug fixes and trivial cleanups; no new features. - Two patches to fix errors thrown by the updated toolchain. - Three other bug fixes. - Four trivial cleanups." * 'for-upstream' of git://openrisc.net/jonas/linux: openrisc: add missing header inclusion openrisc: really pass correct arg to schedule_tail Add bitops include needed for ext2 filesystem openrisc: update DTLB-miss handler last openrisc: fix up vmalloc page table loading openrisc idle: delete pm_idle openrisc: remove CONFIG_SYMBOL_PREFIX openrisc: avoid using function parameter regs in reset vector openrisc: remove unused current_regs
| * openrisc: really pass correct arg to schedule_tailJonas Bonn2013-02-171-1/+1
| | | | | | | | | | | | | | | | | | | | Commit 287ad220cd8b5a9d29f71c78f6e4051093f051fc tried to set up the argument to schedule_tail, but ended up using TI_STACK which isn't a defined symbol. Sadly, the old openrisc compiler silently ignores this fact and it was first discovered now when building with an updated toolchain. Reported-by: Christian Svensson <blue@cmd.nu> Signed-off-by: Jonas Bonn <jonas@southpole.se>
| * openrisc: fix up vmalloc page table loadingJonas Bonn2013-02-141-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vmalloc'ed pages are faulted into a process' page tables on demand. In order to facilitate this, do_page_fault needs to know whether it was called via a page fault exception or a TLB-miss exception. This patch adds a wrapper around the _x_page_fault_handler entry points that the TLB-miss exceptions can call into in order to have the relevant parameter set to satisfy do_page_fault. This fixes a bug and is "good enough" for now. That said, this whole handling of vmalloc needs to be audited for correctness at some point. Signed-off-by: Jonas Bonn <jonas@southpole.se>
* | openrisc: switch to generic sigaltstackAl Viro2013-02-041-4/+0Star
|/ | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* openrisc: switch to use of generic fork and cloneAl Viro2012-11-291-6/+6
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* openrisc: use generic sys_execveJonas Bonn2012-10-191-4/+0Star
| | | | Signed-off-by: Jonas Bonn <jonas@southpole.se>
* openrisc: use generic kernel_thread/kernel_execveJonas Bonn2012-10-191-20/+10Star
| | | | Signed-off-by: Jonas Bonn <jonas@southpole.se>
* openrisc: pass correct arg to schedule_tailJonas Bonn2012-10-191-2/+7
| | | | | | | | schedule_tail() requires that the 'prev' task be passed as an argument to it. This arg is set in _switch, just before 'returning' to one of the ret_* functions where schedule_tail is invoked. Signed-off-by: Jonas Bonn <jonas@southpole.se>
* openrisc: use scratch regs in atomic syscallJonas Bonn2012-05-081-4/+4
| | | | | | | | | | | | | The function sys_or1k_atomic was using call-saved registers without restoring their value before returning. This is a faux pas: either we need to restore their values or use scratch regs; the latter is less code so that's the route this patch takes. Thanks to David Hennerström for doing most of the heavy-lifting in tracking this one down. Reported-by: Davd Hennerström <david.hennerstrom@aacmicrotec.com> Signed-off-by: Jonas Bonn <jonas@southpole.se>
* openrisc: sanitize use of orig_gpr11Jonas Bonn2012-03-061-8/+8
| | | | | | | | | | The pt_regs struct had both a 'syscallno' field and an 'orig_gpr11' field and it wasn't really clear how these were supposed to be used. This patch removes the syscallno field altogether and makes orig_gpr11 work more like other architectures: keep track of syscall number in progress or hold -1 for non-syscall exceptions. Signed-off-by: Jonas Bonn <jonas@southpole.se>
* OpenRISC: Boot codeJonas Bonn2011-07-221-0/+1128
Architecture code and early setup routines for booting Linux. Signed-off-by: Jonas Bonn <jonas@southpole.se> Reviewed-by: Arnd Bergmann <arnd@arndb.de>