Commit graph

163 commits

Author SHA1 Message Date
Stefan Lankes
470039bd17 remove wrong code to realize a fast lane for driver tasks 2011-09-01 21:31:44 +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
Stefan Lankes
297421e29d remove compiler warnings 2011-08-26 03:10:40 -07: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
Stefan Lankes
a179ded21b redesign of the timers, support of timeouts in mailboxes and semaphores 2011-08-06 15:55:34 +02:00
Stefan Lankes
387ef0ea9b cosmetic changes 2011-08-04 16:48:04 +02:00
Stefan Lankes
22441375bb add blocking timers
only the idle tasks use the polling mode
2011-08-03 21:41:06 +02:00
Stefan Lankes
452aa3b1d1 cosmetic changes and add some scheduling statistics 2011-08-03 19:37:05 +02:00
Stefan Lankes
577300919c fix bug in search_apic and uses function to find the MP Config Table 2011-08-03 07:37:57 +02:00
Stefan Lankes
f4dd038ee5 save and restore segment registers
=> this fixed a bug in the system call "fork"
2011-08-02 12:33:08 -07:00
Stefan Lankes
d91b0d49c2 minor bug fix
=> search the MP Config Table below 1MB
2011-08-02 18:29:20 +02:00
Simon Pickartz
3275d8cc17 still testing remote interrupt 2011-08-01 14:24:46 -07: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
a26f88c940 cosmetic changes 2011-07-31 19:17:42 +02:00
Stefan Lankes
27ee238684 search MP table on all systems 2011-07-31 19:15:06 +02:00
Stefan Lankes
0410594ae8 fix bug in handling the timer interrupt
=> sending EOI before task switching
2011-07-30 22:47:27 +02:00
Stefan Lankes
5290cd0002 using of the correct data types
=> avoids some conflicts on other architectures
2011-07-30 22:46:08 +02:00
Stefan Lankes
fba32ec692 using of the correct data types
=> avoids some conflicts on other architectures
2011-07-30 17:34:30 +02:00
Stefan Lankes
30f84a4007 fix bug in irq handling 2011-07-30 17:28:09 +02:00
Simon Pickartz
f344f65769 mailbox-system thread-safe now 2011-07-23 12:27:08 -07:00
Stefan Lankes
ff2b9da103 do not longer search a MP table, if MAX_CORES is set to 1 2011-07-22 21:17:15 +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
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
a422926dda cosmetic changes 2011-07-19 09:23:55 +02:00
Stefan Lankes
d05ffcacac we use the same handler for exceptions and interrupts => interrupts has to push a virtual error code on the stack 2011-07-19 09:10:12 +02:00
Stefan Lankes
b1c5bf67c2 use a more robust method to find the MP table 2011-07-19 07:36:24 +02:00
Stefan Lankes
d203a070f4 add IPI support to flush the TLB on the other cores 2011-07-19 07:16:49 +02:00
Stefan Lankes
85768e6f58 fix bug in APIC code
=> before we enable the interrupts,  we map the APIC registers
2011-07-18 15:51:26 +02:00
Simon Pickartz
6e14d56de8 mailbox does not support sendings to own mailbox 2011-07-18 01:14:18 -07:00
Stefan Lankes
da8b078184 align timer_ticks to a cache line 2011-07-18 09:32:52 +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
ba1cbc97c8 on a SMP system, only the boot processor increases the timer value 2011-07-18 09:10:23 +02:00
Stefan Lankes
35ec905b7e move processor initialization code into the function cpu_init 2011-07-18 09:01:35 +02:00
Stefan Lankes
18ce8eff11 some code cleanups 2011-07-15 09:22:31 +02:00
Stefan Lankes
a61607d2e7 add additional error messages 2011-07-12 10:26:50 -07:00