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