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
stefan
b78b2349eb
- add some error checks
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@234 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-05 06:07:39 +00:00
stefan
c8c3035a4d
- complete redesign of the APIC code
...
- MetalSVM detects the APIC and initializes the APIC timer
- If an a APIC is available, the PIC timer will be disabled
- SMP is currently not supported
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@233 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-04 20:15:39 +00:00
stefan
3570166889
- add missing file apic.h
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@208 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-10-27 10:18:46 +00:00
stefan
08cbc0a257
- add the first steps to support the (local and IO) APIC
...
- remove some typos in the comments
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@196 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-10-25 16:58:31 +00:00
stefan
c4ed163f9d
- cosmetic changes
...
- use inline functions instead of macros
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@158 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-09-11 11:29:30 +00:00
stefan
81df510743
- add comments
...
- use readable macros instead of constants
- use the same error number like newlib
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@156 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-09-10 22:18:55 +00:00
stefan
bb075ea130
- add macros for cache flushing and memory barriers
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@145 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-09-07 21:10:59 +00:00
stefan
6e0bbaf55e
- increase the readability by using macros instead of some hard-coded numbers
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@123 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-24 05:43:39 +00:00
stefan
7398111913
- add the definition "__KERNEL__" to avoid redifinition of ssize_t and off_t
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@120 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-22 10:08:38 +00:00
stefan
da2b895d68
- redesign of the initial ram disk
...
- now, we could map file in subdirectories
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@119 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-22 09:56:02 +00:00
stefan
5cfbfb5a32
- add a simple virtual filesystem and as simple initial ramdisk
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@102 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-17 21:20:03 +00:00
stefan
a6a9617775
- add the libc "newlib" and their support into MetalSVM
...
- programs could be load as module by the bootloader Grub
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@95 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-17 09:59:29 +00:00