On 05/20/2011 01:05 PM, Max Filippov wrote: > By the way, do I understand it right that if I chain TBs than I need > to periodically check for pending interrupts myself, otherwise e.g. > "j $" will create uninterruptible infinite loop?
No, it won't. It'll create a loop, but it'll be broken by the host signal handler. Notice no other target is checking for this. >>> +DEF_HELPER_0(check_interrupts, void) >>> +DEF_HELPER_2(waiti, void, i32, i32) >>> +DEF_HELPER_2(timer_irq, void, i32, i32) >>> +DEF_HELPER_1(advance_ccount, void, i32) >> >> You shouldn't have to manage any of this from within the translator. You should *never* have to check for interrupts, or advance cycle counters, from within the translated code. Interrupt processing, and thus timers, are handled in between TBs as necessary by generic code. r~