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