From 2dc44905d96cc6940abb4b628b8f96fe057ba9d6 Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Thu, 5 Sep 2019 23:03:27 +0200 Subject: [PATCH] Initialize the platform directly --- tools/arch/amd64/start.S | 7 +++++++ tools/arch/i386/start.S | 4 ++-- tools/init.c | 15 --------------- tools/project.conf | 2 +- 4 files changed, 10 insertions(+), 18 deletions(-) delete mode 100644 tools/init.c diff --git a/tools/arch/amd64/start.S b/tools/arch/amd64/start.S index fac08d8..4ef3f2a 100644 --- a/tools/arch/amd64/start.S +++ b/tools/arch/amd64/start.S @@ -65,6 +65,13 @@ auxv_done: # endif #endif + /* initialize the platform */ +#ifdef __PIC__ + call platform_init +#else + call platform_init +#endif + /* run the userland kernel */ #ifdef __ELF__ pop %rcx diff --git a/tools/arch/i386/start.S b/tools/arch/i386/start.S index c006da3..2ea32c6 100644 --- a/tools/arch/i386/start.S +++ b/tools/arch/i386/start.S @@ -71,8 +71,8 @@ _start: /* call the global constructors */ call _init - /* initialize the userland */ - call init + /* initialize the platform */ + call platform_init /* run the userland kernel */ call main diff --git a/tools/init.c b/tools/init.c deleted file mode 100644 index d01f292..0000000 --- a/tools/init.c +++ /dev/null @@ -1,15 +0,0 @@ -/* $Id$ */ -/* Copyright (c) 2018 Pierre Pronchery */ -/* This file is part of DeforaOS uKernel */ - - - -#include - - -/* init */ -int init(void) -{ - platform_init(); - return 0; -} diff --git a/tools/project.conf b/tools/project.conf index ce8acac..f70c2c2 100644 --- a/tools/project.conf +++ b/tools/project.conf @@ -35,7 +35,7 @@ sources=start.S [uKernel] type=binary -sources=bus.c,clock.c,console.c,init.c,platform.c,main.c +sources=bus.c,clock.c,console.c,platform.c,main.c ldflags=$(OBJDIR)crti.o $(OBJDIR)crtbegin.o $(OBJDIR)start.o $(OBJDIR)libk.a $(OBJDIR)crtend.o $(OBJDIR)crtn.o `$(CC) -print-libgcc-file-name` depends=$(OBJDIR)crtbegin.o,$(OBJDIR)crtend.o,$(OBJDIR)start.o,$(OBJDIR)libk.a