How to use S-mode interrupt



  • I want to use S-mode.
    S-mode transition is fine.
    But, STIP and SEIP is not work.
    I try,
    mideleg set 0x222
    goto S-mode
    sie set 0x222
    sstatus set 0x02 (SIE set)
    mtimecmp set
    wait for timer expire
    timer interrupt occur -> M-mode time handler execute
    mtimecmp set -1 (clear MTIP)
    sip set 0x02 (STIP set) (but is not set STIP bit)
    mret
    no interrupt S-mode STIP.

    So, sip's STIP and SEIP can not set.
    Why?