578 Commits

Author SHA1 Message Date
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
Baptiste Wicht
a192ed9613 Prepare scheduling 2014-01-26 17:18:57 +01:00
Baptiste Wicht
5be3be8b64 Don't forget to update CR3 2014-01-25 22:52:06 +01:00
Baptiste Wicht
ce03dff9d6 Fix small bug 2014-01-25 22:49:47 +01:00
Baptiste Wicht
accf794ed2 Cleanup 2014-01-25 22:45:57 +01:00
Baptiste Wicht
ab07bc5814 Finish user paging allocation 2014-01-25 22:40:46 +01:00
Baptiste Wicht
8617417e76 Avoid casting when possible 2014-01-25 21:23:15 +01:00
Baptiste Wicht
90182d6d66 Prepare user paging 2014-01-25 21:02:49 +01:00
Baptiste Wicht
ed1a47372e Make sure programs goes in PML4T entries > 0 2014-01-25 18:51:51 +01:00
Baptiste Wicht
447b2cb322 Don't let LD screws my executables sizes... 2014-01-25 18:48:02 +01:00
Baptiste Wicht
0c70d54352 Review linking of programs 2014-01-25 17:51:53 +01:00
Baptiste Wicht
9f69663ec5 Suspend boot if a problem happens during VESA boot 2014-01-24 22:46:04 +01:00
Baptiste Wicht
f1f92dcb86 Remove old code 2014-01-24 22:36:35 +01:00
Baptiste Wicht
416d7e284c Fix a bit more VESA 2014-01-24 22:35:29 +01:00
Baptiste Wicht
552f4bbfb7 Fix VESA 2014-01-24 22:33:19 +01:00