Commit graph

135 commits

Author SHA1 Message Date
Stefan Lankes
5e047d6b96 bug in ticket lock! => switch (temporary) to a "normal" spinlock 2011-08-26 03:11:58 -07:00
Stefan Lankes
9631d861c3 Merge branch 'libsocket' 2011-08-24 09:39:17 +02:00
Stefan Lankes
499f43bfaf add first version of the lazy release consistency 2011-08-23 14:03:34 -07:00
Stefan Lankes
0a0452b7a1 prepare SVM subsystem to support also other consitency modells 2011-08-23 07:40:20 -07:00
Stefan Lankes
016c4a1227 Merge branch 'master' into svm 2011-08-18 05:43:31 -07:00
Stefan Lankes
e9aa86ed51 fix bug in the MPB-specific memcpy functions
=> solves a problem in Simon's mailbox system
2011-08-18 05:38:23 -07:00
Stefan Lankes
35621d72d1 first try to realize task stealing 2011-08-18 12:16:31 +02:00
Stefan Lankes
93257508ee wakeup a blocked task on the core, which the task used during the last time slice 2011-08-17 15:09:59 +02:00
Stefan Lankes
6c1553ce0e fix conflict 2011-08-17 14:58:51 +02:00
Stefan Lankes
f3a817ee92 Merge branch 'master' into libsocket
Conflicts:
	include/metalsvm/tasks_types.h
	kernel/tests.c
2011-08-17 14:57:20 +02:00
Stefan Lankes
5661ee64e1 remove compiler warnings 2011-08-17 14:55:33 +02:00
Stefan Lankes
296e8e98f4 the idle priority doesn't longer possess an own runqueue
only the idle task uses this priority class
2011-08-17 14:49:12 +02: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
6e55a3a874 add some debug messages and remove obsolete macros 2011-08-16 16:08:04 -07:00
Stefan Lankes
a0bae35a88 add untested prototype of an SVM system 2011-08-16 03:29:54 -07:00
Stefan Lankes
62e7ead997 add SVM demo example and redesign of the SVM system 2011-08-15 07:16:12 -07:00
Stefan Lankes
926f90fc4f add LwIP errno variable in the context of the task 2011-08-10 08:17:32 +02:00
Stefan Lankes
c3fbc90b9e switch (partly) from a Apache License to a BSD License 2011-08-08 23:32:34 +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
40230ade50 avoid unneeded using of per_core macro 2011-08-03 21:38:40 +02:00
Stefan Lankes
452aa3b1d1 cosmetic changes and add some scheduling statistics 2011-08-03 19:37:05 +02:00
Stefan Lankes
026d5e264c use table_lock to avoid GPs during a task switch 2011-08-02 10:24:17 +02:00
Stefan Lankes
d5bfc4f28c avoid races on SMP systems
=> signalizes with a new flag, that a task switch is finished
2011-08-01 22:01:39 +02:00
Stefan Lankes
1f681afcb1 cosmetic changes 2011-07-30 17:29:43 +02: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
b228c2260f reduce the number of per_core calls 2011-07-21 09:58:42 +02:00
Stefan Lankes
28a535dbeb SMP version is currently buggy => please define MAX_CORES as 1 2011-07-20 09:51:50 +02:00
Stefan Lankes
e57a447fda minor changes in using the per_core macro, add additional output messages by an exception & cosmetic changes 2011-07-20 09:47:46 +02:00
Stefan Lankes
20c944b099 avoid a task migration during the calculation of the current task
=> temporary clearing the IF flag
2011-07-20 08:24:24 +02:00
Stefan Lankes
8e9accd6ed cosmetic changes 2011-07-19 09:58:40 +02:00
Stefan Lankes
e595fae384 add SMP support
- this is experimental version
- by setting MAX_CORES to 1, you are to disable the SMP support
2011-07-18 09:14:28 +02:00
Stefan Lankes
09b3655ea4 reserve a page for the boot code of the application processors 2011-07-18 09:13:33 +02:00
Stefan Lankes
dfe6759fc9 remove file 2011-07-04 13:07:24 -07:00
Stefan Lankes
227031a41c Merge branch 'master' into network 2011-07-04 11:41:21 -07:00
Stefan Lankes
e08f6a9d53 add UART support 2011-07-02 13:04:26 -07:00
Stefan Lankes
e1d3ac2ec5 remove obsolete code & minor optimizations 2011-06-29 12:31:32 -07:00
Stefan Lankes
4e89605b1f Merge branch 'master' into mailbox 2011-06-28 13:48:15 -07:00
Stefan Lankes
01a7530d63 use the FPGA registers to determine the number slots, which are used as private memory 2011-06-28 10:58:32 -07:00
root
c78b0e9f56 upgrade to newest metalsvm 2011-06-27 11:40:37 +02:00
root
a8b7141a8a sccedit 2011-06-20 14:45:45 +02:00
root
7e52c1a39e sccedit 2011-06-20 14:38:04 +02:00
Generic account for RWTHAachen Students
bba87c8e27 bug fix in mail_ping 2011-06-07 05:53:16 -07:00
Simon Pickartz
570b559b5e add mail_ping interrupt test-scenario 2011-06-07 12:38:35 +02:00
U-MobileHooK\Benedikt
1077a5a3ca initial commit 2011-06-04 09:27:30 +02:00
Stefan Lankes
e4b6c8a356 Merge branch 'svm' 2011-05-25 15:34:43 -07:00
Stefan Lankes
5d702411ab enable in RCCE the shared memory support 2011-05-25 15:28:20 -07:00
Jacek Galowicz
394befa3a8 Color management for procedures using vga_putchar
As seen in some BSD operating systems, you can now push and pop foreground and background colors onto a stack to change the colors you see on the screen whenever kprintf/kputchar is used.

This could become useful if one wants to see kernel space kprintfs in other colors than user space printfs or error messages in red and other debugging purposes.

Beware: This is just a small and dirty hack which protects the colorstack with locks and so on. But on task switching the color will not be switched. That makes different colors for different colors persistent for all the time difficult/impossible. But I considered adding colors to the task structures a bit overdone for a small debugging-help.

[Sorry for those commit-and-pull-back-mails. Forgot that I had this stuff on the master branch while pushing my own branch onto the server.]
2011-05-25 09:26:00 +02:00
Stefan Lankes
3a0e42eef1 add ping pong test and some bug fixes in the ICC part 2011-04-24 07:27:27 -07:00
Stefan Lankes
29ab43f289 First steps to realize Inter-Core-Communication via RCCE 2011-04-23 00:13:12 -07:00
Stefan Lankes
900c67c2a0 remove obsolete flags 2011-04-22 09:31:33 +02:00