Commit Graph

91 Commits

Author SHA1 Message Date
df90bd7313 process struct now uses address_space struct 2023-11-09 23:00:12 -06:00
1375596310 Changed some length arguments to size_t in syscalls.h 2023-11-09 21:26:55 -06:00
61e5ebf513 Removed unused #include in sys/syscalls.h 2023-11-09 21:25:30 -06:00
58ae7f9f89 Removed syscallret_t typedef.
Syscalls just return an int
2023-11-09 21:24:07 -06:00
b4ea4b8ca1 Merged sighandler.h into sigaction.h 2023-11-09 21:19:13 -06:00
f36fe615cc Wrote wrappers for each available system call
Many calls aren't implemented, and simply return an error.
2023-11-09 21:17:08 -06:00
c43b23bed3 Added sigaction.h and sighandler.h to installed headers 2023-11-09 21:16:22 -06:00
31f7eb34a6 Renamed some syscalls 2023-11-08 14:15:46 -06:00
c5ef8c53a7 Started separating important structs from kernel.c 2023-11-08 14:13:03 -06:00
108e04a8f0 Page fault handler now allocates new page tables
Rather than contantly checking if a page table exists before access, the fault handler will automatically allocate them as needed.
2023-11-07 12:44:23 -06:00
091830e508 Added constructor to x86 context 2023-11-07 12:37:33 -06:00
98528dbc4a Created x86/mp.h 2023-11-07 12:36:59 -06:00
b9208aceba Created types/sigaction.h 2023-11-07 12:34:31 -06:00
aa77b0e7a2 Created sighandler.h 2023-11-07 12:34:06 -06:00
d4ed72cc46 Removed leading underscore from syscallarg.h 2023-11-07 12:33:42 -06:00
8e64741a9e Created types/syscallret.h 2023-11-07 12:33:24 -06:00
4b7cf4e04a Removed leading underscore from syscallarg.h 2023-11-07 12:33:04 -06:00
58d50a5e9a Removed leading underscore from physaddr.h 2023-11-07 12:32:42 -06:00
669ab6ba8a Removed leading underscore from pid.h 2023-11-07 12:32:04 -06:00
185d3f6677 Added function to delete contents of AVL tree 2023-11-07 12:31:16 -06:00
85020f2254 Removed leading underscore in oid.h 2023-11-07 12:30:13 -06:00
a5ce86147d Created small static library to wrap system call ABI 2023-09-07 00:58:57 -05:00
43440310f2 Added type definitions for process and object IDs 2023-09-07 00:55:45 -05:00
29a528780b Added syscalls to map to particular physical address 2023-09-02 21:50:35 -05:00
75b7e08e96 Kernel page allocator and heap use new algorithms 2023-08-31 14:37:38 -05:00
035960f4d3 Added new linker symbol pointing to end of read-only data 2023-03-03 04:52:58 -06:00
6af84b247f Page allocation uses new external library, libmalloc 2023-01-09 01:56:09 -06:00
c069866bc7 Buncha changes and fixes 2022-12-30 17:11:42 -06:00
166841da51 Added usermode interrupt handling 2022-12-21 11:37:13 -06:00
bacedbea86 Rewrote physical memory allocator
The physical memory allocator now uses a buddy allocator instead of a stack.

Also moved some of the platform-independent context code to kernel.c.
2022-08-23 13:00:26 -05:00
2f7d39e679 Improved error handling in queue.c 2022-08-23 12:56:45 -05:00
9c37167c5e Changed #include guards in physaddr.h, added now error codes 2022-08-23 12:55:39 -05:00
f76b8cab43 Changed #include guards in physaddr.h 2022-08-23 12:55:07 -05:00
21509be9bc Added 'math.c' for optimized math and bit operations 2022-08-23 08:41:53 -05:00
c36f65ce97 Various renaming and refactoring 2022-08-19 22:34:45 -05:00
0337fca749 Moved syscall IDs to separate header 2022-08-19 06:06:48 -05:00
164fb9fcae Added simple IPC syscalls 2022-08-19 03:56:53 -05:00
0ae4f7995d Added basic IPC syscalls 2022-08-17 02:47:41 -05:00
bfb56fcbb3 Added functions to portably manipulate process context 2022-08-17 01:41:59 -05:00
bbf2325a60 Added constructor to queue 2022-08-17 01:41:19 -05:00
5b959c9763 Added queue structure 2022-08-15 20:20:31 -05:00
bdb0b753a3 Fixed multiple definition error 2022-07-23 04:03:00 -05:00
03968c33eb Redefined message struct 2022-07-23 02:22:18 -05:00
d84c9c86d0 Removed some unused code 2022-07-05 18:06:19 -05:00
5c7d002bbf Moved PCB for each process to kernel heap 2022-07-03 13:17:06 -05:00
e3026b2601 Removed unneeded #include from elf.h 2022-06-15 16:07:01 -05:00
38d9ee4737 Removed unneeded #include from heap.h 2022-06-15 16:05:40 -05:00
a52f06f81e Massive backlog of changes 2022-06-15 15:59:31 -05:00
c962a83ff0 WIP on kernel syscalls 2021-05-01 17:09:50 -05:00
7caf49065d page stack constructor takes stack base as argument
initialize() calls new constructors and fills in syscall table
2021-04-19 06:58:02 -05:00