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__
34# define __BYTE_ORDER __LITTLE_ENDIAN
39# error invalid __ARM_ARCH
42#ifndef VSF_ARCH_PRI_NUM
43# define VSF_ARCH_PRI_NUM 4
45#if VSF_ARCH_PRI_NUM > 4
46# error invalid VSF_ARCH_PRI_NUM
50# define VSF_ARCH_MMU ENABLED
54#define VSF_ARCH_SWI_NUM 0
56#if VSF_ARCH_PRI_NUM > 0
57# define __VSF_ARCH_PRI(__N, __BIT) \
58 VSF_ARCH_PRIO_##__N = (__N), \
59 vsf_arch_prio_##__N = (__N),
64#define isb() __asm__ __volatile__ ("" : : : "memory")
65#define dsb() __asm__ __volatile__ ("mcr p15, 0, %0, c7, c10, 4" : : "r" (0) : "memory")
66#define dmb() __asm__ __volatile__ ("" : : : "memory")
68#define vsf_arch_wakeup()
72#if VSF_ARCH_PRI_NUM > 0
103static VSF_CAL_ALWAYS_INLINE
void vsf_arch_set_stack(
uint32_t stack,
uint32_t stack_size)
108#if VSF_ARCH_MMU == ENABLED
#define __volatile__
Definition __compiler.h:56
@ MMU_MAP_TYPE_CB
Definition arm9_generic.h:96
@ MMU_MAP_TYPE_CNB
Definition arm9_generic.h:95
@ MMU_MAP_TYPE_NCNB
Definition arm9_generic.h:93
@ MMU_MAP_TYPE_NCB
Definition arm9_generic.h:94
void vsf_arch_mmu_enable(uint32_t *ttb)
Definition arm9_generic.c:322
unsigned long long virtual_addr_t
Definition arm9_generic.h:87
unsigned long long physical_size_t
Definition arm9_generic.h:90
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:88
unsigned long long physical_addr_t
Definition arm9_generic.h:89
int vsf_arch_prio_t
Definition arm9_generic.h:84
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:43
void vsf_arch_mmu_refresh(void)
Definition arm9_generic.c:317
vsf_arch_prio_t
Definition cortex_a_generic.h:85
@ __VSF_ARCH_PRIO_LEAST_MAX
Definition cortex_a_generic.h:87
@ __VSF_ARCH_PRIO_LEAST_MIN
Definition cortex_a_generic.h:88
@ VSF_ARCH_PRIO_INVALID
Definition cortex_a_generic.h:89
@ vsf_arch_prio_invalid
Definition cortex_a_generic.h:90
#define __VSF_ARCH_PRI(__N, __BIT)
Definition cortex_a_generic.h:79
@ vsf_arch_prio_highest
Definition cortex_m_generic.h:195
#define VSF_ARCH_PRI_BIT
Definition mcs51_generic.h:39
unsigned uint32_t
Definition stdint.h:9
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