Commit graph

117 commits

Author SHA1 Message Date
Stefan Lankes
9918db81ec fix bugs in initialization of RCCE
at first, we have to enable paging and to disable caching for the configuration registers
2011-04-05 01:55:02 -07:00
Stefan Lankes
3729433b37 Fix bug in wrong using of synchronisation primitives
=> reported by Jacek...
2011-04-01 19:33:41 +02:00
Stefan Lankes
27ddfb29e6 set default frequency to 533 MHz 2011-04-01 00:26:14 -07:00
Stefan Lankes
f14c693e10 fix bug in the routine, which calculates the apic timer frequecy 2011-04-01 00:24:03 -07:00
Stefan Lankes
fb215aca47 redesign of the SCC bootloader and rename kernel file to metalsvm.elf 2011-03-31 12:50:42 -07:00
Stefan Lankes
017233d7df use .text instead of .code section 2011-03-31 12:38:04 -07:00
Stefan Lankes
edbc87a1fb add the MPB programm of the RCCE distribution to MetalSVM 2011-03-26 00:55:20 -07:00
Stefan Lankes
2fb15062da use only a int to specify the frequency in MHZ 2011-03-26 00:18:49 -07:00
Stefan Lankes
f9ec7ccadc redesign of the SCC's init routines 2011-03-25 20:28:43 +01:00
Stefan Lankes
ccb8e7c73a disable unsupported function RCCE_wtime 2011-03-24 11:39:36 +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
1a141d9dc9 create a separate directory for SCC specific code 2011-03-24 07:13:55 +01:00
Stefan Lankes
de9fb1fc65 use for debugging the normal C callig convention!
=> no using of compiler flags -fomit-frame-pointer
=> definition of the macro WITH_FRAME_POINTER
2011-03-22 22:11:43 +01:00
Stefan Lankes
ed29ee444a minor optimization in our assembler code 2011-03-08 14:39:21 +01:00
Stefan Lankes
fc407a3eda copy also the entries of the pgt container 2011-03-07 20:25:52 +01:00
Stefan Lankes
6613b13c1c cosmetic changes 2011-03-07 20:04:44 +01:00
Stefan Lankes
ec5c78fbb3 remove compiler warnings 2011-03-04 23:33:58 +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
c21b1bf8a2 remove compiler warnings 2011-03-04 22:42:41 +01:00
Stefan Lankes
08dd1852b6 create all page tables for the kernel space 2011-03-04 21:38:36 +01:00
Stefan Lankes
08b0207dc9 introduce a special PGD lock for the kernel space 2011-03-04 13:47:06 +01:00
Stefan Lankes
56ee331596 add nested spinlocks
- required to avoid deadlocks
2011-03-04 11:38:40 +01:00
Stefan Lankes
464f31a53b optimize the system call fork
- add a function to copy a physical page
=> reduce the using of vm_alloc and vm_free
2011-03-03 09:13:00 +01:00
Stefan Lankes
a27150b923 Fix bug in system call "fork"
- issues: memory leak
2011-03-02 23:08:01 +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
cf078ec359 add a function to read the instruction pointer 2011-03-02 06:28:50 +01:00
Stefan Lankes
6772524b08 change copyright statement
=> using of a public domain license
2011-03-02 05:32:25 +01:00
Stefan Lankes
187df97227 delete wrong comment 2011-02-24 19:08:51 +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
e157f93104 create also for kernel tasks a new PGD 2011-02-24 18:44:11 +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
6f23361bf5 include only required headers 2011-02-24 10:19:34 +01:00
Stefan Lankes
16efb49204 remove obsolete function arguments 2011-02-24 10:15:58 +01:00
Stefan Lankes
b4884cde2d add a function to change the pape permissions 2011-02-24 09:36:05 +01:00
Stefan Lankes
a178734377 Add constants, which defines the permissions on sections in the program header. 2011-02-22 21:04:15 +01:00
Stefan Lankes
31ad08b7ae Remap lapic and ioapic to the kernel space + some cosmetic changes 2011-02-21 08:36:06 +01:00
Stefan Lankes
c355adb300 create a new pgd for each process 2011-02-18 21:20:15 +01:00
Stefan Lankes
5fe9d5b3e9 Increasing the readability 2011-02-16 22:35:46 +01:00
Stefan Lankes
156bf8fa1b specify that our assembler code don't need an executable stack 2011-02-16 21:19:44 +01:00
stefan
308e023a85 - use non-recursive Makefiles
- this patch based on Florian Zeitz's hint


git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@400 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-02-09 19:13:40 +00:00
stefan
9130e9f03c - increasing the readability
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@396 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-02-09 07:07:07 +00:00
stefan
23ed873c24 - define jump_to_user_code as line function
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@395 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-02-08 19:47:49 +00: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
810b13f37e - use the function lapic_read instead of direct memory access to the apic entries
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@370 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-01-07 05:37:42 +00:00
stefan
15487b4817 - remove wrong multiplicator
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@369 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-01-07 05:34:48 +00:00
stefan
b921da960a - use the record scc_info to determine the cpu frequency
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@368 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-01-06 10:49:04 +00: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