| 
    Zephyr Project API
    3.4.0
    
   A Scalable Open Source RTOS 
   | 
 
RISCV specific kernel interface header This header contains the RISCV specific kernel interface. It is included by the generic kernel interface header (arch/cpu.h) More...
#include <zephyr/arch/riscv/thread.h>#include <zephyr/arch/riscv/exp.h>#include <zephyr/arch/riscv/irq.h>#include <zephyr/arch/common/sys_bitops.h>#include <zephyr/arch/common/sys_io.h>#include <zephyr/arch/common/ffs.h>#include <zephyr/arch/riscv/syscall.h>#include <zephyr/irq.h>#include <zephyr/sw_isr_table.h>#include <soc.h>#include <zephyr/devicetree.h>#include <zephyr/arch/riscv/csr.h>#include <zephyr/sys/util.h>#include <zephyr/arch/riscv/error.h>Go to the source code of this file.
Data Structures | |
| struct | k_mem_partition_attr_t | 
| struct | arch_mem_domain | 
Macros | |
| #define | ARCH_STACK_PTR_ALIGN 16 | 
| #define | ARCH_THREAD_STACK_RESERVED | 
| #define | ARCH_THREAD_STACK_SIZE_ADJUST(size) ROUND_UP(size, Z_RISCV_STACK_PMP_ALIGN) | 
| #define | ARCH_THREAD_STACK_OBJ_ALIGN(size) Z_RISCV_STACK_PMP_ALIGN | 
| #define | RV_REGSIZE 4 | 
| #define | RV_REGSHIFT 2 | 
| #define | MSTATUS_IEN (1UL << 3) | 
| #define | MSTATUS_MPP_M (3UL << 11) | 
| #define | MSTATUS_MPIE_EN (1UL << 7) | 
| #define | MSTATUS_FS_OFF (0UL << 13) | 
| #define | MSTATUS_FS_INIT (1UL << 13) | 
| #define | MSTATUS_FS_CLEAN (2UL << 13) | 
| #define | MSTATUS_FS_DIRTY (3UL << 13) | 
| #define | MSTATUS_DEF_RESTORE (MSTATUS_MPP_M | MSTATUS_MPIE_EN) | 
| #define | K_MEM_PARTITION_P_RW_U_RW | 
| #define | K_MEM_PARTITION_P_RW_U_RO | 
| #define | K_MEM_PARTITION_P_RW_U_NA | 
| #define | K_MEM_PARTITION_P_RO_U_RO | 
| #define | K_MEM_PARTITION_P_RO_U_NA | 
| #define | K_MEM_PARTITION_P_NA_U_NA | 
| #define | K_MEM_PARTITION_P_RWX_U_RWX | 
| #define | K_MEM_PARTITION_P_RX_U_RX | 
Functions | |
| static ALWAYS_INLINE unsigned int | arch_irq_lock (void) | 
| static ALWAYS_INLINE void | arch_irq_unlock (unsigned int key) | 
| static ALWAYS_INLINE bool | arch_irq_unlocked (unsigned int key) | 
| static ALWAYS_INLINE void | arch_nop (void) | 
| uint32_t | sys_clock_cycle_get_32 (void) | 
| static uint32_t | arch_k_cycle_get_32 (void) | 
| uint64_t | sys_clock_cycle_get_64 (void) | 
| static uint64_t | arch_k_cycle_get_64 (void) | 
RISCV specific kernel interface header This header contains the RISCV specific kernel interface. It is included by the generic kernel interface header (arch/cpu.h)
| #define ARCH_STACK_PTR_ALIGN 16 | 
| #define ARCH_THREAD_STACK_OBJ_ALIGN | ( | size | ) | Z_RISCV_STACK_PMP_ALIGN | 
| #define ARCH_THREAD_STACK_RESERVED | 
| #define ARCH_THREAD_STACK_SIZE_ADJUST | ( | size | ) | ROUND_UP(size, Z_RISCV_STACK_PMP_ALIGN) | 
| #define K_MEM_PARTITION_P_NA_U_NA | 
| #define K_MEM_PARTITION_P_RO_U_NA | 
| #define K_MEM_PARTITION_P_RO_U_RO | 
| #define K_MEM_PARTITION_P_RW_U_NA | 
| #define K_MEM_PARTITION_P_RW_U_RO | 
| #define K_MEM_PARTITION_P_RW_U_RW | 
| #define K_MEM_PARTITION_P_RWX_U_RWX | 
| #define K_MEM_PARTITION_P_RX_U_RX | 
| #define MSTATUS_DEF_RESTORE (MSTATUS_MPP_M | MSTATUS_MPIE_EN) | 
| #define MSTATUS_FS_CLEAN (2UL << 13) | 
| #define MSTATUS_FS_DIRTY (3UL << 13) | 
| #define MSTATUS_FS_INIT (1UL << 13) | 
| #define MSTATUS_FS_OFF (0UL << 13) | 
| #define MSTATUS_IEN (1UL << 3) | 
| #define MSTATUS_MPIE_EN (1UL << 7) | 
| #define MSTATUS_MPP_M (3UL << 11) | 
| #define RV_REGSHIFT 2 | 
| #define RV_REGSIZE 4 | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  inlinestatic | 
      
  | 
  inlinestatic | 
      
  | 
  static | 
| uint32_t sys_clock_cycle_get_32 | ( | void | ) | 
| uint64_t sys_clock_cycle_get_64 | ( | void | ) |