Skip to content
  • Max Filippov's avatar
    130ea832
    target/xtensa: linux-user: add call0 ABI support · 130ea832
    Max Filippov authored
    
    
    Xtensa binaries built for call0 ABI don't rotate register window on
    function calls and returns. Invocation of signal handlers from the
    kernel is therefore different in windowed and call0 ABIs.
    There's currently no way to determine xtensa ELF binary ABI from the
    binary itself. Add handler for the -xtensa-abi-call0 command line
    parameter/QEMU_XTENSA_ABI_CALL0 envitonment variable to the qemu-user
    and record ABI choice. Use it to initialize PS.WOE in xtensa_cpu_reset.
    Check PS.WOE in setup_rt_frame to determine how a signal should be
    delivered.
    
    Reviewed-by: default avatarLaurent Vivier <laurent@vivier.eu>
    Signed-off-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
    Message-Id: <20190906165713.5558-1-jcmvbkbc@gmail.com>
    Signed-off-by: default avatarLaurent Vivier <laurent@vivier.eu>
    130ea832
    target/xtensa: linux-user: add call0 ABI support
    Max Filippov authored
    
    
    Xtensa binaries built for call0 ABI don't rotate register window on
    function calls and returns. Invocation of signal handlers from the
    kernel is therefore different in windowed and call0 ABIs.
    There's currently no way to determine xtensa ELF binary ABI from the
    binary itself. Add handler for the -xtensa-abi-call0 command line
    parameter/QEMU_XTENSA_ABI_CALL0 envitonment variable to the qemu-user
    and record ABI choice. Use it to initialize PS.WOE in xtensa_cpu_reset.
    Check PS.WOE in setup_rt_frame to determine how a signal should be
    delivered.
    
    Reviewed-by: default avatarLaurent Vivier <laurent@vivier.eu>
    Signed-off-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
    Message-Id: <20190906165713.5558-1-jcmvbkbc@gmail.com>
    Signed-off-by: default avatarLaurent Vivier <laurent@vivier.eu>
Loading