Commit graph

48 commits

Author SHA1 Message Date
Stefan Lankes
e0a112bc2a remove obsolete check for APIC support 2012-07-22 13:13:46 +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
Stefan Lankes
9d843a5e09 reduce obsolete lines and additional output messages 2012-06-10 08:54:08 +02:00
Stefan Lankes
b9b962ea73 revise software multitasking
=> remove hardware multitasking
2012-05-21 15:04:05 +02: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
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
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
Generic account for RWTHAachen Students
0d4ff65bcb fix irq reset 2011-08-24 04:25:10 -07:00
Simon Pickartz
142e4892af resolve merge conflicts 2011-08-17 23:32:39 -07: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
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
Stefan Lankes
fba32ec692 using of the correct data types
=> avoids some conflicts on other architectures
2011-07-30 17:34:30 +02:00
Simon Pickartz
f344f65769 mailbox-system thread-safe now 2011-07-23 12:27:08 -07:00
Simon Pickartz
6e14d56de8 mailbox does not support sendings to own mailbox 2011-07-18 01:14:18 -07:00
Stefan Lankes
a61607d2e7 add additional error messages 2011-07-12 10:26:50 -07:00
Simon Pickartz
f6fed124b6 use interrupts+anylength_call now 2011-06-09 04:23:17 -07:00
Generic account for RWTHAachen Students
fbd30d8f5a testing mail_check 2011-06-08 09:23:05 -07:00
Generic account for RWTHAachen Students
bba87c8e27 bug fix in mail_ping 2011-06-07 05:53:16 -07:00
Stefan Lankes
08f5153257 add the support of inter core interrupts 2011-05-17 08:13:20 -07:00
Stefan Lankes
68564c3238 Merge branch 'tests'
Conflicts:
	include/metalsvm/spinlock.h
	include/metalsvm/spinlock_types.h
	kernel/tasks.c
2011-04-18 15:36:22 +02:00
Stefan Lankes
68281c8ad0 cosmetic changes, minor code optimization 2011-04-18 15:10:24 +02:00
Jacek Galowicz
dfe2c817de Continued the small documentation journey.
Edited Doxyfile - will show static functions and vars now, because some
of them were interesting for documentation.
2011-04-04 11:27:49 +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
3ed27e697d - add some comments
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@236 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-05 06:51:19 +00:00
stefan
b78b2349eb - add some error checks
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@234 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-05 06:07:39 +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
0f72be1a9e - simplifies the array intialization
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@152 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-09-08 12:11:11 +00:00
stefan
6e0bbaf55e - increase the readability by using macros instead of some hard-coded numbers
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@123 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-24 05:43:39 +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
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
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