Commit graph

67 commits

Author SHA1 Message Date
Stefan Lankes
9631d861c3 Merge branch 'libsocket' 2011-08-24 09:39:17 +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
a0bae35a88 add untested prototype of an SVM system 2011-08-16 03:29:54 -07:00
Stefan Lankes
e4a170938e create a special init task (initd), which spawns all other tasks 2011-08-06 15:52:47 +02:00
Stefan Lankes
452aa3b1d1 cosmetic changes and add some scheduling statistics 2011-08-03 19:37:05 +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
30aaa5fda3 review of Benedikt's virtual IP device 2011-07-04 13:02:19 -07:00
Stefan Lankes
227031a41c Merge branch 'master' into network 2011-07-04 11:41:21 -07:00
Stefan Lankes
de216756d1 move mailbox example to tests.c 2011-06-29 12:29:04 -07:00
Carl-Benedikt Krüger
551834b320 ... 2011-06-27 12:44:06 +02:00
root
7724b70d55 upgrade to newest metalsvm 2011-06-27 11:39:01 +02:00
root
0b9ee12d2d ... 2011-06-21 13:14:59 +02:00
root
1f7fba81dc ... 2011-06-20 19:04:43 +02:00
root
ab32443f5b ... 2011-06-20 18:56:55 +02:00
root
7725e374a9 ... 2011-06-20 18:25:47 +02: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
Simon Pickartz
7045bc208b merge 2011-06-08 05:00:52 -07:00
Simon Pickartz
f1aa9fa24c little mail test 2011-06-08 04:59:23 -07:00
Generic account for RWTHAachen Students
bba87c8e27 bug fix in mail_ping 2011-06-07 05:53:16 -07:00
Simon Pickartz
11e61b6816 add printfs 2011-05-31 05:47:16 -07:00
Simon Pickartz
4a1930fb9f bug fix 2011-05-31 04:29:20 -07:00
Simon Pickartz
3cf792d250 add mailbox test 2011-05-31 02:55:40 -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
08f5153257 add the support of inter core interrupts 2011-05-17 08:13:20 -07:00
Stefan Lankes
29ab43f289 First steps to realize Inter-Core-Communication via RCCE 2011-04-23 00:13:12 -07:00
Stefan Lankes
ba1388c13d Merge branch 'master' of git.lfbs.rwth-aachen.de:metalsvm into rcce 2011-04-08 07:26:55 -07:00
Stefan Lankes
d3ad7e1c66 move the call of scc_init to main function 2011-04-08 07:24:47 -07:00
Stefan Lankes
4d14ec6aa7 use HALT instead of NOP8 2011-04-08 16:02:24 +02:00
Stefan Lankes
5d94954d3a move koutput_init to the function lowlevel_init 2011-03-25 07:46:23 +01:00
Stefan Lankes
80377e4ff3 redesign of the IO interface
=> do not create an additional task to dump kernel messages
2011-03-07 20:02:24 +01:00
Stefan Lankes
1b85d32945 boot process dumps the initrd 2011-02-16 15:22:48 +01:00
Stefan Lankes
6bb932acf9 remove SVN specific commands 2011-02-16 14:20:16 +01:00
stefan
9d2b73c6cb - add a workaround to use paging and the apic at the same time
(we don't use __attribute__((optimize(0))))


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@366 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-01-05 20:12:07 +00:00
stefan
8646b56a63 - minor changes to support APIC
(currently, we got page fault by entering apic_calibration)
- first steps to realize a loader



git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@365 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-01-05 10:16:53 +00:00
stefan
ab442041c1 - remove bug in the network driver
=> now, we use correct irq number


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@334 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-12-13 21:58:46 +00: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
c3c7468208 - some code cleanup
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@301 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-30 19:47:46 +00:00
stefan
12bfcd2f87 - add lwIP-based echo and ping servers
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@297 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-30 06:06:28 +00:00
stefan
d741ef36c8 - now, get_cpu_frequency returns MHz instead of Hz
- more suitable for future architecture


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@266 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-24 18:58:42 +00:00
stefan
a0acab9861 - use %u instead of %d to print the processor frequency
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@255 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-14 10:38:31 +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
141c2c194e - add a unique build number
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@227 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-04 08:27:53 +00:00
stefan
ae16dc414b - remove some typos in the comments
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@197 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-10-25 16:59:23 +00:00
stefan
b0e600da99 - prepare MetalSVM for multicore environments
- create the variable current_task on each core


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@159 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-09-12 14:45:03 +00:00
stefan
da2b895d68 - redesign of the initial ram disk
- now, we could map file in subdirectories


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@119 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-22 09:56:02 +00:00
stefan
5cfbfb5a32 - add a simple virtual filesystem and as simple initial ramdisk
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@102 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-17 21:20:03 +00:00
stefan
a6a9617775 - add the libc "newlib" and their support into MetalSVM
- programs could be load as module by the bootloader Grub



git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@95 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-17 09:59:29 +00:00
stefan
585d6d01cf - first steps to realize a RCKPC driver
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@81 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-11 20:42:49 +00:00
stefan
7ae2d7a5f0 - move test cases in a seperate file
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@79 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-11 18:52:43 +00:00