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 c5c46f59e4e7 ("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
..
2015-11-10 10:05:17 -08:00
2015-11-12 15:26:39 -08:00
2015-10-06 17:10:28 +02:00
2015-10-06 17:10:28 +02:00
2015-11-22 11:35:26 +01:00
2015-11-10 16:24:25 -08:00
2015-12-12 10:15:34 -08:00
2015-11-26 22:25:58 +08:00
2015-11-24 19:34:40 +01:00
2015-12-12 10:15:34 -08:00
2015-11-23 09:44:58 +01:00
2015-12-08 22:26:00 +01:00
2015-11-11 09:16:10 -08:00