Commit graph

531 commits

Author SHA1 Message Date
Stefan Lankes
ea5b7e4930 reset APIC before timer initialization 2011-04-08 16:02:01 +02:00
Stefan Lankes
e96a549349 more accurate calculation of the processor frequency 2011-04-08 16:01:54 +02:00
Stefan Lankes
030243f200 introduce the hlt instruction 2011-04-08 16:01:44 +02:00
Stefan Lankes
6b86f3c572 add the address of error status register 2011-04-08 16:01:36 +02:00
Stefan Lankes
683f8cca1e add macro to simplify the using of th hlt instruction 2011-04-06 05:38:44 -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
Stefan Lankes
e599063dd2 cosmetic changes 2011-04-05 11:37:20 +02:00
Stefan Lankes
b46664b375 increasing the readability 2011-04-05 11:33:41 +02:00
Stefan Lankes
e8abd6f336 minor improvements and cosmetic changes to increase the readability 2011-04-05 02:00:02 -07:00
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
Jacek Galowicz
f411498368 Commented another bunch of header files. 2011-04-04 18:12:08 +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
Jacek Galowicz
60fd07542f Documented GDT and IDT files and optimized doxygen-output by fixing
__attribute__ misparsings as structure names
2011-04-03 20:46:53 +02:00
Jacek Galowicz
6a9ca105f1 recently forgot to document page flags. This commit catches up. 2011-04-03 18:58:01 +02:00
Jacek Galowicz
1581d3e075 Added a doxyfile and documented arch/x86/include/asm/page.h 2011-04-01 20:13:26 +02: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