Commit Graph

281 Commits

Author SHA1 Message Date
Ali Mashtizadeh
dac51c8166 Improve linker script compatability 2014-09-29 13:24:10 -07:00
Ali Mashtizadeh
0e8b1ecea3 Fixing bugs in the slab allocator and xmem. 2014-09-05 18:34:51 -07:00
Ali Mashtizadeh
79690d03be Fix build error 2014-09-05 18:18:49 -07:00
Ali Mashtizadeh
e5fd27f2f2 Switch to using the slab allocator for common objects. 2014-09-05 18:06:03 -07:00
Ali Mashtizadeh
b84ee76c20 Fix a bug in the slab allocator and improve the debugging output. 2014-09-05 18:04:33 -07:00
Ali Mashtizadeh
b052cc6740 Add backtrace command to debugger 2014-09-05 18:03:52 -07:00
Ali Mashtizadeh
03343a774c Simple slab allocator allocator 2014-09-04 23:26:02 -07:00
Ali Mashtizadeh
3ada1a4fcc Fixing warnings and small fixes. 2014-09-04 18:21:18 -07:00
Ali Mashtizadeh
bad9c2b470 Support PS2 keyboard in debug console 2014-09-03 17:38:34 -07:00
Ali Mashtizadeh
4e0a73c1cd Basic PS2 keyboard driver 2014-08-19 19:05:57 -07:00
Ali Mashtizadeh
244be786c8 Debugging for critical.c 2014-08-19 18:10:53 -07:00
Ali Mashtizadeh
7dfca8cdba Bug fixes and debugging for ioapic 2014-08-19 18:10:09 -07:00
Ali Mashtizadeh
41b659b558 Generic handle infrastructure 2014-08-08 13:55:12 -07:00
Ali Mashtizadeh
2611795d6f Implementing and testing a few system calls 2014-08-07 17:58:41 -07:00
Ali Mashtizadeh
6bddaeffe7 Switch loader to use VFS and a few bug fixes 2014-08-01 15:50:04 -07:00
Ali Mashtizadeh
2a79939b79 Beginning O2FS and VFS code along with superblock and root directory reading. 2014-08-01 14:15:06 -07:00
Ali Mashtizadeh
3e35c771cc Improving IDE driver 2014-08-01 14:13:09 -07:00
Ali Mashtizadeh
008488413a Implement memcmp 2014-07-31 18:16:08 -07:00
Ali Mashtizadeh
e901bdc7ce Implement disk cache and improve other related parts of the kernel. 2014-07-30 17:19:24 -07:00
Ali Mashtizadeh
0d1847269a Placeholder for system calls 2014-07-28 14:35:00 -07:00
Ali Mashtizadeh
3aef9e4cd8 Improving kernel ASSERT messages 2014-07-28 14:25:34 -07:00
Ali Mashtizadeh
0dd593fff2 User space working 2014-07-27 17:09:31 -07:00
Ali Mashtizadeh
b8b91d3e33 Cleanup and locking for the IDE driver. 2014-07-25 01:43:23 -07:00
Ali Mashtizadeh
ff2be2e406 rdtsc and improved spinlock statistics 2014-07-24 20:25:17 -07:00
Ali Mashtizadeh
9c6c3691b1 Fix build of IDE driver 2014-07-24 17:21:24 -07:00
Ali Mashtizadeh
82af1f6801 Disk infrastructure and working read support 2014-07-24 16:38:35 -07:00
Ali Mashtizadeh
bb9f0133fc Reduce kernel size due to linker script alignment 2014-07-23 18:27:20 -07:00
Ali Mashtizadeh
cfa5135302 Cleanup and implement Spinlock_Destroy 2014-07-23 18:14:54 -07:00
Ali Mashtizadeh
c184e7fa0a Implement kernel threads and a round-robin scheduler 2014-07-23 18:07:07 -07:00
Ali Mashtizadeh
a3cf5d9ad9 Spinlock debugging 2014-07-23 18:06:21 -07:00
Ali Mashtizadeh
73359af474 Merge branch 'master' of bitbucket.org:/mashtizadeh/castor 2014-07-21 23:43:43 -07:00
Ali Mashtizadeh
76108674d1 Build improvements 2014-07-21 23:43:01 -07:00
Ali Mashtizadeh
23117cf815 Fix to debugger 2014-07-21 12:49:45 -07:00
Ali Mashtizadeh
32d5f6740a Implement fxsave/xsave assembly 2014-07-20 19:33:02 -07:00
Ali Mashtizadeh
a71418733a Generate array of debug commands in a segment to remove static code. 2014-07-20 13:45:57 -07:00
Ali Mashtizadeh
028450f0a5 Kernel relocated to high memory 2014-07-18 15:09:52 -07:00
Ali Mashtizadeh
ddba3f671a Create linker script 2014-07-18 13:37:46 -07:00
Ali Mashtizadeh
c523345a4a Adding pcidump command to debugger 2014-07-17 01:14:49 -07:00
Ali Mashtizadeh
0d26227290 Fix memory leak and incorrect debugging output in pmap.c 2014-07-17 00:44:13 -07:00
Ali Mashtizadeh
d5b94390f8 Support up to 6GBs of RAM and improve debugging 2014-07-16 17:21:18 -07:00
Ali Mashtizadeh
19e9bbc22b Cleanup multiboot entry code 2014-07-16 01:27:58 -07:00
Ali Mashtizadeh
828b51034e Split SATA definitions out of AHCI driver 2014-07-16 01:25:39 -07:00
Ali Mashtizadeh
77c06d3edd xsave structure definition 2014-07-16 00:09:44 -07:00
Ali Mashtizadeh
95fbcc08b0 Remove some unused variables 2014-07-15 17:25:48 -07:00
Ali Mashtizadeh
12c5b196d9 Various interrupt bug fixes and improvements. 2014-07-15 17:00:16 -07:00
Ali Mashtizadeh
5014c0db2b Cleanup 2014-07-14 20:11:29 -07:00
Ali Mashtizadeh
27c65e8992 Refactoring and improvements 2014-07-13 23:16:54 -07:00
Ali Mashtizadeh
eb6efaa773 Add reboot command to debugger 2014-07-13 17:05:19 -07:00
Ali Mashtizadeh
24cb178868 Import FreeBSD AMD64 disassembler 2014-07-13 16:52:18 -07:00
Ali Mashtizadeh
4cb35eee1c Fix warnings in kern/debug.c 2014-07-13 14:48:41 -07:00
Ali Mashtizadeh
b553da4d10 Implement Dump and Registers commands 2014-07-13 14:44:05 -07:00
Ali Mashtizadeh
befee0cf6b Debug console working over serial 2014-07-13 14:22:59 -07:00
Ali Mashtizadeh
6b0d427898 Improving libc and printf 2014-07-13 14:09:36 -07:00
Ali Mashtizadeh
c9750e4834 Basic debugger support over serial 2014-07-13 13:36:43 -07:00
Ali Mashtizadeh
dd0e90c84d Starting Kernel Debugger 2014-07-13 13:07:19 -07:00
Ali Mashtizadeh
34aad175e9 Serial support 2014-07-13 13:04:14 -07:00
Ali Mashtizadeh
65fb17870e Unfinished changes for PIO IDE read/write. 2014-07-11 00:04:55 -07:00
Ali Mashtizadeh
cea53c24fe Fix TSS 2014-07-10 23:58:01 -07:00
Ali Mashtizadeh
7d24df2f07 Add missing header and bugfix in disabled code 2014-07-10 16:18:58 -07:00
Ali Mashtizadeh
3c09132308 Implement spinlocks 2014-07-10 15:55:32 -07:00
Ali Mashtizadeh
330a454af3 Improving AMD64 header 2014-07-10 14:43:52 -07:00
Ali Mashtizadeh
a1c44dca93 IRQ registration helper functions 2014-07-10 14:01:15 -07:00
Ali Mashtizadeh
6d09e71d9a Mask some LAPIC interrupts 2014-07-10 12:18:54 -07:00
Ali Mashtizadeh
f739b18d4f Fix compiler warnings and some refactoring 2014-07-07 10:57:57 -07:00
Ali Mashtizadeh
8cf8d7f4f5 Create and improve headers for various modules 2014-07-06 14:30:09 -07:00
Ali Mashtizadeh
1acd37a644 Print IDE identify information 2014-07-06 14:18:09 -07:00
Ali Mashtizadeh
25ff76e4d7 Fixing warnings and checking AHCI caps 2014-07-06 00:07:32 -07:00
Ali Mashtizadeh
504d962949 Fix implicit defs 2014-07-05 23:10:17 -07:00
Ali Mashtizadeh
fdb5c1b2c8 Improvements to AHCI driver and part of a IDE PIO driver. 2014-07-05 18:46:59 -07:00
Ali Mashtizadeh
696101f277 AHCI fixes and debugging improvements 2014-07-03 17:36:31 -07:00
Ali Mashtizadeh
568d7ee600 Built code to support issuing control commands. 2014-07-02 16:41:56 -07:00
Ali Mashtizadeh
f0b4968b62 Add memcpy 2014-07-02 16:18:40 -07:00
Ali Mashtizadeh
0c4cd070ec Improve log messages 2014-07-02 14:20:10 -07:00
Ali Mashtizadeh
00cf512522 Build cleanup and implemented support for qemu debug logging 2014-07-02 14:06:00 -07:00
Ali Mashtizadeh
c6e56a25f6 Splitting up PCI code into platform dependent parts 2014-07-02 10:03:07 -07:00
Ali Mashtizadeh
162c27767e AHCI data structure definitions. 2014-07-02 09:58:48 -07:00
Ali Mashtizadeh
7d031c1377 Remove unnecessary file and cleanup to pci.c 2014-07-01 12:34:28 -07:00
Ali Mashtizadeh
2b64bacc72 Disable caching of PCI space, and progress on AHCI. 2014-06-30 18:35:20 -07:00
Ali Mashtizadeh
255f560351 Basic page mapping, allocator, and PCI code 2014-06-30 15:52:35 -07:00
Ali Mashtizadeh
35dc79b899 Initial page allocator 2014-02-18 10:48:35 -08:00
Ali Mashtizadeh
11c151b60e Initial commit 2014-02-12 13:47:13 -08:00