Commit graph

249 commits

Author SHA1 Message Date
Stefan Lankes
ed29ee444a minor optimization in our assembler code 2011-03-08 14:39:21 +01:00
Stefan Lankes
d201c4d1bc - add the support of the system call execve 2011-03-07 20:26:55 +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
80377e4ff3 redesign of the IO interface
=> do not create an additional task to dump kernel messages
2011-03-07 20:02:24 +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
3c0c9f2d1a use compiler flag -fno-builtin to disable ALL builtin functions 2011-03-04 07:35:24 +01:00
Stefan Lankes
8dd37885cb extending of our test program
=> using of the system call "execve"
2011-03-03 10:31:17 +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
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
9e082fcb68 move driver "/dev/null" to the directory "drivers/char" 2011-03-03 07:44:20 +01:00
Stefan Lankes
a27150b923 Fix bug in system call "fork"
- issues: memory leak
2011-03-02 23:08:01 +01:00
Stefan Lankes
d4d7ff3aec remove obsolete file 2011-03-02 15:42:22 +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
e5031e872e add in libgloss the support of the system calls "read" and "wait" 2011-03-02 06:31:14 +01:00
Stefan Lankes
cf078ec359 add a function to read the instruction pointer 2011-03-02 06:28:50 +01:00
Stefan Lankes
136afedbda ignore *.pcap and *.img files 2011-03-02 05:36:06 +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
00a4e0e5ab rename example (test_fork => tests) 2011-02-28 12:22:49 +01:00
Stefan Lankes
78cd455b20 seperate type declaration and implementation 2011-02-28 12:16:27 +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
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
b4884cde2d add a function to change the pape permissions 2011-02-24 09:36:05 +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
a178734377 Add constants, which defines the permissions on sections in the program header. 2011-02-22 21:04:15 +01:00
Stefan Lankes
2e6e1c78ea using of a clear seperation between code and data 2011-02-22 14:03:22 +01:00
Stefan Lankes
31ad08b7ae Remap lapic and ioapic to the kernel space + some cosmetic changes 2011-02-21 08:36:06 +01:00
Stefan Lankes
09a2ea194a add some additional output messages 2011-02-21 08:34:38 +01:00
Stefan Lankes
c355adb300 create a new pgd for each process 2011-02-18 21:20:15 +01:00
Stefan Lankes
da3a81b471 create initrd only on demand 2011-02-18 21:15:16 +01:00
Stefan Lankes
444da0f65b use the corrcet year in the copyright statement 2011-02-18 10:04:13 +01:00
Stefan Lankes
f3bbe9fa91 guarantee that for the symbol file the execution flag is not set 2011-02-18 10:01:11 +01:00
Stefan Lankes
5f99201f9e add support of the system call "fork" in libgloss 2011-02-18 10:00:09 +01:00
Stefan Lankes
520924b5d9 Merge branch 'master' of git.lfbs.rwth-aachen.de:metalsvm into fork 2011-02-17 17:01:55 +01:00
Stefan Lankes
b268a92319 fix issues by building MetalSVM on a x86_64 system 2011-02-17 07:37:53 -08:00
Stefan Lankes
c611b609c1 create a seperate symbol-file to decrease the size of the executables files 2011-02-17 09:25:40 +01:00
Stefan Lankes
833513397f add a label qemu to start qemu with "our" default parameters 2011-02-17 09:24:48 +01:00
Stefan Lankes
769502c840 use -O2 to optimize newlib 2011-02-16 22:38:14 +01:00