683b79fa07 
								
							 
						 
						
							
							
								
								Make PIC::endOfInterrupt const  
							
							 
							
							
							
						 
						
							2016-03-13 18:41:34 -04:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								4e715c10af 
								
							 
						 
						
							
							
								
								More #define magic for ISRs  
							
							 
							
							
							
						 
						
							2016-03-13 18:40:45 -04:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								2424ecaa30 
								
							 
						 
						
							
							
								
								Send EOI to PIC when we're done with a hardware interrupt  
							
							 
							
							
							
						 
						
							2016-03-13 15:55:40 -04:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								5e2c89e588 
								
							 
						 
						
							
							
								
								OMG INTERRUPTS ARE WORKING  
							
							 
							
							... 
							
							
							
							The segment selector that you put in the interrupt table is a byte offset, and
*not* an index into the table. Now interrupts work!
But only one. And I think I know how to fix this... 
							
						 
						
							2016-03-13 15:54:25 -04:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								1f6ce53e08 
								
							 
						 
						
							
							
								
								Add method to post an interrupt in software  
							
							 
							
							
							
						 
						
							2016-03-13 15:47:50 -04:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								cf8047f7be 
								
							 
						 
						
							
							
								
								Print descriptor table information when loading  
							
							 
							
							
							
						 
						
							2016-03-13 15:47:11 -04:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								fdc7232079 
								
							 
						 
						
							
							
								
								Code formatting  
							
							 
							
							
							
						 
						
							2016-03-13 15:06:05 -04:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								2e262df414 
								
							 
						 
						
							
							
								
								Getting too fancy with my CString::length()  
							
							 
							
							
							
						 
						
							2016-03-13 15:05:53 -04:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								d62bc7f9d4 
								
							 
						 
						
							
							
								
								Console::printFormat is a printf() style function  
							
							 
							
							
							
						 
						
							2016-03-13 13:56:21 -04:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								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