Stefan Lankes
02cf1d87f2
resolve some merge conflicts
2011-04-14 08:58:07 +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
eeb49cdb90
add the SCC support of a initial ramdisk
2011-04-13 11:03:34 -07:00
Stefan Lankes
ba1388c13d
Merge branch 'master' of git.lfbs.rwth-aachen.de:metalsvm into rcce
2011-04-08 07:26:55 -07:00
Stefan Lankes
8868900e19
redesign of nested if flag handling
...
=> only clearing and setting of the IF flag
2011-04-08 16:02:28 +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
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
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
ed29ee444a
minor optimization in our assembler code
2011-03-08 14:39:21 +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
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
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
c355adb300
create a new pgd for each process
2011-02-18 21:20:15 +01: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
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
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
stefan
f28fd84c68
- redesign of the apic code
...
- add ioapic support
- currently, all irq will forwarded to the boot processor
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@293 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-29 02:39:10 +00:00
stefan
645ce10ed4
- cleanup pci code
...
- add function to determine the iobase address and the irq number of a specific device
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@291 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-27 17:28:32 +00:00
stefan
bc67c946af
- add APIC support for the SCC
...
- seems to work, only the APIC timer doesn't work!
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@273 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-26 05:33:02 +00:00
stefan
0419142d83
- add an inline C function for the assembler operation CL1FLUSHMB
...
- works only on the SCC
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@269 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-24 22:00:03 +00:00
stefan
6346f54594
- redesign of the function cpuid to avoid unintentional overriding of registers
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@268 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-24 19:05:04 +00:00
stefan
02ffdc2796
- add special memcpy functions for the RockCreek processor (aka SCC)
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@235 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-05 06:14:51 +00:00