Ignore:
Timestamp:
Jan 8, 2018, 2:25:39 PM (4 years ago)
Author:
alain
Message:

Fix a bug in hal_kentry.S : the "uzone" pointer in the thread descriptor
must not be modified in case of interrupt.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/hal/tsar_mips32/core/hal_syscall.c

    r416 r418  
    2929#include <hal_kentry.h>
    3030
     31// @@@
     32// __attribute__((section(".kdata"))) uint32_t * enter_uzone;
     33// __attribute__((section(".kdata"))) uint32_t * exit_uzone;
     34// @@@
    3135
    3236/////////////////////
     
    6973    exit_uzone = (uint32_t *)this->uzone;
    7074
     75// printk("\n@@@ %s exit : enter_uzone = %x / exit_uzone = %x\n",
     76// __FUNCTION__ , enter_uzone , exit_uzone );
     77
    7178    // set syscall return value to uzone
    7279        exit_uzone[UZ_V0] = retval;
     
    7582        exit_uzone[UZ_EPC] += 4;
    7683
     84    hal_fence();
    7785}
Note: See TracChangeset for help on using the changeset viewer.