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:
parent
f6d9fb10b1
commit
2808908816
4 changed files with 6 additions and 3 deletions
|
@ -240,6 +240,7 @@ __csSet:
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
pushl %ebx /* pointer to multiboot info, or NULL */
|
pushl %ebx /* pointer to multiboot info, or NULL */
|
||||||
|
pushl %eax /* junk, unused argument */
|
||||||
call z_x86_prep_c /* enter kernel; never returns */
|
call z_x86_prep_c /* enter kernel; never returns */
|
||||||
|
|
||||||
_x86_bss_zero:
|
_x86_bss_zero:
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include <kernel_structs.h>
|
#include <kernel_structs.h>
|
||||||
#include <arch/x86/multiboot.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[];
|
extern u8_t _exception_stack[];
|
||||||
|
|
||||||
|
|
|
@ -104,7 +104,7 @@ __start:
|
||||||
|
|
||||||
/* don't replace CALL with JMP; honor the ABI stack alignment! */
|
/* 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 */
|
call *__x86_cpuboot_t_fn_OFFSET(%rbp) /* enter kernel; never return */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -10,8 +10,10 @@
|
||||||
|
|
||||||
extern FUNC_NORETURN void z_cstart(void);
|
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].nested = 0;
|
||||||
_kernel.cpus[0].irq_stack = Z_THREAD_STACK_BUFFER(_interrupt_stack) +
|
_kernel.cpus[0].irq_stack = Z_THREAD_STACK_BUFFER(_interrupt_stack) +
|
||||||
CONFIG_ISR_STACK_SIZE;
|
CONFIG_ISR_STACK_SIZE;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue