680 Commits

Author SHA1 Message Date
Baptiste Wicht
0e587a7e8f Another ****** try 2014-04-07 20:18:26 +02:00
Baptiste Wicht
416289dbcd Try another way 2014-04-07 20:17:43 +02:00
Baptiste Wicht
024c922f11 Replace busy waiting with semaphore 2014-04-07 20:16:54 +02:00
Baptiste Wicht
6ecab3fb1a Try safety 2014-04-07 20:16:31 +02:00
Baptiste Wicht
5fec55ce89 Try to safety it 2014-04-07 20:16:14 +02:00
Baptiste Wicht
152e692b83 A bit of safety 2014-04-07 20:15:22 +02:00
Baptiste Wicht
873221dcca Add note 2014-04-07 20:10:12 +02:00
Baptiste Wicht
f5569fb3d8 Add simple assert 2014-04-07 20:09:48 +02:00
Baptiste Wicht
e0ac3d81f7 Add a way to check interrupts 2014-04-07 20:00:26 +02:00
Baptiste Wicht
f09fde9fd7 Cleanup 2014-04-06 22:51:10 +02:00
Baptiste Wicht
bfc5b38310 Avoid duplicated segments 2014-04-06 22:38:17 +02:00
Baptiste Wicht
45d4adc1fb Refactor 2014-04-06 21:32:06 +02:00
Baptiste Wicht
2df003a697 Use a simple doubly linked list for the run queues 2014-04-06 19:35:46 +02:00
Baptiste Wicht
de5af66a96 Renaming 2014-04-06 17:01:28 +02:00
Baptiste Wicht
6ad3f4b15f Remove timer::sleep_ms
This function was unsafe with interrupts. Interrupts were enabled
and disabled with no regards to previous value. It was a bug, but
it was making ATA working better...
2014-04-02 22:55:19 +02:00
Baptiste Wicht
3f699069bb Clean 2014-04-02 22:55:03 +02:00
Baptiste Wicht
c4e3874782 Interrupt handling
Intel interrupt gates are automatically disabling the interrupts.
So it is not necessary to disable them on IRQs and ISRs, but it is
necessary to enable them in system calls
2014-04-02 22:46:24 +02:00
Baptiste Wicht
daf3ab9074 Add a way to get RFLAGS register value 2014-04-02 22:43:04 +02:00
Baptiste Wicht
ae0b2463a5 Protect kalloc 2014-04-02 20:46:21 +02:00
Baptiste Wicht
78554b3242 Add some safety 2014-04-02 18:36:59 +02:00
Baptiste Wicht
67b7b7cdf3 Fix bug with backspace handling 2014-04-02 18:25:35 +02:00
Baptiste Wicht
3f74089e1a More cleanup 2014-04-01 22:22:43 +02:00
Baptiste Wicht
33027e2a52 Use nicer locks for hw_int locks 2014-04-01 22:17:47 +02:00
Baptiste Wicht
d01a10e32c Remove debug messages 2014-04-01 21:54:42 +02:00
Baptiste Wicht
1ab2a9d7f4 Protect the buffers with a mutex 2014-04-01 21:43:05 +02:00
Baptiste Wicht
8ee776fbfd Fixes 2014-04-01 21:42:58 +02:00
Baptiste Wicht
a0557a8971 Safety 2014-04-01 21:10:13 +02:00
Baptiste Wicht
667cb60182 Review semaphore implementation 2014-04-01 21:09:09 +02:00
Baptiste Wicht
b2eae1bc61 Simplify sleep_queue interface 2014-04-01 20:37:41 +02:00
Baptiste Wicht
839b4f6c65 Update 2014-03-31 23:09:18 +02:00
Baptiste Wicht
a13033a071 Safer scheduler 2014-03-31 23:09:11 +02:00
Baptiste Wicht
380db5f28d Finish implementation of the terminal 2014-03-31 23:08:50 +02:00
Baptiste Wicht
75b1381064 Cleanup 2014-03-31 23:06:41 +02:00
Baptiste Wicht
2c7521ed7e Safer version of sleep queue 2014-03-31 23:02:26 +02:00
Baptiste Wicht
210ba3933d Cleanup 2014-03-31 23:00:29 +02:00
Baptiste Wicht
0dc733e404 Fix assembly 2014-03-31 22:57:48 +02:00
Baptiste Wicht
03b6cff766 Clean asserts 2014-03-31 20:27:17 +02:00
Baptiste Wicht
419e67847e Use tasklet system in terminal 2014-03-31 20:26:09 +02:00
Baptiste Wicht
3594d45a14 Prepare tasklet support 2014-03-31 19:14:44 +02:00
Baptiste Wicht
4983873bae Ensure that no calls is made till the scheduler is started 2014-03-31 18:57:47 +02:00
Baptiste Wicht
8dcb067d92 Cleanup hwint 2014-03-31 18:57:40 +02:00
Baptiste Wicht
d1a3d7fc3c Add functions to disable interrupts 2014-03-31 18:50:49 +02:00
Baptiste Wicht
5320d3f7ab Cleanup 2014-03-31 18:37:37 +02:00
Baptiste Wicht
75d80e212d Cleanup 2014-03-31 18:36:17 +02:00
Baptiste Wicht
725e4df133 Remove locks 2014-03-31 18:29:27 +02:00
Baptiste Wicht
991fcabd17 Reduce time quantum even more to discover bugs 2014-03-30 23:26:44 +02:00
Baptiste Wicht
1cb38b3c66 Disable logging for now 2014-03-30 23:23:28 +02:00
Baptiste Wicht
d4dd4bdd9c Reduce time quanta 2014-03-30 23:17:16 +02:00
Baptiste Wicht
bef1a4b193 Use std::function to simplify code 2014-03-12 21:46:35 +01:00
Baptiste Wicht
7362ecf7fe Change logs 2014-03-12 20:23:28 +01:00