arch: native: Run Zephyr natively in a POSIX OS
A new arch (posix) which relies on pthreads to emulate the context switching A new soc for it (inf_clock) which emulates a CPU running at an infinely high clock (so when the CPU is awaken it runs till completion in 0 time) A new board, which provides a trivial system tick timer and irq generation. Origin: Original Fixes #1891 Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com> Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit is contained in:
parent
274ad46a84
commit
76f7644118
42 changed files with 2324 additions and 9 deletions
|
@ -36,6 +36,8 @@
|
|||
/* Nothing yet to include */
|
||||
#elif defined(CONFIG_XTENSA)
|
||||
/* Nothing yet to include */
|
||||
#elif defined(CONFIG_ARCH_POSIX)
|
||||
/* Nothing yet to include */
|
||||
#else
|
||||
#error Arch not supported.
|
||||
#endif
|
||||
|
|
|
@ -34,6 +34,8 @@
|
|||
OUTPUT_FORMAT("elf32-littleriscv")
|
||||
#elif defined(CONFIG_XTENSA)
|
||||
/* Not needed */
|
||||
#elif defined(CONFIG_ARCH_POSIX)
|
||||
/* Not needed */
|
||||
#else
|
||||
#error Arch not supported.
|
||||
#endif
|
||||
|
@ -51,7 +53,11 @@
|
|||
* description and tells the linker that this section is located in
|
||||
* the memory area specified by <where> argument.
|
||||
*/
|
||||
#if defined(CONFIG_ARCH_POSIX)
|
||||
#define GROUP_LINK_IN(where)
|
||||
#else
|
||||
#define GROUP_LINK_IN(where) > where
|
||||
#endif
|
||||
|
||||
/*
|
||||
* As GROUP_LINK_IN(), but takes a second argument indicating the
|
||||
|
@ -64,11 +70,15 @@
|
|||
* section, specifying the same memory region (e.g. "RAM") for both
|
||||
* vregion and lregion.
|
||||
*/
|
||||
#if defined(CONFIG_ARCH_POSIX)
|
||||
#define GROUP_DATA_LINK_IN(vregion, lregion)
|
||||
#else
|
||||
#ifdef CONFIG_XIP
|
||||
#define GROUP_DATA_LINK_IN(vregion, lregion) > vregion AT> lregion
|
||||
#else
|
||||
#define GROUP_DATA_LINK_IN(vregion, lregion) > vregion
|
||||
#endif
|
||||
#endif /*CONFIG_ARCH_POSIX*/
|
||||
|
||||
/*
|
||||
* The GROUP_FOLLOWS_AT() macro is located at the end of the section
|
||||
|
@ -76,7 +86,11 @@
|
|||
* it is to be loaded, but that it follows a section which did specify
|
||||
* such an address
|
||||
*/
|
||||
#ifdef CONFIG_ARCH_POSIX
|
||||
#define GROUP_FOLLOWS_AT(where)
|
||||
#else
|
||||
#define GROUP_FOLLOWS_AT(where) AT > where
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The SECTION_PROLOGUE() macro is used to define the beginning of a section.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue