Commit graph

239 commits

Author SHA1 Message Date
d5c7ded8c9 Fixed up Console::printFormat 2016-03-13 13:53:19 -04:00
af8a3c379e Add CString utilities to kstd 2016-03-13 13:51:13 -04:00
0027a8adb7 Rename and fix up ASCII.hh 2016-03-13 13:39:31 -04:00
2aa443bf0b Some small functions for dealing with ASCII 2016-03-13 13:35:50 -04:00
1bbd99aeee Rename writeChar, writeString -> printChar, printString 2016-03-13 13:32:52 -04:00
46d18b97d5 Basic framework for getting interrupts to go, but alas nothing yet... 2016-03-13 13:17:08 -04:00
c9c64b154a Make IDT size public 2016-03-13 13:14:45 -04:00
c581d1b99a Initialize PICs instead of remapping -- masks all interrupts 2016-03-13 12:53:28 -04:00
4f2c2a9150 Enable interrupts and loop forever 2016-03-13 12:52:47 -04:00
dfe85fd8e0 Use full 0xFFFFFFFF address for segment limits 2016-03-13 12:52:32 -04:00
d57bf8cf8c Add exceptionHandler static method for generation IDT DescriptorSpecs 2016-03-13 12:52:05 -04:00
6e2de52aa9 Clean up descriptor generation code 2016-03-13 12:51:42 -04:00
b3c7b28cda Add new PIC::initialize method to clear interrupts after initialization 2016-03-13 12:43:09 -04:00
18d7dbb927 Implement hardware interrupt enable/disable 2016-03-13 04:44:22 -04:00
9bb7e91b66 auto& instead of just auto
Grrr... I hate C++ sometimes.
Thanks Aimee~.
2016-03-12 19:14:48 -05:00
d098bac16c Cannot copy/assign Console objects 2016-03-12 19:14:07 -05:00
e2edde2ee4 Documentation for Console 2016-03-12 18:56:39 -05:00
3a144749df Add .init, .fini, .ctor*, and .dtor* sections to linker script 2016-03-10 12:18:52 -05:00
c579d57531 Some tweaks to the local static ABI functions
Cast to char *
Print an OOPS if initialization fails
2016-03-10 12:18:25 -05:00
ff2ef8b1ac Once guard around Console.hh 2016-03-10 12:17:54 -05:00
a320e103d2 Rename GDT::table -> mTable 2016-03-09 01:26:35 -05:00
75afe66362 Formatting 2016-03-09 01:23:14 -05:00
3e973716f8 Create a system interrupt handler and call initialize()
Loads interrupt table and programs PIC chips
2016-03-09 01:23:06 -05:00
6677af27f6 Rough outline of InterruptHandler 2016-03-09 01:17:13 -05:00
3879b3c324 Move descriptor classes to x86 namespace 2016-03-09 01:12:05 -05:00
0238e44efc Remove kernel namespace from PIC 2016-03-09 00:28:19 -05:00
867b89f65a Define the x86 exceptions 2016-03-09 00:21:22 -05:00
3722867e6d Add See Also to PIC programming comment 2016-03-09 00:09:10 -05:00
01b5737bd7 Just use full namespace specifiers instead of "using" 2016-03-06 13:01:02 -05:00
49afcdfadf Initialize hardware interrupts 2016-03-06 13:00:38 -05:00
1d9766b319 ++ instead of -- 2016-03-06 12:58:25 -05:00
c4b3d8e05c PIC class which manages the PIC chips 2016-03-06 11:49:30 -05:00
70d53827d2 Load an empty IDT 2016-03-02 02:57:35 -05:00
ccc7eeff60 Add low-level I/O functions 2016-03-02 02:48:25 -05:00
19693d62e3 Documentation for GDT and IDT 2016-03-02 02:07:44 -05:00
fcae11348d Clean up the GDT class 2016-03-02 02:02:34 -05:00
00e961435e Add IDT class for managing the interrupt table 2016-03-02 02:02:01 -05:00
d2cfbfd45d Console constructor is public again... 2016-03-01 12:02:37 -05:00
238e79f514 Move GDT to its own object 2016-03-01 12:01:51 -05:00
b893151fa4 Header formatting 2016-02-29 22:04:38 -05:00
6c076be975 GDT WORKS HOLY CRAP 2016-02-28 23:26:42 -05:00
94a8f74ada System console is back 2016-02-28 22:50:21 -05:00
945ad0e907 Add a bunch of code (copied from Paisley and rewritten a bit) for creating GDT entries 2016-02-28 15:28:17 -05:00
a7d0607c92 Okay, just create a console object when you need one... for now 2016-02-28 13:33:20 -05:00
e86960a283 Add cxa_guard functions for C++ ABI compatibility 2016-02-28 13:19:02 -05:00
8574dabf74 Merge remote-tracking branch 'base/master' 2016-02-28 12:57:24 -05:00
a4a8972625 Reference env directly
This change will work when the new changes to base are merged...
2016-02-28 12:57:12 -05:00
50177d96b8 Remove paths module 2016-02-28 09:24:20 -08:00
146b177ca9 Property export env 2016-02-28 09:22:46 -08:00
84b5595490 Remove TODO 2016-02-28 09:22:34 -08:00