OSDN Git Service

SimpleHTMLEditorを追加。
[chnosproject/CHNOSProject.git] / CHNOSProject / chnos / tolset_chn_000 / chnos_009 / chnos / memory.c
diff --git a/CHNOSProject/chnos/tolset_chn_000/chnos_009/chnos/memory.c b/CHNOSProject/chnos/tolset_chn_000/chnos_009/chnos/memory.c
deleted file mode 100644 (file)
index ce24a7c..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-\r
-#include "core.h"\r
-\r
-IO_MemoryControl sys_mem_ctrl;\r
-uint sys_mem_size;\r
-\r
-uint Memory_Test(uint start, uint end)\r
-{\r
-       uchar flg486 = 0;\r
-       uint eflg, cr0, i;\r
-\r
-       eflg = IO_Load_EFlags();\r
-       eflg |= EFLAGS_AC_BIT;\r
-       IO_Store_EFlags(eflg);\r
-\r
-       eflg = IO_Load_EFlags();\r
-       if((eflg & EFLAGS_AC_BIT) != 0){\r
-               flg486 = 1;\r
-       }\r
-       eflg &= ~EFLAGS_AC_BIT;\r
-       IO_Store_EFlags(eflg);\r
-\r
-       if(flg486 != 0){\r
-               cr0 = Load_CR0();\r
-               cr0 |= CR0_ALL_CACHE_DISABLE;\r
-               Store_CR0(cr0);\r
-       }\r
-       i = Memory_Test_Sub(start, end);\r
-       if(flg486 != 0){\r
-               cr0 = Load_CR0();\r
-               cr0 &= ~CR0_ALL_CACHE_DISABLE;\r
-               Store_CR0(cr0);         \r
-       }\r
-       return i;\r
-}\r
-\r
-void MemoryControl_Initialise(IO_MemoryControl *ctrl, void *start, uint size)\r
-{\r
-       ctrl->start = start;\r
-       ctrl->size = size;\r
-       ctrl->next = start;\r
-       ((IO_MemoryControlTag *)ctrl->next)->size = ctrl->size;\r
-       ((IO_MemoryControlTag *)ctrl->next)->next = 0;\r
-       return;\r
-}\r
-\r
-uint MemoryControl_FreeSize(IO_MemoryControl *ctrl)\r
-{\r
-       void *tag;\r
-       uint size;\r
-\r
-       size = 0;\r
-       tag = ctrl->next;\r
-\r
-       for(;;){\r
-               size += ((IO_MemoryControlTag *)tag)->size;\r
-               if(((IO_MemoryControlTag *)tag)->next == 0){\r
-                       break;\r
-               }\r
-               tag = ((IO_MemoryControlTag *)tag)->next;\r
-       }\r
-       return size;\r
-}\r
-\r
-void *MemoryControl_Allocate(IO_MemoryControl *ctrl, uint size)\r
-{\r
-       void **before;\r
-\r
-       size = (size + 7) & ~7;\r
-\r
-       before = &ctrl->next;\r
-       for(;;){\r
-               if((((IO_MemoryControlTag *)*before)->size - 8) > size){\r
-                       break;\r
-               }\r
-               if(((IO_MemoryControlTag *)*before)->next == 0){\r
-                       return 0;\r
-               }\r
-               before = &((IO_MemoryControlTag *)*before)->next;\r
-       }\r
-       ((IO_MemoryControlTag *)(*before + size))->size = ((IO_MemoryControlTag *)*before)->size - size;\r
-       ((IO_MemoryControlTag *)(*before + size))->next = ((IO_MemoryControlTag *)*before)->next;\r
-       *before = *before + size;\r
-\r
-       return *before - size;\r
-}\r
-\r
-int MemoryControl_Free(IO_MemoryControl *ctrl, void *addr0, uint size)\r
-{\r
-       void **before;\r
-\r
-       size = (size + 7) & ~7;\r
-\r
-       before = &ctrl->next;\r
-       for(; before != 0;){\r
-               if((uint)((IO_MemoryControlTag *)*before) == (uint)(addr0 + size)){             //\89ð\95ú\82µ\82½\82¢\83\81\83\82\83\8a\82Ì\8cã\91±\82É\8bó\82«\82ª\82 \82é\8fê\8d\87\81B\r
-                       ((IO_MemoryControlTag *)addr0)->size = ((IO_MemoryControlTag *)(*before))->size + size;\r
-                       ((IO_MemoryControlTag *)addr0)->next = ((IO_MemoryControlTag *)(*before))->next;\r
-                       *before = addr0;\r
-                       return 0;\r
-               }\r
-               if((uint)((IO_MemoryControlTag *)*before)->next >= (uint)(addr0 + size)){\r
-                       Send_SerialPort("Have to Free!1 or 2\r\n");\r
-                       return -1;\r
-               }\r
-               if(((IO_MemoryControlTag *)*before)->next == 0){\r
-                       Send_SerialPort("Have to Free!0\r\n");\r
-                       return -1;\r
-               }\r
-               before = ((IO_MemoryControlTag *)*before)->next;\r
-       }\r
-       return -1;\r
-}\r
-\r
-void *MemoryControl_Allocate_Page(IO_MemoryControl *ctrl)\r
-{\r
-       void *addr, *mem_head_4k, *offset;\r
-\r
-       addr = MemoryControl_Allocate(ctrl, 0x2000);\r
-       if(addr == 0) return 0;\r
-       mem_head_4k = (void *)(((uint)addr + 0xfff) & 0xfffff000);\r
-       (uint)offset = (uint)mem_head_4k - (uint)addr;\r
-       if (offset > 0) {\r
-               MemoryControl_Free(ctrl, addr, (uint)offset);\r
-       }\r
-       MemoryControl_Free(ctrl, mem_head_4k + 0x1000, 0x1000 - (uint)offset);\r
-\r
-       return mem_head_4k;\r
-}\r
-\r
-void MemoryControl_Output_Info(IO_MemoryControl *ctrl)\r
-{\r
-       void *tag;\r
-\r
-       debug("Memory Free Info.\n");\r
-       tag = ctrl->next;\r
-       for(;;){\r
-               debug("Addr:0x%08X Size:0x%08X\n", (uint)tag, ((IO_MemoryControlTag *)tag)->size);\r
-               if(((IO_MemoryControlTag *)tag)->next == 0){\r
-                       break;\r
-               }\r
-               tag = ((IO_MemoryControlTag *)tag)->next;\r
-       }\r
-       return;\r
-}\r
-\r
-void System_MemoryControl_Initialise(void)\r
-{\r
-       sys_mem_size = Memory_Test(0x00400000, 0xbfffffff) & 0xFFFFF000;\r
-       MemoryControl_Initialise(&sys_mem_ctrl, (void *)0x00400000, sys_mem_size - 0x00400000);\r
-       return;\r
-}\r
-\r
-uint System_MemoryControl_FullSize(void)\r
-{\r
-       return sys_mem_size;\r
-}\r
-\r
-uint System_MemoryControl_FreeSize(void)\r
-{\r
-       return MemoryControl_FreeSize(&sys_mem_ctrl);\r
-}\r
-\r
-void *System_MemoryControl_Allocate(uint size)\r
-{\r
-       void *addr;\r
-       uint *retaddr;\r
-\r
-       retaddr = &size;\r
-\r
-       addr = MemoryControl_Allocate(&sys_mem_ctrl, size);\r
-\r
-       debug("[0x%08X]Memory Allocate Request.[0x%08X](%dByte)\n", *(retaddr - 1), addr, size);\r
-\r
-       return addr;\r
-}\r
-\r
-int System_MemoryControl_Free(void *addr0, uint size)\r
-{\r
-       return MemoryControl_Free(&sys_mem_ctrl, addr0, size);\r
-}\r
-\r
-void *System_MemoryControl_Allocate_Page(void)\r
-{\r
-       return MemoryControl_Allocate_Page(&sys_mem_ctrl);\r
-}\r
-\r
-void System_MemoryControl_Output_Info(void)\r
-{\r
-       MemoryControl_Output_Info(&sys_mem_ctrl);\r
-       return;\r
-}\r