linux/arch/tile
Chris Metcalf 583b24a210 arch/tile: adopt prepare_exit_to_usermode() model from x86
This change is a prerequisite change for TASK_ISOLATION but also
stands on its own for readability and maintainability.  The existing
tile do_work_pending() was called in a loop from assembly on
the slow path; this change moves the loop into C code as well.
For the x86 version see commit c5c46f59e4 ("x86/entry: Add new,
comprehensible entry and exit handlers written in C").

This change exposes a pre-existing bug on the older tilepro platform;
the singlestep processing is done last, but on tilepro (unlike tilegx)
we enable interrupts while doing that processing, so we could in
theory miss a signal or other asynchronous event.  A future change
could fix this by breaking the singlestep work into a "prepare"
step done in the main loop, and a "trigger" step done after exiting
the loop.  Since this change is intended as purely a restructuring
change, we call out the bug explicitly now, but don't yet fix it.

Signed-off-by: Chris Metcalf <cmetcalf@ezchip.com>
2016-01-18 14:49:09 -05:00
..
configs netpoll: delete defconfig references to obsolete NETPOLL_TRAP 2014-11-29 21:13:48 -08:00
gxio tile: use global strscpy() rather than private copy 2015-09-10 15:37:02 -04:00
include arch/tile: adopt prepare_exit_to_usermode() model from x86 2016-01-18 14:49:09 -05:00
kernel arch/tile: adopt prepare_exit_to_usermode() model from x86 2016-01-18 14:49:09 -05:00
kvm rcu: Make SRCU optional by using CONFIG_SRCU 2015-01-06 11:04:29 -08:00
lib tile: Provide atomic_{or,xor,and} 2015-07-27 14:06:24 +02:00
mm kmap_atomic_to_page() has no users, remove it 2015-11-09 15:11:24 -08:00
Kbuild
Kconfig tile/jump_label: add jump label support for TILE-Gx 2016-01-04 15:09:31 -05:00
Kconfig.debug tile: remove DEBUG_EXTRA_FLAGS kernel config option 2013-09-03 14:52:17 -04:00
Makefile tile: remove DEBUG_EXTRA_FLAGS kernel config option 2013-09-03 14:52:17 -04:00