Commit Graph

217 Commits

Author SHA1 Message Date
5c4a756176 Fixed fatal error while loading modules
strcpy() was called with a char instead of a char*, obviously causing a crash
2021-04-17 04:24:23 -05:00
Nathan Giddings
d0f9d026cc Merge pull request #5 from ngiddings/pre-alpha
Pre alpha
2021-04-17 03:46:34 -05:00
961139df9e Improved kernel memory usage
Moved base linear address to 0xFF800000
Kernel only reserves the page frames it actually needs
Memory for multiboot2 headers is freed
Video memory and APIC registers are dynamically mapped into linear addresses
2021-04-17 03:45:45 -05:00
b141582f40 Added very simple kernel memory allocator 2021-04-17 01:18:14 -05:00
b582c39ff8 Started work on process management 2021-04-17 01:00:28 -05:00
ce6371f0c3 Added ISR for preemption of processes 2021-04-17 00:59:15 -05:00
4bbe63819a Added page_table firld to process_t 2021-04-17 00:58:10 -05:00
db280f3fad Added new source files to Makefile.am 2021-04-17 00:57:50 -05:00
cb6d2681ef Started code to manage kernel resource table 2021-04-17 00:57:37 -05:00
9630d0a396 Added load_program() function
Builds program image from ELF file in memory
Fixed multiple definition error caused by constant in elf.h:
moved contant to elf.c
2021-04-17 00:56:44 -05:00
2d6fa0d163 Added functions to create and load process contexts 2021-04-17 00:55:05 -05:00
fdcdb9acab Updated virtual memory manager
Added page flags
Added function current_address_space()
Fixed create_address_space()
Renamed some fields in page_table_entry_t to fit naming scheme
2021-04-17 00:52:16 -05:00
6c047c6343 Remvoed unused dymamic memory allocator 2021-04-17 00:49:38 -05:00
8896c4313f Fixed glitch in trim_map()
Entries were not modified properly; only removals worked correctly.
2021-04-17 00:45:24 -05:00
6138766c49 Added sequence to remap PIC
Wrote GDT code in C
Added routines to initialize GDT and IDT
2021-04-16 01:45:40 -05:00
8e6589b472 Added some test code to setup a timer 2021-04-15 07:23:19 -05:00
3e73c7c0ac Fixed APIC register mapping 2021-04-15 07:22:58 -05:00
0c5d18ddc0 Added enum for timer interrupt vector 2021-04-15 07:22:26 -05:00
50fcaa2673 Added timer ISR 2021-04-15 07:22:01 -05:00
Nathan Giddings
d72c108f1b Merge pull request #4 from ngiddings/pre-alpha
Pre alpha
2021-04-15 05:56:49 -05:00
83abc11b09 Formatted header in README.md properly 2021-04-15 05:54:57 -05:00
Nathan Giddings
a42577d60e Merge pull request #3 from ngiddings/migrate-to-c
Migrate to c
2021-04-15 05:53:07 -05:00
3229f55164 Added some code in initialize() to test interrupts 2021-04-15 05:49:40 -05:00
c5e38801f3 Fixed the idt_info_t struct and lidt()
Info was not loaded properly, causing crash
2021-04-15 05:49:11 -05:00
923057ee1c Removed 'interrupt' attribute from isr_ap_start()
Added message to division by 0 exception
2021-04-15 04:55:28 -05:00
ac0e5261ba Implemented apic_send_ipi() 2021-04-15 04:51:57 -05:00
1e6b888515 Added msr.c to Makefile.am 2021-04-15 04:51:37 -05:00
d2617e4488 Wrote new ISR for AP entry 2021-04-15 04:51:23 -05:00
8eafcf899b Wrote some simple MSR code 2021-04-15 04:44:41 -05:00
c47a3dd73b Added apic.c to Makefile.am 2021-04-14 20:23:30 -05:00
8851243f19 Wrote empty definitions for some APIC functions
Started x86 interrupt setup code
2021-04-14 20:23:13 -05:00
3130b07fd1 Removed generic_isr() definition 2021-04-14 03:39:25 -05:00
48c042ca5f Added declaration for panic() function 2021-04-14 03:39:07 -05:00
507b0fa53e Renamed ISR functions to fit convention 2021-04-14 03:25:55 -05:00
eef1741e16 Added enum listing x86 exception codes 2021-04-14 03:25:21 -05:00
29544b0eb8 Moved interrupt code to separate file.
Added new source file to Makefile.am
2021-04-14 02:46:04 -05:00
4a8ca81a10 Started header for APIC structures 2021-04-14 02:25:57 -05:00
9f0867393f Some cleanup in quark_x86.c 2021-04-14 00:52:56 -05:00
6f625451ca Added new source files to Makefile.am 2021-04-14 00:52:29 -05:00
4c2ded8676 Fixed missing includes for multiboot2 files 2021-04-14 00:52:12 -05:00
61a50fef10 Inproved formatting on struct initializer 2021-04-14 00:12:02 -05:00
4e6f487a0a Moved ISRs and multiboot2 code to separate files 2021-04-14 00:11:44 -05:00
dd188132b9 Moved x86 ISR stubs to quark_x86.c 2021-04-13 00:26:59 -05:00
4900febfd9 Fixed wraparound problem in compare_regions() 2021-04-13 00:25:34 -05:00
e6a417c822 Changed formatting flag used to print memory map 2021-04-13 00:21:36 -05:00
302ed3b816 Fixed issues with tabs and newlines in putchar() 2021-04-13 00:21:08 -05:00
c6467e20d8 Wrote partial printf implementation 2021-04-13 00:20:45 -05:00
e9ffd9d85c Fixed incorrect memory type enum 2021-04-13 00:20:19 -05:00
cb7df05625 Added line to print character to screen after initializing 2021-04-12 15:52:32 -05:00
8d784364f8 Fixed value of pointer to video memory 2021-04-12 15:52:03 -05:00