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 <cmetcalf@tilera.com>
Этот коммит содержится в:
@@ -732,6 +732,7 @@ void do_page_fault(struct pt_regs *regs, int fault_num,
|
||||
panic("Bad fault number %d in do_page_fault", fault_num);
|
||||
}
|
||||
|
||||
#if CHIP_HAS_TILE_DMA() || CHIP_HAS_SN_PROC()
|
||||
if (EX1_PL(regs->ex1) != USER_PL) {
|
||||
struct async_tlb *async;
|
||||
switch (fault_num) {
|
||||
@@ -775,6 +776,7 @@ void do_page_fault(struct pt_regs *regs, int fault_num,
|
||||
return;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
handle_page_fault(regs, fault_num, is_page_fault, address, write);
|
||||
}
|
||||
@@ -801,8 +803,6 @@ static void handle_async_page_fault(struct pt_regs *regs,
|
||||
async->address, async->is_write);
|
||||
}
|
||||
}
|
||||
#endif /* CHIP_HAS_TILE_DMA() || CHIP_HAS_SN_PROC() */
|
||||
|
||||
|
||||
/*
|
||||
* This routine effectively re-issues asynchronous page faults
|
||||
@@ -824,6 +824,8 @@ void do_async_page_fault(struct pt_regs *regs)
|
||||
handle_async_page_fault(regs, ¤t->thread.sn_async_tlb);
|
||||
#endif
|
||||
}
|
||||
#endif /* CHIP_HAS_TILE_DMA() || CHIP_HAS_SN_PROC() */
|
||||
|
||||
|
||||
void vmalloc_sync_all(void)
|
||||
{
|
||||
|
Ссылка в новой задаче
Block a user