diff options
Diffstat (limited to 'arch/x86_64/hal/smp.c')
| -rw-r--r-- | arch/x86_64/hal/smp.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/x86_64/hal/smp.c b/arch/x86_64/hal/smp.c index 7d94340..931a89f 100644 --- a/arch/x86_64/hal/smp.c +++ b/arch/x86_64/hal/smp.c @@ -45,15 +45,14 @@ smp_init_bsp(void) processor_t *bsp = &s_processors[0]; { - jove_owned_obj_t *processor_objdir_obj = objdir_getlocal(_rootdir_obj, INIT_ROOTDIR_PROCESSORS_I); - obj_settype(processor_objdir_obj, JOVE_OBJ_OBJDIR); - obj_setvalue(processor_objdir_obj, (uintptr_t)&s_processor_objdir); + jove_owned_obj_t *processor_objdir = objdir_getlocal(_rootdir_obj, INIT_ROOTDIR_PROCESSORS_I); + obj_settype(processor_objdir, JOVE_OBJ_OBJDIR); + obj_setvalue(processor_objdir, (uintptr_t)&s_processor_objdir); + jove_obj_t *processor_objdir_obj = obj_release(processor_objdir); jove_owned_obj_t *bsp_obj = objdir_getlocal(processor_objdir_obj, 0); init_processor(bsp, bsp_obj); - obj_release(bsp_obj); - obj_release(processor_objdir_obj); } idt_init(); |
