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
e9e2a0bd01
add the support of the system call "execve" in our libgloss
2011-03-03 09:47:14 +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
6772524b08
change copyright statement
...
=> using of a public domain license
2011-03-02 05:32:25 +01:00
Stefan Lankes
8aff78ff48
include task.h, which is needed by our mailbox
2011-03-01 07:50:42 +01:00
Stefan Lankes
78cd455b20
seperate type declaration and implementation
2011-02-28 12:16:27 +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
54d636d25c
after process termination, the PGD and its PGTs will be freed
2011-02-24 18:32:58 +01:00
Stefan Lankes
c5b650fc32
add the support of the VMA list into the kernel
...
- after process termination, this list is used to free the allocated memory regions
2011-02-24 09:37:31 +01:00
Stefan Lankes
ae52943045
seperate the declaration of the data type spinlock and the implementation of a spinlock
2011-02-24 09:33:02 +01:00
Stefan Lankes
3aaa2406de
add a VMA list, which holds each virtual memory region of a user-level process
2011-02-24 09:29:38 +01:00
Stefan Lankes
5f99201f9e
add support of the system call "fork" in libgloss
2011-02-18 10:00:09 +01: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
9a7e2a89b9
- add forgotten files to the project
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@327 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-12-10 06:19:18 +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
6f8e291f45
- by default we enable the PCI support
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@298 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-30 06:07:40 +00:00
stefan
2df0313f16
- remove obsolete ;
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@294 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-30 01:16:04 +00:00
stefan
94ae01747c
- avoid needless using of reschedule
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@267 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-24 19:00:46 +00:00
stefan
3683e9c84c
- use uint32_t instead of an int to detect the processor frequency
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@254 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-11-13 13:04:57 +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
9cbe8781b2
- add implementation of ksprintf and ksnprintf
...
- remove some typos
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@201 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-10-26 08:09:43 +00:00
stefan
ae16dc414b
- remove some typos in the comments
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@197 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-10-25 16:59:23 +00:00
stefan
b0e600da99
- prepare MetalSVM for multicore environments
...
- create the variable current_task on each core
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@159 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-09-12 14:45:03 +00:00
stefan
17c61b4a23
- update of the example files
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@157 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-09-10 22:24:02 +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
a75d5932e5
- add kflush to force all write operations
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@149 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-09-08 07:23:36 +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
2942194e56
- add the support of strncmp
...
- simplify the implementation of strcmp
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@104 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-18 06:43:16 +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
27e1aee7ef
- add missing files
...
- update of the configure example
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@98 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-17 10:25:50 +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
stefan
059867699b
- minor modifications (only some Makefiles and wrapper definitions) to build lwip for the SCC
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@78 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-11 17:59:21 +00:00
stefan
8480f4f7bf
- update of the example config file
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@65 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-11 05:53:33 +00:00
stefan
3131e0a9bf
- prepare file for architecture specific code
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@58 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-10 11:25:33 +00:00
stefan
90588f58ae
- add assembler functions for memcpy and memset
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@55 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-10 09:10:48 +00:00
stefan
ea6658a2ab
- add the function spinlock_has_lock to avoid nested blocking
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@52 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-09 17:31:11 +00:00
stefan
311b32aef8
- add macro for a static initialization of a semaphore
...
- create a special process which reads the kernel messages from a buffer and dump them on the screen
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@51 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-09 15:43:45 +00:00
stefan
52cf282835
- minor update
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@49 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-09 13:25:01 +00:00
stefan
9754bffcc0
- redesign of the atomic operations
...
- now, we use a ticket lock
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@48 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-09 13:22:03 +00:00
stefan
71188c92f9
- complete restart of the project
...
- support of TSS-based task switching
- add a mailbox template
- suport of user level task
- support of system calls
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@47 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-09 11:47:51 +00:00
stefan
7294c47c98
- add code to detect pci interfaces
...
- code restructuring
- remove some typos in debug messages
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@42 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-05 11:53:02 +00:00
stefan
6a45b433ea
- realize a mailbox with a variable buffer size
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@40 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-04 18:00:33 +00:00
stefan
507e2afe3b
- remove obsolete file
...
=> include directly <asm/irq.h>
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@39 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-04 17:22:58 +00:00
stefan
39e8b7e461
- add some additional error checks
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@38 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-04 17:21:25 +00:00
stefan
9839840e89
- simplify the code by defining the new task status TASK_IDLE
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@36 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-04 16:28:59 +00:00
stefan
7709a0f466
- cosmetic changes
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@32 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-04 11:19:56 +00:00
stefan
3fb741a0f8
- update of our example configuration file
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@31 315a16e6-25f9-4109-90ae-ca3045a26c18
2010-08-04 11:18:04 +00:00