MOS Source Code
Loading...
Searching...
No Matches
platform_defs.h File Reference
#include <mos/types.h>
+ Include dependency graph for platform_defs.h:

Go to the source code of this file.

Classes

struct  platform_process_options_t
 
struct  platform_thread_options_t
 
struct  platform_cpuinfo_t
 
struct  platform_arch_info_t
 

Macros

#define MOS_PLATFORM_PAGING_LEVELS   4
 
#define MOS_PLATFORM_HAS_FDT   1
 
#define PML2_HUGE_CAPABLE   1
 
#define PML3_HUGE_CAPABLE   1
 
#define PML4_HUGE_CAPABLE   1
 
#define PML1_SHIFT   12
 
#define PML2_SHIFT   21
 
#define PML3_SHIFT   30
 
#define PML4_SHIFT   39
 
#define PML1_MASK   0x1FFULL
 
#define PML2_MASK   0x1FFULL
 
#define PML3_MASK   0x1FFULL
 
#define PML4_MASK   0x1FFULL
 
#define PML1_ENTRIES   512
 
#define PML2_ENTRIES   512
 
#define PML3_ENTRIES   512
 
#define PML4_ENTRIES   512
 
#define MOS_USER_END_VADDR   0x00007FFFFFFFFFFF
 
#define MOS_KERNEL_START_VADDR   0xFFFF800000000000
 
#define MOS_ELF_PLATFORM   EM_RISCV
 
#define MOS_PLATFORM_PANIC_INSTR   "unimp"
 
#define MOS_PLATFORM_PANIC_POINT_ASM
 
#define MOS_PLATFORM_DEBUG_MODULES(X)
 
#define MOS_PLATFORM_MEMORY_BARRIER()
 

Macro Definition Documentation

◆ MOS_PLATFORM_PAGING_LEVELS

#define MOS_PLATFORM_PAGING_LEVELS   4

Definition at line 7 of file platform_defs.h.

◆ MOS_PLATFORM_HAS_FDT

#define MOS_PLATFORM_HAS_FDT   1

Definition at line 9 of file platform_defs.h.

◆ PML2_HUGE_CAPABLE

#define PML2_HUGE_CAPABLE   1

Definition at line 11 of file platform_defs.h.

◆ PML3_HUGE_CAPABLE

#define PML3_HUGE_CAPABLE   1

Definition at line 12 of file platform_defs.h.

◆ PML4_HUGE_CAPABLE

#define PML4_HUGE_CAPABLE   1

Definition at line 13 of file platform_defs.h.

◆ PML1_SHIFT

#define PML1_SHIFT   12

Definition at line 15 of file platform_defs.h.

Referenced by mm_get_phys_addr().

◆ PML2_SHIFT

#define PML2_SHIFT   21

Definition at line 16 of file platform_defs.h.

◆ PML3_SHIFT

#define PML3_SHIFT   30

Definition at line 17 of file platform_defs.h.

◆ PML4_SHIFT

#define PML4_SHIFT   39

Definition at line 18 of file platform_defs.h.

◆ PML1_MASK

#define PML1_MASK   0x1FFULL

Definition at line 20 of file platform_defs.h.

◆ PML2_MASK

#define PML2_MASK   0x1FFULL

Definition at line 21 of file platform_defs.h.

◆ PML3_MASK

#define PML3_MASK   0x1FFULL

Definition at line 22 of file platform_defs.h.

◆ PML4_MASK

#define PML4_MASK   0x1FFULL

Definition at line 23 of file platform_defs.h.

◆ PML1_ENTRIES

#define PML1_ENTRIES   512

Definition at line 25 of file platform_defs.h.

Referenced by pagetable_iter_next(), pml1_destroy_range(), and pml1_traverse().

◆ PML2_ENTRIES

#define PML2_ENTRIES   512

Definition at line 26 of file platform_defs.h.

Referenced by pagetable_iter_next(), pml2_destroy_range(), and pml2_traverse().

◆ PML3_ENTRIES

#define PML3_ENTRIES   512

Definition at line 27 of file platform_defs.h.

Referenced by pagetable_iter_next().

◆ PML4_ENTRIES

#define PML4_ENTRIES   512

Definition at line 28 of file platform_defs.h.

Referenced by mm_create_context(), and pagetable_iter_next().

◆ MOS_USER_END_VADDR

#define MOS_USER_END_VADDR   0x00007FFFFFFFFFFF

◆ MOS_KERNEL_START_VADDR

◆ MOS_ELF_PLATFORM

#define MOS_ELF_PLATFORM   EM_RISCV

Definition at line 33 of file platform_defs.h.

Referenced by elf_verify_header().

◆ MOS_PLATFORM_PANIC_INSTR

#define MOS_PLATFORM_PANIC_INSTR   "unimp"

Definition at line 35 of file platform_defs.h.

◆ MOS_PLATFORM_PANIC_POINT_ASM

#define MOS_PLATFORM_PANIC_POINT_ASM
Value:
".quad 1b\n\t" \
".quad %0\n\t" \
".quad %1\n\t" \
".quad %2\n\t"

Definition at line 38 of file platform_defs.h.

◆ MOS_PLATFORM_DEBUG_MODULES

#define MOS_PLATFORM_DEBUG_MODULES ( X)
Value:
X(riscv64_startup) \

Definition at line 45 of file platform_defs.h.

◆ MOS_PLATFORM_MEMORY_BARRIER

#define MOS_PLATFORM_MEMORY_BARRIER ( )
Value:
__asm__ __volatile__("fence.i" ::: "memory")

Definition at line 49 of file platform_defs.h.