Commit graph

96 commits

Author SHA1 Message Date
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
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
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
Stefan Lankes
f3b620a9be add rudimental support of the system call times
- no full support of the POSIX API
- however, the libc function clock works correctly
2011-04-21 10:13:58 +02:00
Stefan Lankes
0c411fd702 add basic support of sbrk and fix bug in saving of the fpu context 2011-04-21 07:32:20 +02:00
Stefan Lankes
7cb05d8f4a first version to support the FPU
- seems to work
- currently, we didn't support SIMD instructions
2011-04-21 07:32:10 +02:00
Stefan Lankes
d8ad0b8dce add space to store the FPU context 2011-04-21 07:31:46 +02:00
Stefan Lankes
23313590be use logical operations instead of / and % to increase the performance 2011-04-21 07:31:45 +02:00
Stefan Lankes
ed22678011 add code to initialize (i)RCCE and to test RCCE 2011-04-21 07:31:44 +02: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
e94c31d03b add a new IRQ save spinlock implementation
- avoids a deadlock
- usable in a interrupt handler
2011-04-18 15:12:18 +02:00
Stefan Lankes
b5908af744 Merge branch 'master' of git.lfbs.rwth-aachen.de:metalsvm into doxygen
Conflicts:
	.gitignore
	arch/x86/include/asm/apic.h
	arch/x86/include/asm/page.h
	arch/x86/include/asm/processor.h
	arch/x86/kernel/idt.c
2011-04-14 08:40:52 +02:00
Stefan Lankes
a9ce93d119 define the macro SCC_BOOTINFO, which defines the address of the boot parameters 2011-04-13 11:10:47 -07:00
Stefan Lankes
f0e4a2b833 add the support of the memory type MPBT
=> seesection "10.1.2 Internal Cache Changes" of SCC External Architecture Specification (R1.1)
2011-04-05 23:43:44 -07:00
Jacek Galowicz
6c6d77cfa6 Committed the rest. There is only few stuff missing.
Embedded nice pictures.
2011-04-05 14:44:42 +02:00
Jacek Galowicz
f411498368 Commented another bunch of header files. 2011-04-04 18:12:08 +02:00
Stefan Lankes
ffe0c1d806 add standard C function strtoul 2011-04-04 08:51:15 +02:00
Stefan Lankes
cb75bf1d87 specify SCC's memory layout in the config file 2011-03-25 20:39:05 +01:00
Stefan Lankes
4efaedd33a fix typo in Makefile 2011-03-24 05:24:40 -07:00
Stefan Lankes
966338f590 add an example for the RCCE settings 2011-03-24 11:28:26 +01:00
Stefan Lankes
c738a64d57 integration of RCCE in MetalSVM (untested version)
Attention: currently, MetalSVM didn't support the floating point unit

=> no using of RCCE_wtime
=> no using of the data type RCCE_double
=> RCCE_init expect an integer value as frequency in MHZ
2011-03-24 11:21:38 +01:00
Stefan Lankes
1d8810aa91 add rudimental support of basic C functions
- isacii
- islower
- isupper
- toascii
- isspace
- isdigit
- tolower
- toupper
- strtol
- atoi
2011-03-24 11:01:59 +01:00
Stefan Lankes
2d9ba6ae70 forwarding arguments to the new tasks 2011-03-08 23:12:38 +01:00
Stefan Lankes
d201c4d1bc - add the support of the system call execve 2011-03-07 20:26:55 +01:00
Stefan Lankes
6f092641ba remove memory leak and redesign of the internal memory accounting 2011-03-04 22:44:53 +01:00
Stefan Lankes
56ee331596 add nested spinlocks
- required to avoid deadlocks
2011-03-04 11:38:40 +01:00
Stefan Lankes
e9e2a0bd01 add the support of the system call "execve" in our libgloss 2011-03-03 09:47:14 +01:00
Stefan Lankes
5ce3ed9338 First steps to support the system calls "fork" and "wait"
- Currently, the system call "fork" doesn't work and has a memory leak
- However, it is a good starting point for further developments.
2011-03-02 13:49:36 +01:00
Stefan Lankes
6772524b08 change copyright statement
=> using of a public domain license
2011-03-02 05:32:25 +01:00
Stefan Lankes
8aff78ff48 include task.h, which is needed by our mailbox 2011-03-01 07:50:42 +01:00
Stefan Lankes
78cd455b20 seperate type declaration and implementation 2011-02-28 12:16:27 +01:00
Stefan Lankes
17193475bb use a spinlock for each PGD
increases also the useability of vm_alloc and vm_free
2011-02-24 19:06:32 +01:00
Stefan Lankes
54d636d25c after process termination, the PGD and its PGTs will be freed 2011-02-24 18:32:58 +01:00
Stefan Lankes
c5b650fc32 add the support of the VMA list into the kernel
- after process termination, this list is used to free the allocated memory regions
2011-02-24 09:37:31 +01:00
Stefan Lankes
ae52943045 seperate the declaration of the data type spinlock and the implementation of a spinlock 2011-02-24 09:33:02 +01:00
Stefan Lankes
3aaa2406de add a VMA list, which holds each virtual memory region of a user-level process 2011-02-24 09:29:38 +01:00
Stefan Lankes
5f99201f9e add support of the system call "fork" in libgloss 2011-02-18 10:00:09 +01:00
stefan
9a9df5ed2e - merge current eduOS branch to MetalSVM
=> add the support of "real" user-space applications, which could be loaded via initrd


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@394 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-02-08 18:37:56 +00:00
stefan
2bfc5a49dc - move 32bit elf header to arch/x86
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@376 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-01-19 07:04:50 +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
9a7e2a89b9 - add forgotten files to the project
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@327 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-12-10 06:19:18 +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