Justin C. Miller
ff3bd640f0
Add simple vector implementation to kutil for device_manager
2018-05-07 09:47:34 -07:00
Justin C. Miller
abb347e1a8
Implement free() to finish buddy allocator
2018-05-07 00:59:45 -07:00
Justin C. Miller
d876aa141c
Add better number formatting to printf
2018-05-06 02:18:24 -07:00
Justin C. Miller
f64efad057
Add initial PCIe enumeration
2018-05-06 01:38:19 -07:00
Justin C. Miller
0c553b3406
Switch to waf build system, first attempt
2018-05-04 23:50:48 -07:00
Justin C. Miller
25b9625635
paging finally works
2018-04-25 19:53:22 -07:00
Justin C. Miller
94de87ef86
Refactor screen ouput from main console code
2018-04-24 09:32:57 -07:00
Justin C. Miller
799ad8b264
Add operator| to enum_bitfields
2018-04-21 02:47:37 -07:00
Justin C. Miller
e8866abc7a
Bootstrap in-kernel memory management
2018-04-20 02:15:56 -07:00
Justin C. Miller
a27b8d6a3a
Add/move code into kutil library
2018-04-17 23:41:28 -07:00
Justin C. Miller
2050b89334
Move src/modules/main -> src/kernel
2018-04-17 09:45:05 -07:00
Justin C. Miller
504de44ff3
Make APIC addresses uint32_t*
...
APIC registers need to be read/written 32 bits at a time, so
best to keep these as pointers to that size.
2018-04-17 09:20:56 -07:00
Justin C. Miller
71a6f13fa5
Make interrupt_isrs.inc the one source of ISRs
2018-04-17 01:39:21 -07:00
Justin C. Miller
f62fbefe54
Parse APIC addresses out of ACPI tables.
2018-04-16 23:56:03 -07:00
Justin C. Miller
b7f18c0d31
Parse the ACPI XSDT and find ACPI tables.
2018-04-16 01:15:42 -07:00
Justin C. Miller
696c29086b
Clean up isr references in main.cpp
2018-04-15 18:44:47 -07:00
Justin C. Miller
bce281606e
Finish ISR code for CPU faults (ISRs 0-31)
2018-04-15 18:40:21 -07:00
Justin C. Miller
2388a92085
Add initial IDT and GDT setup.
...
WIP interrupt handling. Interrupts do not yet return.
2018-04-15 15:46:20 -07:00
Justin C. Miller
447991e82b
Add comment to assert
2018-04-15 09:14:02 -07:00
Justin C. Miller
a8984350da
Add new kassert macro.
2018-04-14 18:34:34 -07:00
Justin C. Miller
712df97dfc
Add a better boot message with version
2018-04-12 09:17:59 -07:00
Justin C. Miller
1f396ced8e
Make console support 256 color mode
2018-04-12 00:19:43 -07:00
Justin C. Miller
2d52f64eb6
Implement scrolling console
2018-04-10 02:15:41 -07:00
Justin C. Miller
067ff3af89
fix tab/spaces
2018-04-10 01:03:52 -07:00
Justin C. Miller
eaa9d2ba53
Move screen and font to proper classes
2018-04-09 13:56:14 -07:00
Justin C. Miller
77cc1fe757
Move main module to c++
2018-04-08 12:44:09 -07:00
Justin C. Miller
58729b412a
Add inital console font rendering
2018-04-04 11:58:02 -07:00
Justin C. Miller
8914106bee
Add PSF font header definition
2018-04-02 10:20:56 -07:00
Justin C. Miller
4577c2d10c
Add the beginning of support for kernel graphics to bootloader.
...
* Load a font file off disk to pass to kernel
* Expose a framebuffer to the kernel
* Currently the kernel just paints the screen red
2018-04-01 22:48:46 -07:00
Justin C. Miller
7ce2898b6e
Test for incoming data pointer in kernel_main
2018-03-29 09:49:38 -07:00
Justin C. Miller
2b9a0ca15e
Create a kernel data area for passing information
2018-03-27 14:46:53 -07:00
Justin C. Miller
fd5780610b
Format using clang-format
2018-03-25 14:06:25 -07:00
Justin C. Miller
e19c7cee50
Give kernel image a header.
...
Kernel image now has a header with version, magic number, and a
pointer to its actual entrypoint. Entry point is now _start in
boot.s, and we now generate versions.s in the build tree for the
version macros.
2018-03-24 18:34:44 -07:00
Justin C. Miller
d438392ed5
Formatting fixes and removed commented code only.
2018-03-23 09:04:51 -07:00
Justin C. Miller
cdef82f06f
Virtualizing memory after exiting boot services
2018-03-22 19:16:44 -07:00
Justin C. Miller
47ebdc7f41
Prematurely jumping into kernel_main
2018-03-19 17:04:35 -07:00
Justin C. Miller
72e143b93c
Bootloader loading kernel, not yet jumping to it
2018-03-18 18:07:19 -07:00