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 |
|
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 |
|