af9bda06f8
renamed mmu.h to memory.h as its not related to the MMU and contains
...
prototypes for memory.c
2014-01-09 16:20:18 +01:00
d5f60ef542
fixed two smaller bugs and some compiler warnings
2014-01-09 16:12:13 +01:00
6699886358
changed vma_list order
2014-01-09 13:45:20 +01:00
88a2e573c6
replaced old 32bit only page_copy by new generic one
2014-01-09 13:33:21 +01:00
494ee1299a
unified and extended pagefault exception handler
...
some cleanup
2014-01-09 13:32:00 +01:00
443ffdf012
replaced PAGE_ALIGN macro by PAGE_CEIL, PAGE_FLOOR pair
2013-12-03 15:29:05 +01:00
0153fb538d
removed old kmalloc()
2013-11-20 14:11:19 +01:00
954ccf1379
added malloc.c to Makefile
2013-11-20 14:11:19 +01:00
1e98d0e410
added first implementation of a buddy system kmalloc() allocator
2013-11-20 14:11:18 +01:00
a972efe288
Merge branch 'vma_kernel' into vogel
...
Conflicts:
kernel/tasks.c
2013-11-20 14:00:04 +01:00
aa1730919e
standardized comment format and code cleanup
2013-11-20 12:03:24 +01:00
79c4f2703e
setup kernelspace VMA list
2013-11-20 11:27:49 +01:00
3cd5a5853b
added VMA list implementation
2013-11-20 11:26:55 +01:00
df99b4dfff
some rewrite of mmu_init concerning the initialization of the memory bitmap
2013-11-20 11:18:10 +01:00
0d7aa3d0ca
allow memory initialization without multiboot mmap
2013-11-20 11:15:10 +01:00
06877ff108
bitmap cleanup
2013-11-18 15:47:26 +01:00
3e73d6384e
fixed regression
2013-10-17 13:09:20 +02:00
dac9b20c18
some comments cleaned up
2013-10-16 13:42:58 +02:00
Steffen Vogel
2e230a609e
added more output to vma_dump()
2013-10-10 11:50:38 +02:00
Steffen Vogel
2f02db8dc0
fixed typo
2013-10-10 11:46:04 +02:00
Stefan Lankes
4775e5e11e
use static stacks only for the idle tasks
...
=> all other stacks will be created on demand
2012-07-19 22:07:59 +02:00
Stefan Lankes
9d843a5e09
reduce obsolete lines and additional output messages
2012-06-10 08:54:08 +02:00
Stefan Lankes
227cc19890
add alpha version of x64 support
...
New features:
- support of kernel tasks in 64bit mode
- support of LwIP in 64bit mode
Missing features in 64bit mode
- user-level support
- APIC support => SMP support
To create a 64bit version of the MetalSVM kernel, the compiler flags “-m64 -mno-red-zone” and the assembler flags “-felf64” has to be used. Please use qemu-system-x86_64 as test platform.
Notice, metalsvm.elf is a 32bit ELF file. However, it contains (beside the startup code) only 64bit code. This is required because GRUB doesn’t boot 64bit ELF kernels. Therefore, for disassembling via objdump the flag “-M x86-64” has to be used.
2012-06-10 08:05:24 +02:00
Stefan Lankes
45313d47f2
add build environment for 64bit code
...
=> environment build 64bit kernel, but the kernel is not tested!
=> work in progess
2012-05-24 10:49:45 +02:00
Jacek Galowicz
0a577b9f7e
Fixed the pageframe allocation error introduced by
...
d641f5a211
This did only occur on the SCC: If someone allocated much memory and
wrote over it, it did affect the initrd...
2012-05-03 04:16:41 -07:00
Stefan Lankes
bfbd560f70
this fixes booting with initrd on qemu 1.0
...
patch submitted by Niels Ole Salscheider <niels_ole@salscheider-online.de>
2012-02-02 22:54:09 +01:00
Stefan Lankes
aacfcd31ed
do not longer support the sccMerge flag "-1slot"
2011-08-15 04:49:38 -07:00
Stefan Lankes
d641f5a211
fix bug in reading the FPGA registers to determine the size of the private memory
2011-08-15 02:53:01 -07:00
Stefan Lankes
fba32ec692
using of the correct data types
...
=> avoids some conflicts on other architectures
2011-07-30 17:34:30 +02:00
Stefan Lankes
09b3655ea4
reserve a page for the boot code of the application processors
2011-07-18 09:13:33 +02:00
Stefan Lankes
af2345d15c
remove typos and cosmetic changes
2011-06-28 13:45:12 -07:00
Stefan Lankes
01a7530d63
use the FPGA registers to determine the number slots, which are used as private memory
2011-06-28 10:58:32 -07:00
Stefan Lankes
cf6fdf4067
reducing the size of the kernel image by using unintialized global arrays
2011-06-22 08:38:49 +02:00
Stefan Lankes
7970899fd1
use HALT instead of NOP8
2011-05-17 08:12:56 -07:00
Stefan Lankes
29ab43f289
First steps to realize Inter-Core-Communication via RCCE
2011-04-23 00:13:12 -07:00
Stefan Lankes
900c67c2a0
remove obsolete flags
2011-04-22 09:31:33 +02:00
Stefan Lankes
df250721b5
use logical operation instead of / and % to increase the performance
2011-04-19 07:23:00 +02:00
Stefan Lankes
eeb49cdb90
add the SCC support of a initial ramdisk
2011-04-13 11:03:34 -07:00
Stefan Lankes
f9ec7ccadc
redesign of the SCC's init routines
2011-03-25 20:28:43 +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
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
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
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
bb34748589
- remove typo
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@405 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-02-10 13:01:29 +00:00
stefan
67d772b7fb
- add additional error checks
...
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@404 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-02-10 12:58:28 +00:00
stefan
308e023a85
- use non-recursive Makefiles
...
- this patch based on Florian Zeitz's hint
git-svn-id: http://svn.lfbs.rwth-aachen.de/svn/scc/trunk/MetalSVM@400 315a16e6-25f9-4109-90ae-ca3045a26c18
2011-02-09 19:13:40 +00: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
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