# Need to turn optimization off. Otherwise compiler may generate
# incorrect code, not knowing that trigger_irq() affects the value
# of trigger_check, even if declared volatile.
# A memory barrier does not help, we need an 'instruction barrier' but
# GCC doesn't support this; we need to tell the compiler not to reorder
# memory accesses to trigger_check around calls to trigger_irq.
CONFIG_COMPILER_OPT="-O0"
