Stefan Lankes
9d843a5e09
reduce obsolete lines and additional output messages
2012-06-10 08:54:08 +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
fc0c903de3
reduce overhead to determine TSS
2012-05-23 11:19:46 -07:00
Stefan Lankes
50b8068a78
fix bug in inline assembler
2012-05-21 12:16:19 -07:00
Stefan Lankes
b9b962ea73
revise software multitasking
...
=> remove hardware multitasking
2012-05-21 15:04:05 +02:00
Jacek Galowicz
0984eb593f
Commented everything
2012-04-14 09:57:18 +02:00
Jacek Galowicz
43fc6c94e5
Removed DS, ES, FS and GS registers from task switch routines
2012-04-14 09:18:36 +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
49533df72e
Made the interrupt entry also safe the registers DS to GS.
...
This may be removed in the future for speed purposes.
2012-04-11 08:41:58 +02:00
Jacek Galowicz
72016236f1
Fixed two typos.
2012-04-02 14:55:29 +02:00
Jacek Galowicz
4e53aa6f95
Commented the PIT-initialization code to make it easier to understand.
2011-12-15 18:48:06 +01:00
Stefan Lankes
8551a9ea9a
use "nicer" function names
2011-10-10 06:23:00 +02:00
Stefan Lankes
8f4349ee51
minor optimizations
2011-10-09 21:03:31 -07:00
Stefan Lankes
8e6b00b42e
redesign of the interrupt handling
...
=> now, the eMAC device uses also LINT0
2011-10-09 13:04:13 -07:00
Stefan Lankes
5fe4f8895b
minor optimizations and additional output messages
2011-10-07 16:10:34 +02:00
Marian Ohligs
aecd3b1c8c
remove compiler warnings in drivers/char/stdio
2011-09-30 11:59:45 +02:00
Stefan Lankes
0285c6b6b7
remove obsolete debug messages
2011-09-22 21:37:57 +02:00
Stefan Lankes
e9ddfd0db2
dump current value of CR0
2011-09-22 21:36:29 +02:00
Stefan Lankes
50315a1d20
dump every minute the average cpu load
2011-09-22 10:58:03 +02:00
Marian Ohligs
df7d1cab87
- increase legibility (add kb_init & kb_finish)
2011-09-19 00:29:16 +02:00
Marian Ohligs
e572d1c502
Merge branch 'master' into ohligs
...
Conflicts:
kernel/init.c
kernel/tests.c
2011-09-09 21:23:15 +02:00
Stefan Lankes
c6339bfd2d
by leaving the interrupt handler, we check if an urgent task is ready
...
if yes, the kernel switchs to this task
2011-09-06 06:46:52 -07:00
Marian Ohligs
f6e1118cc9
Merge branch 'master' into ohligs
2011-09-01 22:48:25 +02:00
Stefan Lankes
470039bd17
remove wrong code to realize a fast lane for driver tasks
2011-09-01 21:31:44 +02:00
Marian Ohligs
ed5dba2672
Merge branch 'master' into ohligs
...
Conflicts:
kernel/tests.c
2011-08-29 14:52:23 +02:00
Stefan Lankes
38d26aecae
Merge branch 'master' into demo
2011-08-28 23:59:12 -07:00
Stefan Lankes
81d384b1b0
minor changes in the code style
2011-08-28 08:54:18 -07:00
Stefan Lankes
291aeabb8a
Fix huge bug! Idle task could handle its stack pointer wrong!
...
=> depending on the config file and the started apps, we got different failure
2011-08-28 08:42:39 -07:00
Stefan Lankes
4fe2562839
fine tuning by using the irq fast lane
2011-08-28 01:24:28 -07:00
Stefan Lankes
a748ac7257
Currently, only the SCC uses the fast lane for driver task
2011-08-27 23:18:29 -07:00
Stefan Lankes
c81c83e9ff
Merge remote branch 'origin/mailbox_integration' into demo
2011-08-27 08:07:43 -07:00
Stefan Lankes
3abf062ea0
add fast lane for driver task with higher priority
2011-08-27 07:02:45 -07:00
Marian Ohligs
6ee8ee2be5
Merge branch 'master' into ohligs
2011-08-26 21:20:01 +02:00
Stefan Lankes
297421e29d
remove compiler warnings
2011-08-26 03:10:40 -07:00
Marian Ohligs
6c126e96f0
- nicer output when typing
2011-08-25 14:05:11 +02:00
Marian Ohligs
378bce0ca1
- bug fix
2011-08-25 13:34:31 +02:00
Marian Ohligs
e9805be005
Merge branch 'master' into ohligs
...
Conflicts:
kernel/tasks.c
kernel/tests.c
2011-08-25 12:15:36 +02:00
Generic account for RWTHAachen Students
0d4ff65bcb
fix irq reset
2011-08-24 04:25:10 -07:00
Stefan Lankes
35621d72d1
first try to realize task stealing
2011-08-18 12:16:31 +02:00
Simon Pickartz
142e4892af
resolve merge conflicts
2011-08-17 23:32:39 -07:00
Stefan Lankes
4c9855c83a
redesign of the scheduler, defining of a runqueue per core
...
=> Currently, we work stealing isn't supported
2011-08-17 13:51:19 +02:00
Generic account for RWTHAachen Students
7bf0cf184c
only check irq status reg if irq_no = 124
2011-08-15 09:56:46 -07:00
Simon Pickartz
6892fa021a
testing remote interrupts
2011-08-13 17:14:01 -07:00
Simon Pickartz
67a85668fa
testing remote interrupts
2011-08-11 09:02:49 -07:00
Generic account for RWTHAachen Students
6995bb29e3
gic irqs seem to work now
2011-08-10 22:44:16 -07:00
Generic account for RWTHAachen Students
4b03e27a37
testing global interrupt controller
2011-08-10 00:21:21 -07:00
Simon Pickartz
d7175a72a9
testing remote interrupts
2011-08-09 14:54:30 -07:00