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