Skip to content
Permalink
Branch: master
Commits on Oct 9, 2019
  1. arch: arc: enlarge the exception handling stack

    vonhust authored and nashif committed Sep 26, 2019
    after recent changes in zephyr's fault handling, e.g. use log
    to repace printk, it requires more stack to exception handling, or
    the stack overflow may happen and crash the system.
    
    this commit adds a kconfig option for exception stack size with
    a larger default size.
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
Commits on Oct 1, 2019
  1. arch: arc: fix the bug in prologue of sys call handling

    vonhust authored and nashif committed Sep 26, 2019
    * the old codes may not save the caller saved regs correctly,
      e.g. r7- r12. Because the sys call entry is called in the form
      of static inline function. The compiler optimizations may not save
      all the caller saved regs.
    
    * new codes use the irq stack frame as the sys call frame and gurantee
      all the called saved regs are pushed and popped correctly.
    
    * the side effect of new codes are more stack operations and a little
      overhead.
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
Commits on Sep 27, 2019
  1. arch: arc: fix the bug in _firq_enter

    vonhust authored and nashif committed Sep 25, 2019
    * In ARC, pop reg ==> sp=sp-4; *sp= b; The original codes have bug that
      the save of ilink (st ilink [sp]) will crash the interruptted stack's
      content. This commit fixes this bug and makes the codes easier to
      understand
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
  2. kernel: fix the bug in atomic_c.c

    vonhust authored and nashif committed Sep 26, 2019
    * USERSPACE -> CONFIG_USERSPACE
    * fix the wrong paramter type
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
Commits on Sep 23, 2019
  1. net: offload: When NET_OFFLOAD is enabled bypass some net_tcp functions

    vonhust authored and jukkar committed Sep 5, 2019
    * The issue is found in supporting offload module esp8266
    * For device like esp8266, it's responsible for tcp/udp handling,
      no need of net_tcp related functions
    * This commit is only tested for esp8266, no gurantee for other
      modules
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
Commits on Sep 8, 2019
  1. arc: replace 32-bit instructions with possible 16-bit instructions

    vonhust authored and carlescufi committed Aug 29, 2019
    replace 32-bit instructions with possible 16-bit instructions to
    get better code density
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
Commits on Aug 30, 2019
  1. doc: relnotes: add notes for arc

    vonhust authored and ioannisg committed Aug 29, 2019
    add arc specific release notes
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
Commits on Aug 28, 2019
  1. arch: arc: for fast irq ERET has no copy of ilink

    vonhust authored and ioannisg committed Aug 15, 2019
    we should not rely on that eret has a copy of ilink in fast
    irq handling. This will cause crash for hs cores.
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
  2. arch: arc: fix the bug that interrupt stack is not switched

    vonhust authored and ioannisg committed Aug 13, 2019
    For the old codes, if nest interrupts come out after _isr_wrapper
    and before _check_nest_int_by_irq_act, then multi-bits in irq_act
    will be set, this will result irq stack will not be switched in
    correctly
    
    As a fix, it's still need to use nest interrupt counter to do
    interrupt stack switch as before
    
    The difference is in the past exc_nest_count is used, but here
    _kernel.nested/_kernel.cpus[cpu_id].nested is used.
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
  3. arch: arc: secure world only check secure interrupt

    vonhust authored and ioannisg committed Aug 13, 2019
    * in arc secureshield interrupts can be configured
      as secure or normal
    * in sw design, high interrupt priorites are allocated to
      secure world, low priorities are allocated to normal world.
    * secure interrupt > secure thread > normal interrupt > normal
      thead
    
    So, here secure world/firmware only checks secure interrupt
    priorities
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
  4. arch: arc: use _curr_cpu to replace _curr_irq_stack

    vonhust authored and ioannisg committed Aug 13, 2019
    use _curr_cpu to record the _cpu_t of each cpu.
    the irq_stack is also covered
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
  5. arch: arc: not allowed to switch to thread preempted by exception

    vonhust authored and ioannisg committed Aug 13, 2019
    it's not allowed to switch to thread preempted by exception as
    its context is not saved.
    
    So if a thread switch is required in exception handling, e.g.
    kill a thread, the old thread cannot be switched back
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
  6. arch: arc: fix and optimize the handling of SECT_STAT.IRM

    vonhust authored and ioannisg committed Aug 13, 2019
    For arc processor equiped with secureshield, SEC_STAT.IRM
    bit should be recorded, it determins which mode irq should
    return
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
  7. arch: arc: secure stat should also be reset correctly

    vonhust authored and ioannisg committed Aug 13, 2019
    secure status should aslo be set correctly
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
Commits on Aug 11, 2019
  1. boards: nsim: disable CONFIG_SMP by default for nsim_hs_smp

    vonhust authored and ioannisg committed Aug 11, 2019
    * CONFIG_SMP can be enabled by smp application, e.g. tests/kernel/smp
    * if application is not designed for smp, CONFIG_SMP can be disabled,
    and the target works as a single processor.
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
  2. tests: enable hsdk and nsim_hs_smp for smp test

    vonhust authored and ioannisg committed Aug 11, 2019
    ARC now supports SMP, enable the kernel/smp test
    for arc platforms
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
  3. arch: arc: fix a bug when CONFIG_SMP is enabled

    vonhust authored and ioannisg committed Aug 11, 2019
    the bug is forgot to fixes, when CONFIG_SMP is enabled,
    it will cause build error
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
Commits on Aug 10, 2019
  1. arch: arc: no need of default n for arc_connect

    vonhust authored and ioannisg committed Aug 6, 2019
    as suggested in comments of PR #17747, no need of default n
    for arc_connect
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
  2. boards: hsdk: add initial support of ARC HS Development Kit

    vonhust authored and ioannisg committed Jul 25, 2019
    This commit includes the initial support of ARC HS Development Kit:
    * hsdk soc support
    * hsdk board support
    * no mmu support, so no userspace
    * smp support
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
  3. drivers: ns16550: add WORD only access support

    vonhust authored and ioannisg committed May 29, 2019
    In some hardware,e.g. ARC HS Development kit,the
    peripheral space of ns16550 only allowes WORD
    access,  byte acess will raise bus error.
    
    This commit adds support for this case
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
  4. samples: add sample to show how ARC TEE works

    vonhust authored and ioannisg committed Aug 1, 2019
    * this is a simple sample to show how
     secure applicaiton and non-secure application work
     together. More details are in README.rst
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
  5. boards: nsim: add initial support of normal/non-secure application

    vonhust authored and ioannisg committed Aug 1, 2019
    normal/non-secure application: nsim_sem_normal
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
  6. boards: emsk: add initial support of normal/non-secure application

    vonhust authored and ioannisg committed Aug 1, 2019
    * Non-secure/normal application: em_starterkit_em7d_normal
    * secure application: em_starterkit_em7d
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
  7. arch: arc: add initial support of ARC TEE

    vonhust authored and ioannisg committed Aug 1, 2019
    * it's based on ARC SecureShield
    * add basic secure service in arch/arc/core/secureshield
    * necesssary changes in arch level
       * thread switch
       * irq/exception handling
       * initialization
    * add secure time support
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
Commits on Aug 9, 2019
  1. tests: remove the exception for arc

    vonhust authored and ioannisg committed Aug 9, 2019
    the tested feature is supported now, remove the exception
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
  2. arch: arc: fix on the reason of software-triggered fatal exceptions

    vonhust authored and ioannisg committed Aug 9, 2019
    according to high-level design,in user mode software-triggered system
    fatal exceptions only allow oops and stack check failure
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
  3. arch: arc: add extra handling about exception raised in interrupt

    vonhust authored and ioannisg committed Aug 9, 2019
    exception, different with irq offload,  may be raised interrupt
    handling, e.g.
      * z_check_stack_sentinel
      * wrong code
    
    we need to add specific handling of this case in exception handling
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
  4. arch: arc: fixes the case triggering a cpu exception in user mode

    vonhust authored and ioannisg committed Aug 6, 2019
    use "trap_s 3" to simulate SW exception raised by kernel
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
  5. arch: arc: the caculation of exception stack is wrong

    vonhust authored and ioannisg committed Aug 9, 2019
    after appling the new "_get_curr_cpu_irq_stack" in _exc_entry,
    the caculation of exception stack is wrong, this will
    cause stack overflow, make the exception handling corrupt.
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
Commits on Aug 7, 2019
  1. arch: arc: add initial support of SMP

    vonhust authored and carlescufi committed Jul 25, 2019
    * modify the reset flow for SMP
    * add smp related initialization
    * implement ipi related functions
    * implement thread switch in isr/exception
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
  2. arch: arc: add macros to get current cpu id

    vonhust authored and carlescufi committed Jul 25, 2019
    add macros for assembly and C to get current cpu id
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
  3. drivers: arcv2_timer0: add support for smp

    vonhust authored and carlescufi committed Jul 10, 2019
    * use global free running counter as global wall clock (clock source)
    * use arc internal timer 0 as local time event (clock event)
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
  4. arch: arc: add basic arc connect driver support

    vonhust authored and carlescufi committed Jul 24, 2019
    * arc connect is a component to connect multiple arc cores
    * it's necessary for arc smp support
    * the following features are implemented
      * inter-core interrupt unit
      * gloabl free running counter
      * inter-core debug unit
      * interrupt distribute unit
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
Commits on Aug 5, 2019
  1. arch: arc: fix the offset generation of accl_regs

    vonhust authored and carlescufi committed Aug 5, 2019
    * the offset generation of accl_regs should
      rely on CONFIG_ARC_HAS_ACCL_REGS not CONFIG_FP_SHARING
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
Commits on Aug 2, 2019
  1. arch: arc: remove custom atomic operations

    vonhust authored and andrewboie committed Jul 31, 2019
    * arc gcc toolchain has builtin atomic operations,
      use them to make things simpler
    
    Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
Older
You can’t perform that action at this time.