$(OBJS_DIR)/sysmem_getmemif.$(EXT_OBJ): $(SYSAPI_DIR)/sysmem_getmemif.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
$(OBJS_DIR)/sysmem_getsize.$(EXT_OBJ): $(SYSAPI_DIR)/sysmem_getsize.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
$(OBJS_DIR)/sysmem_realloc.$(EXT_OBJ): $(SYSAPI_DIR)/sysmem_realloc.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)/sysmem_allociomem.$(EXT_OBJ): $(SYSAPI_DIR)/sysmem_allociomem.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)/sysmem_freeiomem.$(EXT_OBJ): $(SYSAPI_DIR)/sysmem_freeiomem.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
$(OBJS_DIR)/sysmtx_create.$(EXT_OBJ): $(SYSAPI_DIR)/sysmtx_create.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
$(OBJS_DIR)/sysmtx_delete.$(EXT_OBJ): $(SYSAPI_DIR)/sysmtx_delete.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
$(OBJS_DIR)/sysmtx_lock.$(EXT_OBJ): $(SYSAPI_DIR)/sysmtx_lock.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
CSRCS += $(SYSAPI_DIR)/sysmem_getmemif.c
CSRCS += $(SYSAPI_DIR)/sysmem_getsize.c
CSRCS += $(SYSAPI_DIR)/sysmem_realloc.c
+CSRCS += $(SYSAPI_DIR)/sysmem_allociomem.c
+CSRCS += $(SYSAPI_DIR)/sysmem_freeiomem.c
CSRCS += $(SYSAPI_DIR)/sysmtx_create.c
CSRCS += $(SYSAPI_DIR)/sysmtx_delete.c
CSRCS += $(SYSAPI_DIR)/sysmtx_lock.c
$(OBJS_DIR)\sysmem_realloc.c : $(SYSAPI_DIR)\sysmem_realloc.c
$(CMD_CP) $(SYSAPI_DIR)\sysmem_realloc.c $(OBJS_DIR)\
+$(OBJS_DIR)\sysmem_allociomem.c : $(SYSAPI_DIR)\sysmem_allociomem.c
+ $(CMD_CP) $(SYSAPI_DIR)\sysmem_allociomem.c $(OBJS_DIR)\
+
+$(OBJS_DIR)\sysmem_freeiomem.c : $(SYSAPI_DIR)\sysmem_freeiomem.c
+ $(CMD_CP) $(SYSAPI_DIR)\sysmem_freeiomem.c $(OBJS_DIR)\
+
$(OBJS_DIR)\sysmtx_create.c : $(SYSAPI_DIR)\sysmtx_create.c
$(CMD_CP) $(SYSAPI_DIR)\sysmtx_create.c $(OBJS_DIR)\
$(OBJS_DIR)\sysmem_getmemif.$(EXT_OBJ): $(OBJS_DIR)\sysmem_getmemif.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
$(OBJS_DIR)\sysmem_getsize.$(EXT_OBJ): $(OBJS_DIR)\sysmem_getsize.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
$(OBJS_DIR)\sysmem_realloc.$(EXT_OBJ): $(OBJS_DIR)\sysmem_realloc.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)\sysmem_allociomem.$(EXT_OBJ): $(OBJS_DIR)\sysmem_allociomem.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
+$(OBJS_DIR)\sysmem_freeiomem.$(EXT_OBJ): $(OBJS_DIR)\sysmem_freeiomem.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
$(OBJS_DIR)\sysmtx_create.$(EXT_OBJ): $(OBJS_DIR)\sysmtx_create.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
$(OBJS_DIR)\sysmtx_delete.$(EXT_OBJ): $(OBJS_DIR)\sysmtx_delete.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
$(OBJS_DIR)\sysmtx_lock.$(EXT_OBJ): $(OBJS_DIR)\sysmtx_lock.c $(COMMON_HEADERS) $(SYSTEM_HEADERS)
OBJS = $(OBJS) $(OBJS_DIR)\sysmem_getsize.$(EXT_OBJ)
CSRCS = $(CSRCS) $(SYSAPI_DIR)\sysmem_realloc.c
OBJS = $(OBJS) $(OBJS_DIR)\sysmem_realloc.$(EXT_OBJ)
+CSRCS = $(CSRCS) $(SYSAPI_DIR)\sysmem_allociomem.c
+OBJS = $(OBJS) $(OBJS_DIR)\sysmem_allociomem.$(EXT_OBJ)
+CSRCS = $(CSRCS) $(SYSAPI_DIR)\sysmem_freeiomem.c
+OBJS = $(OBJS) $(OBJS_DIR)\sysmem_freeiomem.$(EXT_OBJ)
CSRCS = $(CSRCS) $(SYSAPI_DIR)\sysmtx_create.c
OBJS = $(OBJS) $(OBJS_DIR)\sysmtx_create.$(EXT_OBJ)
CSRCS = $(CSRCS) $(SYSAPI_DIR)\sysmtx_delete.c
"sysmem_getmemif.c",
"sysmem_getsize.c",
"sysmem_realloc.c",
+ "sysmem_allociomem.c",
+ "sysmem_freeiomem.c",
"sysmtx_create.c",
"sysmtx_delete.c",
"sysmtx_lock.c",
MEMSIZE SysMem_GetSize(void *pMem); /**< メモリのサイズ取得(システム用) */
C_MEMIF *SysMem_GetMemIf(void); /**< メモリインターフェースの取得(システム用) */
+/* システムによっては特定アドレス範囲にしかDMAが使えなかったり、非キャッシュ領域が必要なので別途設ける */
+void *SysMem_AllocIoMem(MEMSIZE Size); /**< I/O操作に適したメモリの割り当て(システム用) */
+void SysMem_FreeIoMem(void *pMem); /**< I/O操作に適したメモリの返却(システム用) */
+
+
/* システム用割り込み制御API */
void SysInt_Enable(int iIntNum); /**< 割込み許可(システム用) */
void SysInt_Disable(int iIntNum); /**< 割込み禁止(システム用) */
--- /dev/null
+/**
+ * Hyper Operating System Application Framework
+ *
+ * @file system.h
+ * @brief %jp{システム用API定義}
+ *
+ * Copyright (C) 2006 by Project HOS
+ * http://sourceforge.jp/projects/hos/
+ */
+
+
+#include "sysapi_local.h"
+
+
+/* I/O用メモリのの割り当て(必要に応じてオーバーライドすること) */
+void *SysMem_AllocIoMem(MEMSIZE Size)
+{
+ return SysMem_Alloc(Size);
+}
+
+
+/* end of file */
--- /dev/null
+/**
+ * Hyper Operating System Application Framework
+ *
+ * @file system.h
+ * @brief %jp{システム用API定義}
+ *
+ * Copyright (C) 2006 by Project HOS
+ * http://sourceforge.jp/projects/hos/
+ */
+
+
+#include "sysapi_local.h"
+
+
+/* I/O用メモリの返却(必要に応じてオーバーライドすること) */
+void SysMem_FreeIoMem(void *pMem)
+{
+ SysMem_Free(pMem);
+}
+
+
+
+/* end of file */