From 6d23c76e8461fd1ec3445c1590e62a573f6ea6ee Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Thu, 29 Jul 2004 22:00:00 -0400 Subject: [PATCH] Import backup from 2004-07-29 --- Makefile | 5 +- hos.flp | Bin 1474560 -> 0 bytes kernel/kernel.c | 3 + kernel/mm/mm.c | 20 ++- kernel/mm/vmm.c | 214 +++++++++++++++++++------------- kernel/mm/vmm.h | 4 +- kernel/sys/{cmos.cpp => cmos.c} | 0 kernel/sys/{io.cpp => io.c} | 0 kernel/sys/{pic.cpp => pic.c} | 0 kernel/sys/{rtc.cpp => rtc.c} | 0 10 files changed, 145 insertions(+), 101 deletions(-) delete mode 100644 hos.flp rename kernel/sys/{cmos.cpp => cmos.c} (100%) rename kernel/sys/{io.cpp => io.c} (100%) rename kernel/sys/{pic.cpp => pic.c} (100%) rename kernel/sys/{rtc.cpp => rtc.c} (100%) diff --git a/Makefile b/Makefile index d894c7f..2fa1480 100644 --- a/Makefile +++ b/Makefile @@ -12,9 +12,8 @@ all: # make -C rmmod clean: - make -C kernel clean - make -C include clean -# make -C rmmod clean + - make -C kernel clean + - make -C rmmod clean - rm *~ hos.flp diff --git a/hos.flp b/hos.flp deleted file mode 100644 index f2d82b728bbd9b55761a9312f7c5c08fc5afefc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1474560 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�TC7lMKVgRW(H25@MikP0m>A{KkzClxP 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

dKKpWtfXt0d=?ASdSia_Ht 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 z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} 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 z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd N0RsjM7%*Vq90>K7ZUF!Q diff --git a/kernel/kernel.c b/kernel/kernel.c index 8aa347f..a580723 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -96,6 +96,7 @@ void k_init() void isr(u32_t num) { + criticalCounter++; for (;;) { (*(char*)(CONSOLE_MEMORY+158))++; @@ -104,8 +105,10 @@ void isr(u32_t num) { } + criticalCounter--; } + void k_enter_critical() // functions for implementing "atomic actions" { disable_ints(); diff --git a/kernel/mm/mm.c b/kernel/mm/mm.c index aaf03ae..3de10c6 100644 --- a/kernel/mm/mm.c +++ b/kernel/mm/mm.c @@ -61,12 +61,9 @@ void mm_init() // specified in base for a length of pages pages void mm_pfreen(u32_t base, u32_t pages) { - u32_t a; - u32_t max = base + (pages << 12); - for (a = base; a < max; a += 4096) - { - mm_pfree(a); - } + pages = base + (pages << 12); //convert #pages to #bytes + for (; base < pages; base += 4096) + mm_pfree(base); } @@ -78,7 +75,7 @@ void mm_pfree(u32_t base) u32_t bitNumber = (base >> 12) & 0x07; //pageNumber % 8; page_bitmap[byteNumber] = page_bitmap[byteNumber] & ((0x01 << bitNumber) ^ 0xFF); mm_freepages++; - if (mm_first_free_byte > byteNumber) + if (byteNumber < mm_first_free_byte) mm_first_free_byte = byteNumber; } @@ -87,12 +84,9 @@ void mm_pfree(u32_t base) // specified in base for a length of pages pages void mm_preserven(u32_t base, u32_t pages) { - u32_t a; - u32_t max = base + (pages << 12); - for (a = base; a < max; a += 4096) - { - mm_preserve(a); - } + pages = base + (pages << 12); //convert #pages to #bytes + for (; base < pages; base += 4096) + mm_preserve(base); } diff --git a/kernel/mm/vmm.c b/kernel/mm/vmm.c index 1676420..45f804b 100644 --- a/kernel/mm/vmm.c +++ b/kernel/mm/vmm.c @@ -2,7 +2,7 @@ // Author: Josh Holtrop // Date: 09/30/03 // Rewritten from scratch: 12/23/03 -// Modified: 07/13/04 +// Modified: 07/29/04 #include "hos_defines.h" #include "kernel.h" @@ -10,14 +10,14 @@ #include "asmfuncs.h" #include "mm/mm.h" -u32_t vmm_map(void *virt); +int vmm_map(void *virt); int vmm_map1(unsigned int virt, unsigned int physical); int vmm_mapn(unsigned int virt, unsigned int physical, unsigned int n); void vmm_unmap1(unsigned int virt); void vmm_unmapn(unsigned int virt, unsigned int n); int vmm_map_range(void *virt_start, void *virt_end, u32_t phys_start); void vmm_heb_init(HeapEntryBlock_t *heb); -void vmm_addToQueue(u32_t queue, HeapEntry_t *he); +void vmm_addToQueue(u32_t queue, HeapEntry_t *preceeding, HeapEntry_t *he); int vmm_countHeapEntries(HeapEntry_t *he); HeapEntry_t *vmm_followChain(HeapEntry_t *he); HeapEntry_t *vmm_getUnusedEntry(); @@ -29,8 +29,9 @@ extern mb_info_t mb_info_block; extern mb_module_t mb_modules[MAX_MODULES]; extern u32_t mm_freepages; -HeapEntryQueue_t heapEntryQueues[VMM_HE_TYPES]; // sorted, linked queue of HeapEntry objects +HeapEntryQueue_t heapEntryQueues[VMM_HE_TYPES]; // linked queue of HeapEntry objects HeapEntry_t heapEntryHeadNodes[VMM_HE_TYPES]; // head nodes for linked queues +HeapEntry_t heapEntryTailNodes[VMM_HE_TYPES]; // tail nodes for linked queues HeapEntryBlock_t initialHEB; // block for initial 256 HeapEntry objects @@ -40,33 +41,38 @@ void vmm_init() { int i; for (i = 0; i < mb_info_block.mods_count; i++) //page in the kernel modules - vmm_map_range((void*)mb_modules[i].mod_start, (void*)mb_modules[i].mod_end- 1, mb_modules[i].mod_start - VIRT_OFFSET); + vmm_map_range((void*)mb_modules[i].mod_start, (void*)mb_modules[i].mod_end - 1, mb_modules[i].mod_start - VIRT_OFFSET); + for (i = 0; i < VMM_HE_TYPES; i++) + { + heapEntryQueues[i].head = &heapEntryHeadNodes[i]; + heapEntryHeadNodes[i].next = &heapEntryTailNodes[i]; + heapEntryTailNodes[i].prev = &heapEntryHeadNodes[i]; + } vmm_heb_init(&initialHEB); - vmm_addToQueue(VMM_HE_UNUSED, &initialHEB.entry[0]); + vmm_addToQueue(VMM_HE_UNUSED, &heapEntryHeadNodes[VMM_HE_UNUSED], &initialHEB.entry[0]); HeapEntry_t *wilderness = vmm_stripUnusedEntry(); wilderness->base = (void *) HEAP_START; wilderness->length = HEAP_LENGTH; - vmm_addToQueue(VMM_HE_HOLE, wilderness); + vmm_addToQueue(VMM_HE_HOLE, &heapEntryHeadNodes[VMM_HE_HOLE], wilderness); } /* Allocate a physical page and map the virtual address to it, return physical address allocated or NULL */ -u32_t vmm_map(void *virt) +int vmm_map(void *virt) { - u32_t phys = mm_palloc(); - if (!phys); - return NULL; - vmm_map1((u32_t)virt, phys); - return phys; + if (mm_freepages < 10); + return -1; + vmm_map1((u32_t)virt, mm_palloc()); + return 0; } // This function maps a virtual address to a physical address using the page directory / page table -int vmm_map1(unsigned int virt, unsigned int physical) +int vmm_map1(u32_t virt, u32_t physical) { - unsigned int pde = virt >> 22; - unsigned int pte = (virt & 0x003FF000) >> 12; - unsigned int *pageTables = (unsigned int *)0xFFFFF000; //this is the location of the page directory + u32_t pde = virt >> 22; + u32_t pte = (virt & 0x003FF000) >> 12; + u32_t *pageTables = (u32_t *)0xFFFFF000; //this is the location of the page directory if (!(pageTables[pde] & 0x01)) //the page directory entry is not present, we must allocate a page table { u32_t newpagetable; @@ -76,14 +82,14 @@ int vmm_map1(unsigned int virt, unsigned int physical) invlpg_(virt); //in case it was cached, so we can fill page table safely memsetd((void*)(0xFFC00000 | (pde << 12)), 0, 1024); //zero out new page table } - *(unsigned int *)(0xFFC00000 | (pde << 12) | (pte << 2)) = (physical & 0xFFFFF000) | 0x03; + *(u32_t *)(0xFFC00000 | (pde << 12) | (pte << 2)) = (physical & 0xFFFFF000) | 0x03; invlpg_(virt); return 0; } // This function maps a variable number of pages in a row -int vmm_mapn(unsigned int virt, unsigned int physical, unsigned int n) +int vmm_mapn(u32_t virt, u32_t physical, u32_t n) { while (n > 0) { @@ -98,15 +104,15 @@ int vmm_mapn(unsigned int virt, unsigned int physical, unsigned int n) // This function removes the virtual address's entry in the page directory / page table -void vmm_unmap1(unsigned int virt) +void vmm_unmap1(u32_t virt) { - *(unsigned int *)(0xFFC00000 | ((virt & 0xFFC00000) >> 10) | ((virt & 0x003FF000) >> 10)) = 0; + *(u32_t *)(0xFFC00000 | ((virt & 0xFFC00000) >> 10) | ((virt & 0x003FF000) >> 10)) = 0; invlpg_(virt); } // This function removes multiple pages' entries -void vmm_unmapn(unsigned int virt, unsigned int n) +void vmm_unmapn(u32_t virt, u32_t n) { while (n > 0) { @@ -117,14 +123,15 @@ void vmm_unmapn(unsigned int virt, unsigned int n) } +// This function maps an entire address range into memory int vmm_map_range(void *virt_start, void *virt_end, u32_t phys_start) { if (virt_end < virt_start) - return 1; // invalid region + return -1; // invalid region while (virt_start < virt_end) { if (vmm_map1((u32_t)virt_start, phys_start)) - return 2; // out of memory + return -2; // out of memory virt_start += 4096; phys_start += 4096; } @@ -132,6 +139,8 @@ int vmm_map_range(void *virt_start, void *virt_end, u32_t phys_start) } + +// kernel virtual memory allocator void *kmalloc(u32_t size) { k_enter_critical(); @@ -141,28 +150,86 @@ void *kmalloc(u32_t size) } +// kernel virtual memory de-allocator +int kfree(void *addr) +{ + k_enter_critical(); + + k_leave_critical(); + return 0; +} + + +// This function allocates a virtual page and maps it to a physical page void *vmm_palloc() { k_enter_critical(); - HeapEntry_t *he = heapEntryQueues[VMM_HE_HOLE].start; - if (he->length == 4096) + HeapEntry_t *he = heapEntryQueues[VMM_HE_HOLE].head->next; + HeapEntry_t *wilderness = he; + while (he) { - heapEntryQueues[VMM_HE_HOLE].start = he->next; - heapEntryQueues[VMM_HE_HOLE].count--; - he->next = 0; - vmm_addToQueue(VMM_HE_USED, he); - return he->base; + if (he->length == 4096) + { + ((HeapEntry_t *)he->prev)->next = he->next; + ((HeapEntry_t *)he->next)->prev = he->prev; + heapEntryQueues[VMM_HE_HOLE].count--; + he->next = NULL; + he->prev = NULL; + vmm_addToQueue(VMM_HE_USED, &heapEntryHeadNodes[VMM_HE_USED], he); + vmm_map(he->base); + k_leave_critical(); + return he->base; + } + if (he->length > wilderness->length) + wilderness = he; + he = (HeapEntry_t *)he->next; } - + if (wilderness->length < 0x00010000) //leave 16 pages free + { + k_leave_critical(); + return NULL; + } + wilderness->length -= 4096; //strip 4k from the top + he = vmm_getUnusedEntry(); + he->base = wilderness->base + wilderness->length; + he->length = 4096; + vmm_addToQueue(VMM_HE_USED, &heapEntryHeadNodes[VMM_HE_USED], he); + vmm_map(he->base); k_leave_critical(); - return NULL; + return he->base; +} + + +// This function frees a previously-allocated virtual page +int vmm_pfree(void *addr) +{ + k_enter_critical(); + HeapEntry_t *he = heapEntryQueues[VMM_HE_USED].head->next; + while (he) + { + if (he->base == addr) //found the page to free + { + ((HeapEntry_t *)he->prev)->next = he->next; + ((HeapEntry_t *)he->next)->prev = he->prev; + heapEntryQueues[VMM_HE_USED].count--; + he->next = NULL; + he->prev = NULL; + vmm_unmap1((u32_t)he->base); + vmm_addToQueue(VMM_HE_HOLE, &heapEntryHeadNodes[VMM_HE_HOLE], he); + k_leave_critical(); + return 0; + } + he = he->next; + } + k_leave_critical(); + return -1; // page not found } // This function allocates and zeros memory for the given number of objects, // given the size of each object /* -void *calloc(unsigned int number, unsigned int size) +void *calloc(u32_t number, u32_t size) { void *mem = malloc(number * size); if (!mem) @@ -172,64 +239,34 @@ void *calloc(unsigned int number, unsigned int size) }*/ + // This function initialzes a Heap Entry Block to entries linked together void vmm_heb_init(HeapEntryBlock_t *heb) { int a; for (a = 0; a < 255; a++) + { heb->entry[a].next = &heb->entry[a+1]; + heb->entry[a+1].prev = &heb->entry[a]; + } + heb->entry[0].prev = NULL; heb->entry[255].next = NULL; } -// This function adds a HeapEntry structure list to the appropriate place in the queue -void vmm_addToQueue(u32_t queue, HeapEntry_t *he) +// This function adds a HeapEntry structure to the queue following 'preceeding' the queue +void vmm_addToQueue(u32_t queue, HeapEntry_t *preceeding, HeapEntry_t *he) { - if (heapEntryQueues[queue].start == NULL) //queue is empty - { - heapEntryQueues[queue].start = he; - heapEntryQueues[queue].count = vmm_countHeapEntries(he); - return; - } - - switch (queue) - { - HeapEntry_t *prevhe; - case VMM_HE_UNUSED: // don't sort at all, add to end - prevhe = vmm_followChain(heapEntryQueues[queue].start); - prevhe->next = he; - heapEntryQueues[queue].count += vmm_countHeapEntries(he); - break; - case VMM_HE_USED: // sort by base address - prevhe = heapEntryQueues[queue].start; - while (prevhe->next) - { - if (((HeapEntry_t *)prevhe->next)->base > he->base) - break; - prevhe = prevhe->next; - } - he->next = prevhe->next; - prevhe->next = he; - heapEntryQueues[queue].count++; - break; - case VMM_HE_HOLE: // sort by length - case VMM_HE_FREE: - prevhe = heapEntryQueues[queue].start; - while (prevhe->next) - { - if (((HeapEntry_t *)prevhe->next)->length > he->length) - break; - prevhe = prevhe->next; - } - he->next = prevhe->next; - prevhe->next = he; - heapEntryQueues[queue].count++; - break; - } + heapEntryQueues[queue].count += vmm_countHeapEntries(he); + HeapEntry_t *last = vmm_followChain(he); + last->next = preceeding->next; + he->prev = preceeding; + ((HeapEntry_t *)last->next)->prev = last; + preceeding->next = he; } -// This function returns how many HeapEntry objects are in a queue starting from the object given +// This function returns how many HeapEntry objects are in a queue starting/including from the object given int vmm_countHeapEntries(HeapEntry_t *he) { int count = 0; @@ -256,15 +293,22 @@ HeapEntry_t *vmm_getUnusedEntry() { if (heapEntryQueues[VMM_HE_UNUSED].count < 5) { - HeapEntry_t *wilderness = vmm_followChain(heapEntryQueues[VMM_HE_HOLE].start); - wilderness->length -= 4096; + HeapEntry_t *he = heapEntryQueues[VMM_HE_HOLE].head->next; + HeapEntry_t *wilderness = he; + while (he) + { + if ((he->length) > (wilderness->length)) + wilderness = he; + he = (HeapEntry_t *)he->next; + } + wilderness->length -= 4096; //strip 4k from the top HeapEntryBlock_t *newHEB = wilderness->base + wilderness->length; vmm_map(newHEB); vmm_heb_init(newHEB); - HeapEntry_t *newDesc = vmm_stripUnusedEntry(); + HeapEntry_t *newDesc = vmm_stripUnusedEntry(); //descriptor for the new HEB newDesc->base = newHEB; newDesc->length = 4096; - vmm_addToQueue(VMM_HE_USED, newDesc); + vmm_addToQueue(VMM_HE_USED, heapEntryTailNodes[VMM_HE_USED].prev, newDesc); } return vmm_stripUnusedEntry(); } @@ -273,10 +317,12 @@ HeapEntry_t *vmm_getUnusedEntry() // Return pointer to an unused HeapEntry object, ASSUMES THERE IS ONE PRESENT IN QUEUE HeapEntry_t *vmm_stripUnusedEntry() { - HeapEntry_t *he = heapEntryQueues[VMM_HE_UNUSED].start; - heapEntryQueues[VMM_HE_UNUSED].start = he->next; + HeapEntry_t *he = heapEntryQueues[VMM_HE_UNUSED].head->next; + heapEntryQueues[VMM_HE_UNUSED].head->next = he->next; + ((HeapEntry_t *)he->next)->prev = he->prev; heapEntryQueues[VMM_HE_UNUSED].count--; he->next = 0; + he->prev = 0; return he; } diff --git a/kernel/mm/vmm.h b/kernel/mm/vmm.h index 3bd85e8..71ad89c 100644 --- a/kernel/mm/vmm.h +++ b/kernel/mm/vmm.h @@ -33,13 +33,15 @@ typedef struct { typedef struct { int count; - HeapEntry_t *start; + HeapEntry_t *head; } HeapEntryQueue_t; void vmm_init(); void *kmalloc(u32_t size); +int kfree(void *addr); void *vmm_palloc(); +int vmm_pfree(void *addr); #endif diff --git a/kernel/sys/cmos.cpp b/kernel/sys/cmos.c similarity index 100% rename from kernel/sys/cmos.cpp rename to kernel/sys/cmos.c diff --git a/kernel/sys/io.cpp b/kernel/sys/io.c similarity index 100% rename from kernel/sys/io.cpp rename to kernel/sys/io.c diff --git a/kernel/sys/pic.cpp b/kernel/sys/pic.c similarity index 100% rename from kernel/sys/pic.cpp rename to kernel/sys/pic.c diff --git a/kernel/sys/rtc.cpp b/kernel/sys/rtc.c similarity index 100% rename from kernel/sys/rtc.cpp rename to kernel/sys/rtc.c