arch/x86: alter signature of z_x86_prep_c() function

Take a dummy first argument, so that the BSP entry point (z_x86_prep_c)
has the same signature as the AP entry point (smp_init_top).

Signed-off-by: Charles E. Youse <charles.youse@intel.com>
This commit is contained in:
Charles E. Youse 2019-09-28 21:26:00 -04:00 committed by Anas Nashif
commit 2808908816
4 changed files with 6 additions and 3 deletions

View file

@ -240,6 +240,7 @@ __csSet:
#endif
pushl %ebx /* pointer to multiboot info, or NULL */
pushl %eax /* junk, unused argument */
call z_x86_prep_c /* enter kernel; never returns */
_x86_bss_zero:

View file

@ -9,7 +9,7 @@
#include <kernel_structs.h>
#include <arch/x86/multiboot.h>
extern FUNC_NORETURN void z_x86_prep_c(struct multiboot_info *);
extern FUNC_NORETURN void z_x86_prep_c(int, struct multiboot_info *);
extern u8_t _exception_stack[];

View file

@ -104,7 +104,7 @@ __start:
/* don't replace CALL with JMP; honor the ABI stack alignment! */
movq __x86_cpuboot_t_arg_OFFSET(%rbp), %rdi
movq __x86_cpuboot_t_arg_OFFSET(%rbp), %rsi
call *__x86_cpuboot_t_fn_OFFSET(%rbp) /* enter kernel; never return */
/*

View file

@ -10,8 +10,10 @@
extern FUNC_NORETURN void z_cstart(void);
FUNC_NORETURN void z_x86_prep_c(struct multiboot_info *info)
FUNC_NORETURN void z_x86_prep_c(int unused, struct multiboot_info *info)
{
ARG_UNUSED(unused);
_kernel.cpus[0].nested = 0;
_kernel.cpus[0].irq_stack = Z_THREAD_STACK_BUFFER(_interrupt_stack) +
CONFIG_ISR_STACK_SIZE;