summaryrefslogtreecommitdiff
path: root/src/kernel/proc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/proc.c')
-rw-r--r--src/kernel/proc.c52
1 files changed, 0 insertions, 52 deletions
diff --git a/src/kernel/proc.c b/src/kernel/proc.c
deleted file mode 100644
index 0912f3c..0000000
--- a/src/kernel/proc.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
-Copyright 2019 Benji Dial
-
-Permission to use, copy, modify, and/or distribute this
-software for any purpose with or without fee is hereby
-granted, provided that the above copyright notice and this
-permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS
-ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
-EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
-INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
-RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
-OF THIS SOFTWARE.
-*/
-
-#include "proc.h"
-#include "mem.h"
-#include "files.h"
-
-uint16_t new_proc(uint8_t *file) {
- uint16_t handle = open_file(file);
- if (handle)
- for (uint16_t id = 3; id; ++id)
- if (!proc_table[id].text) {
- uint32_t size = get_size(id);
- void *mem;
- proc_table[id].text = size + (proc_table[id].text = allocate_block(size, id));
- read_file(handle, size, mem);
- close_file(handle);
- //Process file header and make new process
- return id;
- }
- close_file(handle);
- return 0;
-}
-
-void end_proc(uint16_t id) {
- if (id && proc_table[id].text) {
- deallocate_block(proc_table[id].text);
- if (proc_table[id].rodata)
- deallocate_block(proc_table[id].rodata);
- if (proc_table[id].data)
- deallocate_block(proc_table[id].data);
- if (proc_table[id].bss)
- deallocate_block(proc_table[id].bss);
- proc_table[id].text = 0;
- }
-} \ No newline at end of file