Commit Graph

198 Commits

Author SHA1 Message Date
Ali Mashtizadeh
77ac1468fd Improve logging for shell and fs 2015-12-01 15:15:12 -08:00
Ali Mashtizadeh
c1461694ca Support writing sysctls from userspace 2015-12-01 15:14:17 -08:00
Ali Mashtizadeh
a274a78a5b Enable interrupts in debug mode so keyboard works. Fixed crosscall off by one due to previous change. 2015-11-20 12:23:36 -08:00
Ali Mashtizadeh
afd9cdc068 Adding sysctl command line tool 2015-11-15 15:17:18 -08:00
Ali Mashtizadeh
ae809dd23a Support setting sysctls from the debugger 2015-11-13 14:43:29 -08:00
Ali Mashtizadeh
069e7b44b7 Fix debugger's CPU halting 2015-11-13 14:41:35 -08:00
Ali Mashtizadeh
1fdc2fd933 Ensure we clear bits we don't want set in cr0 on APs 2015-03-03 16:12:37 -08:00
Ali Mashtizadeh
33af1ed42b Use NMIs to halt all cores when entering the debugger and resume all cores on exit. 2015-02-28 20:18:38 -08:00
Ali Mashtizadeh
2809d233b5 Added a simple crti/n/1 to fix clang compat issues 2015-02-27 15:57:07 -08:00
Ali Mashtizadeh
6a7fd630ce Remove the -N flag that was used when linking the kernel 2015-02-24 16:58:08 -08:00
Ali Mashtizadeh
a357b2f034 Enable saving/restoring XMMs so that Clang works 2015-02-24 16:57:30 -08:00
Ali Mashtizadeh
ce7e8ec194 Assert that spinlocks are locked and unlocked on the same processor 2015-02-16 15:41:32 -08:00
Ali Mashtizadeh
e2afc076a5 Basic CrossCall implementation 2015-02-16 15:19:38 -08:00
Ali Mashtizadeh
8825b399c4 Improve MP debugging 2015-02-16 13:59:24 -08:00
Ali Mashtizadeh
a69bfec37f Brute force try to boot each processor. 2015-02-16 13:52:03 -08:00
Ali Mashtizadeh
a053a30129 Making more functions static 2015-02-16 13:32:14 -08:00
Ali Mashtizadeh
0d335ebe20 Cleanup making internal functions static 2015-02-16 13:23:21 -08:00
Ali Mashtizadeh
2bb2090c93 Remove already fixed comment 2015-02-16 13:11:55 -08:00
Ali Mashtizadeh
473d00e669 Cleanup warnings from all the previous MP changes 2015-02-16 13:04:40 -08:00
Ali Mashtizadeh
e1959cf3f2 Ignore empty lines in kernel debugger 2015-02-16 13:04:22 -08:00
Ali Mashtizadeh
4e4490872e Add missing cleanup code in Process_Destroy 2015-02-16 13:03:57 -08:00
Ali Mashtizadeh
220328dd91 Add MP enhancements for the kernel debugger 2015-02-15 20:17:00 -08:00
Ali Mashtizadeh
d5535ded23 Make spinlock stack per-CPU 2015-02-15 20:05:24 -08:00
Ali Mashtizadeh
4ce2388ef2 Basic multiprocessing seems to be working, but some locking issues may remain 2015-02-15 19:15:18 -08:00
Ali Mashtizadeh
b8c8b1fc7d Improvements for SMP 2015-02-15 18:50:43 -08:00
Ali Mashtizadeh
4808b746f5 Basic MP bootup works 2015-02-15 17:00:55 -08:00
Ali Mashtizadeh
b34f8ed0fd Print backtrace when application faults 2015-02-06 17:08:44 -08:00
Ali Mashtizadeh
251654f2c7 More improvements to support lwip 2015-02-03 14:06:17 -08:00
Ali Mashtizadeh
348a7acc15 Moving some definitions from time.h into sys/time.h 2015-02-02 15:29:12 -08:00
Ali Mashtizadeh
78afc5e47d Header file improvements to enable compiling lwip 2015-02-02 15:10:15 -08:00
Ali Mashtizadeh
73064ffdf6 pthread mutex tests 2015-02-02 13:04:43 -08:00
Ali Mashtizadeh
1ceea3c677 Various bugfixes to Thread_Wait and the pthread library 2015-02-02 11:55:34 -08:00
Ali Mashtizadeh
d729ee868d Fixing compiler warnings 2015-01-30 23:02:18 -08:00
Ali Mashtizadeh
8b45f56bf5 Fix mmap and expose gettid system call 2015-01-30 20:43:28 -08:00
Ali Mashtizadeh
9251a3b7cc ethinject and plumbing for transmitting raw network packets. 2015-01-28 11:35:47 -08:00
Ali Mashtizadeh
8f24dbe6d0 Plumbing for raw packet reading 2015-01-27 10:34:44 -08:00
Ali Mashtizadeh
10bf52f68f A simple ifconfig to show a list of NICs and mac addresses 2015-01-23 13:02:31 -08:00
Ali Mashtizadeh
6f2c8be0ca Removing some excess kprintfs 2015-01-23 12:16:20 -08:00
Ali Mashtizadeh
359d55f53c Removing excess logging and improve semaphore debugging 2015-01-22 15:11:12 -08:00
Ali Mashtizadeh
ccebc2fe60 Finished Process_Wait implementation 2015-01-22 15:00:01 -08:00
Ali Mashtizadeh
9c4761b5f3 Fix thread reference counting leak in Semaphore_Acquire 2015-01-22 14:51:27 -08:00
Ali Mashtizadeh
c80577c5e8 OSWait now waits for child process to exit 2015-01-22 14:11:26 -08:00
Ali Mashtizadeh
534879b0c0 Show lock stack when a spinlock waits too long 2015-01-22 13:52:02 -08:00
Ali Mashtizadeh
ee3874da77 Bug fixes and code cleanup for thread related code 2015-01-22 13:04:43 -08:00
Ali Mashtizadeh
7aaf5cbc5f Adding title to process structure and create default kernel process 2015-01-22 10:08:09 -08:00
Ali Mashtizadeh
fa1b3c9ed2 Fix thread reference counting 2015-01-22 09:46:48 -08:00
Ali Mashtizadeh
63c04f37df Moving to using reference counts for process and thread structures. 2015-01-20 15:30:11 -08:00
Ali Mashtizadeh
2447babe6a Renaming functions and reorganizing functions in thread.c 2015-01-20 15:07:31 -08:00
Ali Mashtizadeh
5808a2564d Implemented CopyStrIn/Out to fix bugginess of using CopyIn/Out wrapping passed a mapped page. 2015-01-19 17:57:20 -08:00
Ali Mashtizadeh
5ed248c8ec Cleanup and fixing warnings 2015-01-19 17:04:14 -08:00