OSDN Git Service

SimpleHTMLEditorを追加。
[chnosproject/CHNOSProject.git] / CHNOSProject / chnos / tolset_chn_000 / chnos_008 / chnos / memory.c
diff --git a/CHNOSProject/chnos/tolset_chn_000/chnos_008/chnos/memory.c b/CHNOSProject/chnos/tolset_chn_000/chnos_008/chnos/memory.c
deleted file mode 100644 (file)
index 242e084..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-\r
-#include "core.h"\r
-\r
-uint memtest(uint start, uint end)\r
-{\r
-\r
-       char flg486 = 0;\r
-       uint eflg,cr0,i;\r
-\r
-       eflg = io_load_eflags();\r
-       eflg |= EFLAGS_AC_BIT;\r
-       io_store_eflags(eflg);\r
-       eflg = io_load_eflags();\r
-       if((eflg & EFLAGS_AC_BIT) != 0) flg486 = 1;\r
-       eflg &= ~EFLAGS_AC_BIT;\r
-       io_store_eflags(eflg);\r
-       if(flg486 != 0) {\r
-               cr0 = load_cr0();\r
-               cr0 |= CR0_ALL_CACHE_DISABLE;\r
-               store_cr0(cr0);\r
-               }\r
-       i = memtest_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
-\r
-void memman_init(IO_MemoryControl *man)\r
-{\r
-       man->frees = 0;\r
-       man->maxfrees = 0;\r
-       man->lostsize = 0;\r
-       man->losts = 0;\r
-       return;\r
-}\r
-\r
-uint memman_free_total(IO_MemoryControl *man)\r
-{\r
-       uint i,t = 0;\r
-       for (i = 0; i < man->frees; i++) {\r
-               t += man->free[i].size;\r
-               }\r
-       return t;\r
-}\r
-\r
-void *memman_alloc(IO_MemoryControl *man, uint size)\r
-{\r
-       uint i,a;\r
-       for(i = 0; i < man->frees; i++) {\r
-               if (man->free[i].size >= size) {\r
-               a = man->free[i].addr;\r
-               man->free[i].addr += size;\r
-               man->free[i].size -= size;\r
-               if(man->free[i].size == 0) {\r
-                       man->frees--;\r
-                       for (; i < man->frees; i++) {\r
-                               man->free[i] = man->free[i+1];\r
-                               }\r
-                       }\r
-                       return (void *)a;\r
-               }\r
-       }\r
-       return 0;\r
-}\r
-int memman_free(IO_MemoryControl *man, void *addr0, uint size)\r
-{\r
-       int i, j;\r
-       uint addr;\r
-       addr = (uint)addr0;\r
-       for(i = 0; i < man->frees; i++){\r
-               if(man->free[i].addr > addr) break;\r
-       }\r
-       if(i > 0) {\r
-               if(man->free[i-1].addr + man->free[i-1].size == addr){\r
-                       man->free[i-1].size += size;\r
-                       if(i < man->frees){\r
-                               if(addr + size == man->free[i].addr){\r
-                                       man->free[i-1].size += man->free[i].size;\r
-                                       man->frees--;\r
-                                       for (;i < man->frees; i++){\r
-                                               man->free[i] = man->free[i+1];\r
-                                       }\r
-                               }\r
-                       }\r
-                       return 0;\r
-               }\r
-       }\r
-       if(i < man->frees){\r
-               if(addr + size == man->free[i].addr){\r
-                       man->free[i].addr = addr;\r
-                       man->free[i].size += size;\r
-                       return 0;\r
-               }\r
-       }\r
-       if(man->frees < MEMMAN_FREES){\r
-               for(j = man->frees;j>i;j--) {\r
-                       man->free[j] = man->free[j-1];\r
-\r
-               }\r
-               man->frees++;\r
-               if(man->maxfrees < man->frees) man->maxfrees = man->frees;\r
-               man->free[i].addr = addr;\r
-               man->free[i].size = size;\r
-               return 0;\r
-\r
-       }\r
-       man->losts++;\r
-       man->lostsize += size;\r
-       return -1;\r
-}\r
-\r
-void *memman_alloc_page(IO_MemoryControl *man)\r
-{\r
-       void *addr, *mem_head_4k, *offset;\r
-\r
-       addr = memman_alloc(man, 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
-               memman_free(man, addr, (uint)offset);\r
-       }\r
-       memman_free(man, mem_head_4k + 0x1000, 0x1000 - (uint)offset);\r
-\r
-       return mem_head_4k;\r
-}\r
-\r
-void sys_memman_init(void)\r
-{\r
-       memman_init(&system.io.mem.ctrl);\r
-}\r
-\r
-uint sys_memman_free_total(void)\r
-{\r
-       return memman_free_total(&system.io.mem.ctrl);\r
-}\r
-\r
-void *sys_memman_alloc(uint size)\r
-{\r
-       return memman_alloc(&system.io.mem.ctrl, size);\r
-}\r
-\r
-int sys_memman_free(void *addr, uint size)\r
-{\r
-       return memman_free(&system.io.mem.ctrl, addr, size);\r
-}\r
-\r
-void *sys_memman_alloc_page(void)\r
-{\r
-       return memman_alloc_page(&system.io.mem.ctrl);\r
-}\r
-\r