18#ifndef __ARM9_GENERIC_H__
19#define __ARM9_GENERIC_H__
24#define __VSF_HEADER_ONLY_SHOW_ARCH_INFO__
26#undef __VSF_HEADER_ONLY_SHOW_ARCH_INFO__
33#ifndef __LITTLE_ENDIAN
34# define __LITTLE_ENDIAN 1
37# define __BYTE_ORDER __LITTLE_ENDIAN
42# error invalid __ARM_ARCH
45#ifndef VSF_ARCH_PRI_NUM
46# define VSF_ARCH_PRI_NUM 4
48#if VSF_ARCH_PRI_NUM > 4
49# error invalid VSF_ARCH_PRI_NUM
53# define VSF_ARCH_MMU ENABLED
57#define VSF_ARCH_SWI_NUM 0
59#if VSF_ARCH_PRI_NUM > 0
60# define __VSF_ARCH_PRI(__N, __BIT) \
61 VSF_ARCH_PRIO_##__N = (__N), \
62 vsf_arch_prio_##__N = (__N),
67#define isb() __asm__ __volatile__ ("" : : : "memory")
68#define dsb() __asm__ __volatile__ ("mcr p15, 0, %0, c7, c10, 4" : : "r" (0) : "memory")
69#define dmb() __asm__ __volatile__ ("" : : : "memory")
71#define vsf_arch_wakeup()
75#if VSF_ARCH_PRI_NUM > 0
106static VSF_CAL_ALWAYS_INLINE
void vsf_arch_set_stack(
uint32_t stack)
111#if VSF_ARCH_MMU == ENABLED
#define __volatile__
Definition __compiler.h:56
void vsf_arch_mmu_enable(uint32_t *ttb)
Definition arm9_generic.c:322
unsigned long long virtual_addr_t
Definition arm9_generic.h:90
@ MMU_MAP_TYPE_CB
Definition arm9_generic.h:99
@ MMU_MAP_TYPE_CNB
Definition arm9_generic.h:98
@ MMU_MAP_TYPE_NCNB
Definition arm9_generic.h:96
@ MMU_MAP_TYPE_NCB
Definition arm9_generic.h:97
unsigned long long physical_size_t
Definition arm9_generic.h:93
void vsf_cache_sync(void *addr, uint_fast32_t size, bool is_from_device)
Definition arm9_generic.c:384
unsigned long long virtual_size_t
Definition arm9_generic.h:91
unsigned long long physical_addr_t
Definition arm9_generic.h:92
int vsf_arch_prio_t
Definition arm9_generic.h:87
void vsf_arch_mmu_map(uint32_t *ttb, virtual_addr_t virt, physical_addr_t phys, physical_size_t size, int type)
Definition arm9_generic.c:303
#define VSF_ARCH_PRI_NUM
Definition arm9_generic.h:46
void vsf_arch_mmu_refresh(void)
Definition arm9_generic.c:317
vsf_arch_prio_t
Definition cortex_a_generic.h:88
@ __VSF_ARCH_PRIO_LEAST_MAX
Definition cortex_a_generic.h:90
@ __VSF_ARCH_PRIO_LEAST_MIN
Definition cortex_a_generic.h:91
@ VSF_ARCH_PRIO_INVALID
Definition cortex_a_generic.h:92
@ vsf_arch_prio_invalid
Definition cortex_a_generic.h:93
#define __VSF_ARCH_PRI(__N, __BIT)
Definition cortex_a_generic.h:82
@ vsf_arch_prio_highest
Definition cortex_m_generic.h:190
unsigned int uint32_t
Definition lvgl.h:43
#define VSF_ARCH_PRI_BIT
Definition mcs51_generic.h:42
unsigned int uint_fast32_t
Definition stdint.h:27
#define INT16_MAX
Definition stdint.h:50
#define INT16_MIN
Definition stdint.h:45
vk_av_control_type_t type
Definition vsf_audio.h:170
uint32_t size
Definition vsf_memfs.h:50
#define VSF_MREPEAT(__COUNT, __MACRO, __PARAM)
Definition vsf_repeat_macro.h:51