/*
 * config.h
 *
 * Copyright 2002, Minoru Murashima. All rights reserved.
 * Distributed under the terms of the BSD License.
 *
 * グローバル設定値、変更可
 *
 */


#ifndef config_h
#define config_h


/* デバッグが必要なとき宣言する。 */
#define DEBUG


#define START_ADDRESS 0x1000					/* setup.Sのロードされるリニアアドレス */

#define IOMAP_BEG 0xfec00000					/* メモリーマップIOリニアアドレスの最初 */
#define KERNEL_END 0x40000000					/* カーネル論理アドレスの最後 */
#define KERNEL_DATA_BEG 0x100000				/* カーネルデータ論理アドレスの最初 */
#define KERNEL_DATA_END (KERNEL_END-0x400000)	/* カーネルデータ論理アドレスの最後 */
#define KERNEL_STACK_BEG KERNEL_DATA_END		/* カーネルスタック論理アドレスの最初 */
#define KERNEL_ESP_BEG KERNEL_END				/* カーネルスタックポインタの最初 */
#define USER_BEG KERNEL_END						/* ユーザー論理アドレスの最初 */
#define USER_END IOMAP_BEG						/* ユーザー論理アドレスの最後 */
#define USER_STACK_BEG (USER_END-0x1000)		/* ユーザースタック論理アドレスの最初 */
#define USER_ESP_BEG USER_END					/* ユーザースタックポインタの最初 */

#define MAX_CPU 8								/* 対応最大cpu数 */
#define VIDEO_ADDRESS 0xb8000					/* ビデオメモリーアドレス */

#define PAGING_BACKSTORE /dev/hda				/* Paging back store device */


#ifndef ASM_FILE


enum{
	PHYSICAL_PAGE_TABLE_ADD=KERNEL_DATA_BEG,	/* 物理メモリーテーブルアドレス */
	TASK_TIME=10,								/* 1タスク稼働時間(ms) */

	/*
	 * Device IO用キャッシュサイズ(Page size単位)
	 * 0の場合は、ユーザーバッファへ直接読み書きする。
	 */
	CACHE_NUM=8,
	CACHE_BLOCK_SIZE=0x1000,		/* Cache block size */

	/*
	 * カーネルメッセージ出力先
	 * 1=console,2=com1,3=com2
	 */
	TTY=1,
};


#endif


#endif
