/******************************************************************************/
/* src/booter/InitCtrl/InitCtrlInit32.c */
-/* 2017/07/27 */
-/* Copyright (C) 2017 Mochi. */
+/* 2018/07/18 */
+/* Copyright (C) 2018 Mochi. */
/******************************************************************************/
/******************************************************************************/
/* インクルード */
/* 共通ヘッダ */
#include <stddef.h>
#include <hardware/IA32/IA32Instruction.h>
-#include <kernel/MochiKernel.h>
+#include <kernel/kernel.h>
/* 外部モジュールヘッダ */
#include <Cmn.h>
#include <Driver.h>
#include <IntMng.h>
#include <LoadMng.h>
+#include <MemMng.h>
/******************************************************************************/
/* 変数定義 */
/******************************************************************************/
/* カーネルメイン関数 */
-void ( *MochiKernelMain )( void ) = ( void * ) MOCHIKERNEL_ADDR_ENTRY;
+void ( *MochiKernelMain )( void ) = ( void * ) MK_ADDR_ENTRY;
/******************************************************************************/
CmnAbort();
}
+ /* メモリ管理初期化 */
+ MemMngInit();
+
/* 割り込み管理初期化 */
IntMngInit();
IA32InstructionCli();
IntMngPicDisable();
+ /* ブートデータ領域設定 */
+ ret = MemMngMapSetList( 0, 4096, MK_MEM_TYPE_BOOTDATA );
+
+ /* 設定結果判定 */
+ if ( ret != CMN_SUCCESS ) {
+ /* 失敗 */
+
+ /* デバッグトレースログ出力 */
+ DEBUG_LOG( "MemMngMapSetList() failed." );
+
+ /* アボート */
+ CmnAbort();
+ }
+
+ /* メモリマップ設定 */
+ MemMngMapSet();
+
/* スタックポインタ再設定 */
- IA32InstructionSetEsp( MOCHIKERNEL_ADDR_STACK );
+ IA32InstructionSetEsp( MK_ADDR_STACK + MK_SIZE_STACK );
MochiKernelMain();