Stefan Lankes
e8a61a299b
add the possibility to page aligned memory regions
...
=> usefull for device drivers (DMA transfers)
2016-07-27 22:30:00 +02:00
Stefan Lankes
7b1dd26d42
remove redefinition of VIDEO_MEM_ADDR
2016-07-25 19:48:11 +02:00
Stefan Lankes
48ea69d86f
enable DHCP support
2016-07-25 19:47:08 +02:00
Stefan Lankes
f8b2636b59
determine upper limit of the usable memory
2016-07-25 19:45:02 +02:00
Stefan Lankes
f75dbe82b3
add single kernel support
...
HermitCore apps are directly bootable with the new loader
2016-07-25 08:04:02 +02:00
Stefan Lankes
85d6ccd8eb
add vga module to the libOS
2016-07-25 07:59:26 +02:00
Stefan Lankes
3d799af899
add VGA support
2016-07-25 07:57:33 +02:00
Stefan Lankes
7ab3648814
map physical memory address of the graphic adapter
2016-07-25 07:55:38 +02:00
Stefan Lankes
449824349b
if libc_sd is invalid, the system call open returns an error number
2016-07-25 07:50:34 +02:00
Stefan Lankes
52ad45072f
move image boundary to 2MB
...
=> which is a requirement of HermitCore's memory management
2016-07-25 07:47:51 +02:00
Stefan Lankes
1d23b3b8dc
remove obsolete line
2016-07-25 07:46:55 +02:00
Stefan Lankes
fabfd1067e
set max page size to 0x1000, which reduces the image size
2016-07-25 07:45:34 +02:00
Stefan Lankes
6c339c64d6
trampoline code doesn't longer enable SMEP
...
because old CPUs don't support this feature
2016-07-19 23:36:01 +02:00
Stefan Lankes
534170354e
Merge branch 'devel' of github.com:RWTH-OS/HermitCore into devel
2016-07-19 23:23:29 +02:00
Stefan Lankes
724a2cd70d
some code cleanups, the current version is just proof of concept
2016-07-19 23:19:14 +02:00
Stefan Lankes
66195c7795
add basic bootloader to support a non multi-kernel mode
...
=> HermitCore will support a classical unikernel mode
2016-07-18 23:06:40 +02:00
Stefan Lankes
6228598646
Merge branch 'devel' of github.com:RWTH-OS/HermitCore into devel
2016-07-05 12:36:39 +02:00
Stefan Lankes
bcaccc2e69
add checks to be sure that HermitCore receives the whole IP message
2016-07-05 12:35:36 +02:00
Stefan Lankes
b71faae53c
align memory to 8 byte, add patch for bug #39683
...
- Bug description: https://savannah.nongnu.org/bugs/index.php?39683
- Patch: http://git.savannah.gnu.org/cgit/lwip.git/commit/?id=8c1f834a4a9c21f454ee0c034d14df93c4bb4909
2016-07-05 12:34:59 +02:00
Stefan Lankes
25b360e589
remove some obsolete memory barries
2016-07-05 12:33:59 +02:00
Stefan Lankes
e32af9c2d6
Merge pull request #27 from daniel-k/pr/minor_fixes
...
Remove some compiler warnings
2016-07-01 23:09:57 +02:00
daniel-k
cd30d0969b
kernel/tasks: add missing include <asm/processor.h> for get_tls()
2016-07-01 20:33:26 +02:00
daniel-k
3d752ed737
kernel/main: get rid of unused variable warning
2016-07-01 20:33:26 +02:00
daniel-k
53331b3daa
hermit/tasks.h: typo
2016-07-01 20:33:26 +02:00
daniel-k
b3f156b7a5
hermit/stddef.h: remove excess ';'
2016-07-01 20:33:26 +02:00
Stefan Lankes
11c32c5676
move functions to serialize load and store operations to the headers
...
HermitCore supports only 64bit processors
=> all processors support sfence & co
=> no descision at runtime required
2016-07-01 19:45:27 +02:00
Stefan Lankes
bb1b451f13
remove obsolete staff to debug the driver
2016-06-30 22:49:34 +02:00
Stefan Lankes
ffc38104c9
add memory barriers, use __builtin_memcpy to improve the performance
2016-06-30 22:38:24 +02:00
Stefan Lankes
a3ed137f07
trampoline code doesn't longer enable SMEP
...
because old CPUs don't support this feature
2016-06-28 20:52:36 +02:00
Stefan Lankes
7d471b4691
use per default rdtsc instead of rdtscp
...
because old CPUs don't support the instruction rdtscp
2016-06-28 20:46:33 +02:00
Stefan Lankes
05da1694a1
add store barrier to avoid consistency problems
2016-06-28 13:50:05 +02:00
Stefan Lankes
5bdc732cd8
add support of old architectures, which doesn't support AVX
2016-06-27 19:13:40 +02:00
Stefan Lankes
f1ba1aa30f
Merge branch 'devel' of github.com:RWTH-OS/HermitCore into devel
2016-06-27 12:29:27 +02:00
Stefan Lankes
f3cbd83fd3
recommend to disable Linux NO_HZ feature
2016-06-27 12:28:38 +02:00
Stefan Lankes
3675ab6ec6
switch to Linux 4.5.6
2016-06-27 12:19:12 +02:00
Stefan Lankes
5782edd4eb
set MAX_APIC_CORES to MAX_CORES
...
- a separation of both values isn't meaningful
2016-06-25 14:45:24 +02:00
Stefan Lankes
995d88d7e4
remove obsolete macro LIBOS
2016-06-25 14:36:55 +02:00
Stefan Lankes
bb1e2d7d5f
Merge pull request #26 from daniel-k/devel
...
kernel/clone_task: also destroy interrupt stack on failure
2016-06-24 21:52:26 +02:00
daniel-k
74c3d4f0ba
kernel/create_task: also destroy interrupt stack on failure
2016-06-24 21:07:21 +02:00
daniel-k
0384aa3443
kernel/clone_task: also destroy interrupt stack on failure
2016-06-24 21:06:35 +02:00
Stefan Lankes
0ba2e482eb
Merge remote-tracking branch 'origin' into devel
2016-06-19 00:43:40 +02:00
Stefan Lankes
2b83259da6
Merge pull request #25 from daniel-k/xray
...
Thanks! This helps me...
2016-06-19 00:48:52 +02:00
daniel-k
dc1761a548
gitignore: add .pyc, .callgrind and .xray
2016-06-17 14:59:08 +02:00
daniel-k
088ccbb556
xray: add a conversion tool to visualize reports with kCacheGrind
2016-06-17 14:59:08 +02:00
Stefan Lankes
08658af9fc
update external libs
2016-06-10 18:51:10 +02:00
Stefan Lankes
a0fab89608
add additional debug message
2016-06-03 17:17:56 +02:00
Stefan Lankes
3dea76c4b9
add basic support of signal
...
currently, HermitCore is only able to raise signals to itself
2016-06-03 17:16:20 +02:00
Stefan Lankes
a2b36849d9
create for each task an interrupt stack table (IST1)
...
Currently, "user-level" code has to deactivate the red zone support.
To avoid this, we create an interrupt stack table (IST1), which is
the default stack for all interrupts. Consequently, the common stack
isn't touch by handling any interrupt and the red-zone could be used
for compiler optimizations.
By using IST1, nested interrupts (beside NMI) arn't longer supported.
But HermitCores doesn't rely on this support.
2016-06-03 06:24:46 +02:00
Stefan Lankes
b17b74fe49
fix cache line size to 64 byte
2016-06-02 17:11:22 +02:00
Stefan Lankes
d21bbeec74
switch to gcc 5.3.1
2016-06-02 10:22:20 +02:00