11977e40bc
implemented userspace task loading and userpsace heap management with the new vma_list
2014-01-09 14:06:09 +01:00
d7644300a8
code cleanup of task creation and some additions to the previous commit
2014-01-09 13:59:01 +01:00
6699886358
changed vma_list order
2014-01-09 13:45:20 +01:00
88a2e573c6
replaced old 32bit only page_copy by new generic one
2014-01-09 13:33:21 +01:00
7a3e77c82d
palloc()/pfree() replace our old kmalloc()/kfree() with PAGE_SIZE granularity
2013-11-20 14:11:19 +01:00
1e98d0e410
added first implementation of a buddy system kmalloc() allocator
2013-11-20 14:11:18 +01:00
a972efe288
Merge branch 'vma_kernel' into vogel
...
Conflicts:
kernel/tasks.c
2013-11-20 14:00:04 +01:00
aa1730919e
standardized comment format and code cleanup
2013-11-20 12:03:24 +01:00
3cd5a5853b
added VMA list implementation
2013-11-20 11:26:55 +01:00
06877ff108
bitmap cleanup
2013-11-18 15:47:26 +01:00
fca96e9851
unified paging preprocessor #defines and naming scheme
2013-10-24 12:36:05 +02:00
Steffen Vogel
9b47b3ef45
refactored paging code to be more universial and suitable for 64bit paging
2013-10-16 17:50:37 +02:00
40e5d83217
Merge branch 'cleanup' into vogel
2013-10-10 11:51:31 +02:00
2e62ee2966
removed non-existant header asm/mmu.h
2013-10-10 11:45:03 +02:00
5424397b47
debug kernel messages over virtual uart port in qemu
...
use 'telnet localhost 12346' to listen
2013-10-10 11:39:41 +02:00
Stefan Lankes
e1c3ddbc8d
use irqsave page directory lock to avoid deadlocks
2012-09-10 13:41:00 +02:00
Stefan Lankes
c3bfbc6806
increase the default size of a mailbox
2012-09-10 09:46:07 +02:00
Stefan Lankes
c53942a9d0
remove some typos
2012-08-08 10:11:15 +02:00
Stefan Lankes
c4fdd6ca5c
update of the version number
2012-08-08 09:53:07 +02:00
Stefan Lankes
4775e5e11e
use static stacks only for the idle tasks
...
=> all other stacks will be created on demand
2012-07-19 22:07:59 +02:00
Stefan Lankes
47fae3de67
some code cleanups
2012-07-17 14:06:48 -07:00
Stefan Lankes
7082d0650f
add new functions to start tasks on a specific core
2012-07-16 21:53:41 +02:00
Stefan Lankes
ff676995f2
update of the version number
2012-07-16 13:19:06 +02:00
Stefan Lankes
288910b09c
add tickless option
2012-07-15 06:21:45 -07:00
Stefan Lankes
4ebfbdf63d
Merge branch 'master' into tickless
2012-07-14 13:28:08 -07:00
Jacek Galowicz
c0c6244690
Added Makefile.scc and config.h.scc - preconfigured for use on SCC
2012-07-13 08:02:19 +02:00
Stefan Lankes
24914fcb4f
add prototype of a tickless kernel
...
only by entering the kernel, the tick counter will be updated
=> by using this feature, MetalSVM supports only LwIP's raw interface,
because we have no guarantee that the tcpip thread will get computation time
=> no NETCONN & BSD socket support
=> no load balancing support
2012-07-03 16:46:54 +02:00
Jacek Galowicz
c7c58b9a30
Updated Doxygen config and texts.
2012-07-02 12:40:08 +02:00
Stefan Lankes
b3a0fd13a3
add support of old compilers, which does not define __SIZEOF_POINTER__
2012-06-13 02:03:00 -07:00
Stefan Lankes
e230fdcf15
usage of 64bit TSS descriptors and some code cleanups
2012-06-11 16:16:35 +02:00
Stefan Lankes
d21e707024
Merge remote-tracking branch 'origin/master' into x64_new
2012-05-24 12:05:14 +02:00
Stefan Lankes
45313d47f2
add build environment for 64bit code
...
=> environment build 64bit kernel, but the kernel is not tested!
=> work in progess
2012-05-24 10:49:45 +02:00
Jacek Galowicz
f8058bbee2
Made the makescript generate config.inc automatically.
2012-05-22 13:38:41 +02:00
Stefan Lankes
b9b962ea73
revise software multitasking
...
=> remove hardware multitasking
2012-05-21 15:04:05 +02:00
Stefan Lankes
b39a84e07f
Merge remote-tracking branch 'origin/ctx_switch' into x64_new
2012-05-17 14:45:34 +02:00
Stefan Lankes
ee4e23bff0
Merge branch 'master' into experiments
2012-04-24 00:38:42 -07:00
Stefan Lankes
0c4e177c1f
switch to a reentrant version of newlib and uses correct values for O_CREAT & Co
...
=> see include/metalsvm/fs.h and newlib/examples/hello.c
2012-04-23 21:23:49 +02:00
Jacek Galowicz
f4a7d6bd3a
The context is now switched by software.
...
- Cleanup to be done
- Arch_fork does NOT work in this state
- Multiprocessing support not yet implemented
2012-04-14 00:34:09 +02:00
Jacek Galowicz
f4950981b2
Added a define constant for task switching modes.
2012-04-09 20:02:21 +02:00
Stefan Lankes
cf76781baa
first steps to support affinity on the touch
2011-11-16 03:12:09 -08:00
Pablo Reble
a114e3997d
Merge branch 'svm', remote branch 'origin/svm' into svm
...
Conflicts:
arch/x86/mm/svm.c
2011-11-09 07:56:54 -08:00
Stefan Lankes
e9cbe88e21
Merge branch 'master', remote branch 'origin' into svm
2011-11-08 12:23:30 -08:00
Pablo Reble
7b6a2424e0
- implemented first draft of L2 flush
2011-11-08 09:22:49 -08:00
Jacek Galowicz
7db55b481d
Fixed a doxygen comment line.
2011-11-08 14:00:11 +01:00
Stefan Lankes
d9a4acdb22
do not longer use SHM_ADD
2011-11-07 12:23:32 -08:00
Marian Ohligs
d90d962201
add type FS_SOCKET, change locking rules, it's now possible to use more then one mshell at the same time.
2011-11-01 20:11:52 +01:00
Jacek Galowicz
098f3c48e1
Merge branch 'master' of git.lfbs.rwth-aachen.de:metalsvm
2011-10-24 19:27:12 +02:00
Jacek Galowicz
5a4bd9a069
Fixed some documentation errors across the project.
...
Changed some stuff in the doxyfile and added a directory structure for
future manual pages.
2011-10-24 19:26:27 +02:00
Stefan Lankes
60cfb9b586
using of clear function names
2011-10-20 06:28:14 -07:00
Stefan Lankes
69d2114654
add flag MAP_REMAP to remap already mapped paged with new attributes
2011-10-10 15:37:35 -07:00