Marian Ohligs
e6ea52bc42
remove memory leak
2012-10-04 17:20:38 +02:00
Marian Ohligs
1f53f2d5ae
disable all lines to fix a memory leak causing a page fault.
2012-09-16 17:32:09 +02:00
Marian Ohligs
78ded06efa
test
2012-09-12 23:20:27 +02:00
Marian Ohligs
7d043bee07
increase readability
2012-09-12 18:02:27 +02:00
Marian Ohligs
0a29c633ad
remove memory leak
2012-09-12 15:42:07 +02:00
Stefan Lankes
2f64a5c772
replace tcpip_input by ethernet_input/ip_input
...
All MetalSVM drivers guarantee that the input function will be called in the context of the tcpip thread.
Therefore, we are able to use ethernet_input/ip_input instead of tcpip_input
2012-09-11 10:36:29 +02:00
Stefan Lankes
bffaf0bd57
on x64, disable the option to create user-level tasks
2012-09-10 15:39:51 +02:00
Stefan Lankes
e1c3ddbc8d
use irqsave page directory lock to avoid deadlocks
2012-09-10 13:41:00 +02:00
Stefan Lankes
5dd40e8978
some code cleanups
2012-08-01 14:52:31 +02:00
Stefan Lankes
31949d82d1
enable the support of the Intel's E1000 NIC
2012-07-26 09:13:42 +02:00
Stefan Lankes
7f7dd4585f
add the support of ELF64
2012-07-22 20:12:24 +02:00
Stefan Lankes
edadf16d7f
Merge branch 'master' into readwrite
2012-07-20 09:05:57 +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
da1d85cfd2
remove obsolete break condition
2012-07-19 00:25:16 +02:00
Stefan Lankes
837bc3ebe1
add config file tests.h, which specifies the starting apps
2012-07-16 21:55:42 +02:00
Stefan Lankes
7082d0650f
add new functions to start tasks on a specific core
2012-07-16 21:53:41 +02:00
Stefan Lankes
4255cc0a6b
add SCC-related stuff to support the tickless kernel
2012-07-03 10:58:20 -07: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
Stefan Lankes
e8ec97923f
remove typo
2012-06-11 17:41:04 +02:00
Stefan Lankes
c2935e2f66
remove "unsecure" usage of get_page in page_init
2012-06-10 11:53:33 +02:00
Stefan Lankes
227cc19890
add alpha version of x64 support
...
New features:
- support of kernel tasks in 64bit mode
- support of LwIP in 64bit mode
Missing features in 64bit mode
- user-level support
- APIC support => SMP support
To create a 64bit version of the MetalSVM kernel, the compiler flags “-m64 -mno-red-zone” and the assembler flags “-felf64” has to be used. Please use qemu-system-x86_64 as test platform.
Notice, metalsvm.elf is a 32bit ELF file. However, it contains (beside the startup code) only 64bit code. This is required because GRUB doesn’t boot 64bit ELF kernels. Therefore, for disassembling via objdump the flag “-M x86-64” has to be used.
2012-06-10 08:05:24 +02:00
Stefan Lankes
ed2186ee03
add init code, which jumps to 64bit mode and and calls main
2012-05-29 20:47:45 +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
Stefan Lankes
3d1facb657
Merge branch 'sw_switch'
2012-05-23 11:21:38 -07:00
Marian Ohligs
884dd08641
fix memory leak
2012-05-22 13:24:00 +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
Jacek Galowicz
9b36a72f5f
Wrote a benchmark for measuring the context switch time.
2012-04-15 19:40:51 +02:00
Jacek Galowicz
0984eb593f
Commented everything
2012-04-14 09:57:18 +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
Stefan Lankes
8ec1d0e817
fix deadlock in load_balancing
2012-02-24 06:47:41 +01:00
Generic account for RWTHAachen Students
adc10512ed
little changes in pingpong bench
2011-12-13 03:39:21 -08:00
Stefan Lankes
ef750e1c31
add debug message to determine the task id of the tcpip thread
2011-11-29 00:16:56 -08:00
Marian Ohligs
a834155cce
add readdir
2011-11-09 11:56:37 +01:00
Stefan Lankes
242738a3b8
increasing the readability
2011-10-31 19:17:25 +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
Marian Ohligs
0fa52c279c
add switch in stat syscall converting FS_TYPES in newlib st_mode types, enable stat in mshell
2011-10-12 11:41:32 +02:00
Stefan Lankes
e7fa5f90e5
enable virtual IP device
2011-10-10 13:21:39 -07:00
Stefan Lankes
07c068cae2
temporary disabling of the virtual IP device
2011-10-09 13:01:24 -07:00
Stefan Lankes
c90a533521
only by a context switch, the FPU registers are saved in the task context
2011-10-07 16:07:29 +02:00
Stefan Lankes
58c9e33e47
switch back to default tests
2011-10-06 11:07:37 -07:00
Stefan Lankes
bc451eac54
switch to netio example
2011-10-05 22:13:30 -07:00
Stefan Lankes
ee075fabf0
enable rlogind
2011-10-04 10:29:50 +02:00
Stefan Lankes
42602df6b0
insert init code for the mmnif device
2011-10-04 10:26:55 +02:00
Marian Ohligs
84d9058d7a
fix makefile
2011-09-30 11:55:26 +02:00
Marian Ohligs
bff21fdcad
tidy up syscall.c, add comments, add missing checks, fix bug in open
2011-09-30 11:48:13 +02:00