sydi.git
5 years agoImplemented APIC timer support. master
ethereal [Wed, 8 Jan 2014 05:36:52 +0000 (22:36 -0700)]
Implemented APIC timer support.

5 years agoHopefully, finally fixed exception detection.
ethereal [Tue, 7 Jan 2014 08:09:52 +0000 (01:09 -0700)]
Hopefully, finally fixed exception detection.

5 years agoFixed bug in ISR implementations.
ethereal [Tue, 7 Jan 2014 07:40:18 +0000 (00:40 -0700)]
Fixed bug in ISR implementations.

5 years agoFixed bug in vmem.
ethereal [Tue, 7 Jan 2014 07:09:15 +0000 (00:09 -0700)]
Fixed bug in vmem.

5 years agoAdded full support for exception-code detection.
ethereal [Tue, 7 Jan 2014 06:45:20 +0000 (23:45 -0700)]
Added full support for exception-code detection.

5 years agoImplemented most of the interrupt framework.
ethereal [Tue, 7 Jan 2014 04:27:55 +0000 (21:27 -0700)]
Implemented most of the interrupt framework.

5 years agoImplemented ID system.
ethereal [Mon, 6 Jan 2014 19:48:16 +0000 (12:48 -0700)]
Implemented ID system.

5 years agoBegan rewrite of Sydi kernel with new design.
ethereal [Mon, 6 Jan 2014 09:15:52 +0000 (02:15 -0700)]
Began rewrite of Sydi kernel with new design.

5 years agoVarious file updates, planning architecture change.
ethereal [Sun, 5 Jan 2014 08:30:29 +0000 (01:30 -0700)]
Various file updates, planning architecture change.

6 years agoVarious changes to ACPI framework.
ethereal [Sun, 2 Jun 2013 03:19:17 +0000 (21:19 -0600)]
Various changes to ACPI framework.

Next up is to tweak the current setup to be more microkernel-like.

6 years agoMade APIC timer on AP CPU's enabled.
ethereal [Mon, 13 May 2013 05:05:03 +0000 (23:05 -0600)]
Made APIC timer on AP CPU's enabled.

6 years agoAP CPUs are initialized and added to scheduler.
ethereal [Mon, 13 May 2013 02:21:37 +0000 (20:21 -0600)]
AP CPUs are initialized and added to scheduler.

6 years agoAdded idle thread.
ethereal [Mon, 13 May 2013 00:45:26 +0000 (18:45 -0600)]
Added idle thread.

6 years agoHopefully finished round-robin scheduler.
ethereal [Mon, 13 May 2013 00:13:12 +0000 (18:13 -0600)]
Hopefully finished round-robin scheduler.

6 years agoSet up working PIT clock, works at ~1ms intervals.
ethereal [Sun, 12 May 2013 23:25:02 +0000 (17:25 -0600)]
Set up working PIT clock, works at ~1ms intervals.

Also adds kernel time infrastructure.

6 years agoImplemented new thread system.
ethereal [Sat, 11 May 2013 16:58:23 +0000 (10:58 -0600)]
Implemented new thread system.

Nothing terribly special, but it allows for the easy creation of kernel
workers.

6 years agoFix root Makefile to work with -j.
ethereal [Thu, 9 May 2013 16:18:55 +0000 (10:18 -0600)]
Fix root Makefile to work with -j.

6 years agoAdd AP CPU kernelspace init.
ethereal [Thu, 9 May 2013 16:15:41 +0000 (10:15 -0600)]
Add AP CPU kernelspace init.

Secondary CPUs should now be in a usable state.

6 years agoImplemented SMP initialization code.
ethereal [Thu, 9 May 2013 06:25:56 +0000 (00:25 -0600)]
Implemented SMP initialization code.

Any additional APs now initialize themselves and print a message.

6 years agoFixed bug in context switching code.
ethereal [Tue, 7 May 2013 15:44:36 +0000 (09:44 -0600)]
Fixed bug in context switching code.

6 years ago(Slightly) cleaner context-switching now.
ethereal [Tue, 7 May 2013 14:56:18 +0000 (08:56 -0600)]
(Slightly) cleaner context-switching now.

All registers should be saved/restored appropriately.

6 years agoAdded extremely hackish context scheduing support.
ethereal [Tue, 7 May 2013 04:46:18 +0000 (22:46 -0600)]
Added extremely hackish context scheduing support.

Next up is to improve said scheduling support . . .

6 years agoBasic context-switching support implemented.
ethereal [Tue, 7 May 2013 03:46:31 +0000 (21:46 -0600)]
Basic context-switching support implemented.

6 years agoWe have keyboard input.
ethereal [Tue, 7 May 2013 00:28:32 +0000 (18:28 -0600)]
We have keyboard input.

The interrupt framework is now set up.

6 years agoContinued working on APIC code.
ethereal [Mon, 6 May 2013 22:51:53 +0000 (16:51 -0600)]
Continued working on APIC code.

Getting a strange double-fault from somewhere now, though, which is annoying.

6 years agoWorked on I/O APIC code.
ethereal [Mon, 6 May 2013 05:25:37 +0000 (23:25 -0600)]
Worked on I/O APIC code.

ACPI descriptor tables are now parsed, the I/O APIC can be communicated with,
and things are now starting to work.

6 years agoStarted working on IDT creation.
ethereal [Fri, 22 Feb 2013 03:33:06 +0000 (20:33 -0700)]
Started working on IDT creation.

6 years agoAdded TSS-loading code.
ethereal [Fri, 22 Feb 2013 01:38:33 +0000 (18:38 -0700)]
Added TSS-loading code.

6 years agoImplemented basic TSS support, fixed several bugs.
ethereal [Fri, 22 Feb 2013 01:11:29 +0000 (18:11 -0700)]
Implemented basic TSS support, fixed several bugs.

6 years agoUpdated bochs config, fixed smp_get_id().
ethereal [Thu, 14 Feb 2013 02:21:33 +0000 (19:21 -0700)]
Updated bochs config, fixed smp_get_id().

6 years agoUpdated .gitignore.
ethereal [Wed, 13 Feb 2013 16:39:54 +0000 (09:39 -0700)]
Updated .gitignore.

6 years agoMade vmman_map_page populate page hash table.
ethereal [Wed, 13 Feb 2013 16:35:56 +0000 (09:35 -0700)]
Made vmman_map_page populate page hash table.

6 years agoAdded new GDT code, spinlocks, heap, hash table, etc.
ethereal [Wed, 13 Feb 2013 16:26:29 +0000 (09:26 -0700)]
Added new GDT code, spinlocks, heap, hash table, etc.

6 years agoVarious changes; virtual memory manager mostly finished.
ethereal [Wed, 13 Feb 2013 03:10:04 +0000 (20:10 -0700)]
Various changes; virtual memory manager mostly finished.

6 years agoFixed terminal scrolling.
ethereal [Tue, 12 Feb 2013 03:47:31 +0000 (20:47 -0700)]
Fixed terminal scrolling.

6 years agoMoved kernel address to upper 2GB.
ethereal [Tue, 12 Feb 2013 03:17:20 +0000 (20:17 -0700)]
Moved kernel address to upper 2GB.

6 years agoImplemented basic terminal API and logging system.
ethereal [Tue, 12 Feb 2013 02:42:53 +0000 (19:42 -0700)]
Implemented basic terminal API and logging system.

6 years ago`Finished' physical memory manager.
ethereal [Mon, 11 Feb 2013 21:03:24 +0000 (14:03 -0700)]
`Finished' physical memory manager.

6 years agoStarted memory manager.
ethereal [Mon, 11 Feb 2013 20:37:57 +0000 (13:37 -0700)]
Started memory manager.

6 years agoInitial skeleton copied from Aeolus.
ethereal [Mon, 11 Feb 2013 17:59:58 +0000 (10:59 -0700)]
Initial skeleton copied from Aeolus.