arch/x86: initial Intel64 bootstrap framework
This patch adds basic build infrastructure, definitions, a linker script, etc. to use the Zephyr and 0.10.1 SDK to build a 64-bit ELF binary suitable for use with GRUB to minimally bootstrap an Apollo Lake (e.g., UpSquared) board. The resulting binary can hardly be called a Zephyr kernel as it is lacking most of the glue logic, but it is a starting point to flesh those out in the x86 tree. The "kernel" builds with a few harmless warnings, both with GCC from the Zephyr SDK and with ICC (which is currently being worked on in a separate branch). These warnings are either related to pointer size differences (since this is an LP64 build) and/or dummy functions that will be replaced with working versions shortly. Signed-off-by: Charles E. Youse <charles.youse@intel.com>
This commit is contained in:
parent
c58b28ab0a
commit
34307a54f0
10 changed files with 291 additions and 1 deletions
|
@ -6,4 +6,21 @@
|
|||
#ifndef ZEPHYR_ARCH_X86_INCLUDE_INTEL64_KERNEL_ARCH_FUNC_H_
|
||||
#define ZEPHYR_ARCH_X86_INCLUDE_INTEL64_KERNEL_ARCH_FUNC_H_
|
||||
|
||||
#ifndef _ASMLANGUAGE
|
||||
|
||||
#define z_is_in_isr() (0)
|
||||
|
||||
static ALWAYS_INLINE void
|
||||
z_set_thread_return_value(struct k_thread *thread, unsigned int value)
|
||||
{
|
||||
/* nothing */ ;
|
||||
}
|
||||
|
||||
static inline void kernel_arch_init(void)
|
||||
{
|
||||
/* nothing */ ;
|
||||
}
|
||||
|
||||
#endif /* _ASMLANGUAGE */
|
||||
|
||||
#endif /* ZEPHYR_ARCH_X86_INCLUDE_INTEL64_KERNEL_ARCH_FUNC_H_ */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue