From 313ce674d3cbc2d48ed34a9462427920ac54f4ad Mon Sep 17 00:00:00 2001 From: Chris Metcalf Date: Mon, 2 May 2011 14:50:06 -0400 Subject: arch/tile: support TIF_NOTIFY_RESUME This support is required for CONFIG_KEYS, NFSv4 kernel DNS, etc. The change is slightly more complex than the minimal thing, since I took advantage of having to go into the assembly code to just move a bunch of stuff into C code: specifically, the schedule(), do_async_page_fault(), do_signal(), and single_step_once() support, in addition to the TIF_NOTIFY_RESUME support. Signed-off-by: Chris Metcalf --- arch/tile/kernel/single_step.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'arch/tile/kernel/single_step.c') diff --git a/arch/tile/kernel/single_step.c b/arch/tile/kernel/single_step.c index 84a729e06ec4..86df5a239b70 100644 --- a/arch/tile/kernel/single_step.c +++ b/arch/tile/kernel/single_step.c @@ -318,6 +318,14 @@ void single_step_once(struct pt_regs *regs) " .popsection\n" ); + /* + * Enable interrupts here to allow touching userspace and the like. + * The callers expect this: do_trap() already has interrupts + * enabled, and do_work_pending() handles functions that enable + * interrupts internally. + */ + local_irq_enable(); + if (state == NULL) { /* allocate a page of writable, executable memory */ state = kmalloc(sizeof(struct single_step_state), GFP_KERNEL); -- cgit v1.2.2