592 Commits

Author SHA1 Message Date
Baptiste Wicht
a4d84cb155 Assign a tty to each process 2014-02-01 17:09:55 +01:00
Baptiste Wicht
e76f3040cf Prepare tty architecture 2014-02-01 17:09:42 +01:00
Baptiste Wicht
86771ec0f0 Prepare basic implementation of a sleep queue inside the keyboard driver 2014-01-29 22:16:10 +01:00
Baptiste Wicht
cc37f73ba4 Empty the list when it gets destroyed 2014-01-29 21:17:01 +01:00
Baptiste Wicht
ef5b61d199 Use a better way of setting the flags 2014-01-29 21:14:59 +01:00
Baptiste Wicht
d0567e166e Implement a stack 2014-01-29 20:59:39 +01:00
Baptiste Wicht
86dc1b2e9a Fix namespace 2014-01-29 20:43:05 +01:00
Baptiste Wicht
db94c0ae8c Use a queue for the semaphore 2014-01-29 20:42:49 +01:00
Baptiste Wicht
9feb5c8ffb Draft of keyboard driver 2014-01-29 19:28:24 +01:00
Baptiste Wicht
3dbeaf7480 Review process structures 2014-01-29 17:28:35 +01:00
Baptiste Wicht
51b7afef9e Use std::list instead of std::vector 2014-01-29 14:43:24 +01:00
Baptiste Wicht
1b40329be0 Implement a simple doubly linked list 2014-01-29 14:43:13 +01:00
Baptiste Wicht
68710baba1 Small fix 2014-01-29 14:28:46 +01:00
Baptiste Wicht
e20a4fb164 Cleanup TODOS 2014-01-28 22:28:36 +01:00
Baptiste Wicht
2d0413f0ca Remove old TODO 2014-01-28 22:22:13 +01:00
Baptiste Wicht
03f68b57a9 Finalize code 2014-01-28 22:19:59 +01:00
Baptiste Wicht
96e4fc590c Clean the code using a lock guard 2014-01-28 22:10:18 +01:00
Baptiste Wicht
e0ee4266b8 Basic implementation of semaphore 2014-01-28 22:06:27 +01:00
Baptiste Wicht
e66e92ae5b Fix state switching 2014-01-28 21:15:05 +01:00
Baptiste Wicht
c16b3e39cf Handle state of processes 2014-01-28 20:48:31 +01:00
Baptiste Wicht
4292c3dda4 Prepare spinlock implementation 2014-01-28 20:40:35 +01:00
Baptiste Wicht
9553df403e Fix warning 2014-01-28 20:38:43 +01:00
Baptiste Wicht
71c1140291 Define more robust coalescing
Use left and right bit indicators to see if the block has a left, respectively a right block. Use these indicators in coalescing instead of checking for a range [min,max]
2014-01-28 08:41:38 +01:00
Baptiste Wicht
63cca5b4e6 Cleanup 2014-01-28 08:27:04 +01:00
Baptiste Wicht
3fb29dab1c Merge branch 'develop' of github.com:wichtounet/thor-os into develop
Conflicts:
	cpp.mk
2014-01-28 08:05:54 +01:00
Baptiste Wicht
96083e7559 Prepare new programs 2014-01-27 23:01:09 +01:00
Baptiste Wicht
bf52b10ac8 Allow to launch several programs in parallel 2014-01-27 23:01:02 +01:00
Baptiste Wicht
3f1d9d7390 Allow malloc to handle blocks of size > MIN_BLOCKS 2014-01-27 22:53:38 +01:00
Baptiste Wicht
5e69e9c8ff Fix linking of user programs 2014-01-27 22:33:03 +01:00
Baptiste Wicht
e8daa72dc0 Save all regs 2014-01-27 22:30:42 +01:00
Baptiste Wicht
562119e450 Improve scheduling 2014-01-27 22:23:23 +01:00
Baptiste Wicht
83f5fc67da Make proper scheduling 2014-01-27 22:06:02 +01:00
Baptiste Wicht
0a45d44291 Put the normal addresses back 2014-01-27 08:16:56 +01:00
Baptiste Wicht
79d483fa60 Fix the size of the executables 2014-01-27 08:16:47 +01:00
Baptiste Wicht
5f1113f6ef Prepare for later 2014-01-26 23:09:42 +01:00
Baptiste Wicht
ebc034bb94 Cleanup and prepare for a better switching system 2014-01-26 23:02:58 +01:00
Baptiste Wicht
19d8fe5c17 Cleanup the inline assembly 2014-01-26 21:58:21 +01:00
Baptiste Wicht
93c8da4751 Save rip and rsp before context switching 2014-01-26 21:52:26 +01:00
Baptiste Wicht
ad522bfbfb Propagate regs 2014-01-26 21:42:13 +01:00
Baptiste Wicht
ddf6cc8bf1 Fix 2014-01-26 21:37:24 +01:00
Baptiste Wicht
3374c08d55 Get reference to the values that are pushed on the stack by int 2014-01-26 21:36:33 +01:00
Baptiste Wicht
cff10164f3 Cleanup assembly 2014-01-26 21:26:40 +01:00
Baptiste Wicht
559ca93e8d Unify the regs that are saved by the kernel 2014-01-26 21:22:53 +01:00
Baptiste Wicht
545ed86680 Cleanup 2014-01-26 21:07:48 +01:00
Baptiste Wicht
4a1a8f3ed8 Make exit noreturn 2014-01-26 20:30:30 +01:00
Baptiste Wicht
56fff39601 Review damn linker script again... 2014-01-26 20:28:52 +01:00
Baptiste Wicht
479303a8e0 Enable timed rescheduling (on second basis for now) 2014-01-26 20:06:27 +01:00
Baptiste Wicht
9b9d6bea2d Allocate kernel user stacks in kernel memory space 2014-01-26 19:47:32 +01:00
Baptiste Wicht
5f88766c83 Move switching stuff to the scheduler 2014-01-26 19:27:38 +01:00
Baptiste Wicht
342d40c6f4 Implement basic scheduling 2014-01-26 17:42:04 +01:00