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
ae1216f757
user a read barrier instead of a normal barrier to serialize calls of rdtsc
2012-07-19 08:28:23 +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
4e53aa6f95
Commented the PIT-initialization code to make it easier to understand.
2011-12-15 18:48:06 +01:00
Stefan Lankes
0285c6b6b7
remove obsolete debug messages
2011-09-22 21:37:57 +02:00
Stefan Lankes
50315a1d20
dump every minute the average cpu load
2011-09-22 10:58:03 +02:00
Stefan Lankes
c81c83e9ff
Merge remote branch 'origin/mailbox_integration' into demo
2011-08-27 08:07:43 -07:00
Stefan Lankes
297421e29d
remove compiler warnings
2011-08-26 03:10:40 -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
Stefan Lankes
a179ded21b
redesign of the timers, support of timeouts in mailboxes and semaphores
2011-08-06 15:55:34 +02:00
Stefan Lankes
22441375bb
add blocking timers
...
only the idle tasks use the polling mode
2011-08-03 21:41:06 +02:00
Simon Pickartz
3275d8cc17
still testing remote interrupt
2011-08-01 14:24:46 -07:00
Stefan Lankes
0410594ae8
fix bug in handling the timer interrupt
...
=> sending EOI before task switching
2011-07-30 22:47:27 +02:00
Simon Pickartz
f344f65769
mailbox-system thread-safe now
2011-07-23 12:27:08 -07:00
Stefan Lankes
ab37b024b0
simply the scheduler => move code from entry.asm to timer.c
2011-07-21 09:59:29 +02:00
Stefan Lankes
da8b078184
align timer_ticks to a cache line
2011-07-18 09:32:52 +02:00
Stefan Lankes
ba1cbc97c8
on a SMP system, only the boot processor increases the timer value
2011-07-18 09:10:23 +02:00
Stefan Lankes
08f5153257
add the support of inter core interrupts
2011-05-17 08:13:20 -07:00
Stefan Lankes
f3b620a9be
add rudimental support of the system call times
...
- no full support of the POSIX API
- however, the libc function clock works correctly
2011-04-21 10:13:58 +02:00
stefan
45219bce2e
- huge commit
...
- enable the paging support
- redesign of the APIC code
TODO:
- Currently, we are not able to start user-level applications.
- The RTL8139 driver does not longer work. Perhaps, a bug in the output function.
- The APIC codes doesn't work on all systems. Therefore, the code is currently disabled.
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@326 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-12-10 06:16:58 +00:00
stefan
f28fd84c68
- redesign of the apic code
...
- add ioapic support
- currently, all irq will forwarded to the boot processor
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@293 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-29 02:39:10 +00:00
stefan
bc67c946af
- add APIC support for the SCC
...
- seems to work, only the APIC timer doesn't work!
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@273 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-26 05:33:02 +00:00
stefan
c8c3035a4d
- complete redesign of the APIC code
...
- MetalSVM detects the APIC and initializes the APIC timer
- If an a APIC is available, the PIC timer will be disabled
- SMP is currently not supported
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@233 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-04 20:15:39 +00:00
stefan
08cbc0a257
- add the first steps to support the (local and IO) APIC
...
- remove some typos in the comments
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@196 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-10-25 16:58:31 +00:00
stefan
81df510743
- add comments
...
- use readable macros instead of constants
- use the same error number like newlib
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@156 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-09-10 22:18:55 +00:00
stefan
806ad22a8a
- remove bug
...
- the function timer_set_frequency ignored its parameter
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@150 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-09-08 08:36:02 +00:00
stefan
ffd61e14b0
- remove obsolete debug messages
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@50 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-09 13:30:00 +00:00
stefan
71188c92f9
- complete restart of the project
...
- support of TSS-based task switching
- add a mailbox template
- suport of user level task
- support of system calls
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@47 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-09 11:47:51 +00:00
stefan
7294c47c98
- add code to detect pci interfaces
...
- code restructuring
- remove some typos in debug messages
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@42 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-05 11:53:02 +00:00
stefan
507e2afe3b
- remove obsolete file
...
=> include directly <asm/irq.h>
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@39 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-04 17:22:58 +00:00
stefan
9825532c82
- remove obsolete files
...
- the function join_kernel_task delivers the return value of the task, which is watinting for
-spinlocks supports irq save functions
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@21 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-03 10:20:32 +00:00
stefan
44f4de6e80
- add an implementation of a semaphore and some test cases
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@18 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-02 19:05:33 +00:00
stefan
9778b7b790
- first steps to realize a SVM subsystem in a VM
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@2 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-07-31 15:53:30 +00:00