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
Stefan Lankes
31ad08b7ae
Remap lapic and ioapic to the kernel space + some cosmetic changes
2011-02-21 08:36:06 +01:00