diff options
author | Benji Dial <benji3.141@gmail.com> | 2020-05-16 09:53:58 -0400 |
---|---|---|
committer | Benji Dial <benji3.141@gmail.com> | 2020-05-16 09:53:58 -0400 |
commit | c0daede46df4f546639bd2d3e11dcf064d554966 (patch) | |
tree | 2042d915325dc66baf063238b8a3c685bb91d17b /src/kernel/proc.c | |
parent | f7820301d583ae190b683bdd1371ee6f7a35ac16 (diff) | |
download | portland-os-c0daede46df4f546639bd2d3e11dcf064d554966.tar.gz |
starting over
Diffstat (limited to 'src/kernel/proc.c')
-rw-r--r-- | src/kernel/proc.c | 52 |
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 |