Simon Pickartz
1a8e06a365
add interface providing the free list to the hypervisor ( #101 )
...
Add an interface for sharing the free list with the hypervisor. This can be used to accelerate the cold migration of guests.
2018-09-04 13:09:23 +02:00
Stefan Lankes
1173c1b7fd
uses time stamp counter to calculate the uptime
2018-08-06 20:18:15 +02:00
Stefan Lankes
ce38ddd622
add support of huge pages
...
- the heap use huges pages to allocate memory
2018-08-01 23:59:42 +02:00
Stefan Lankes
748744cdf9
add basic gdb support for aarch64 ( #94 )
...
following kernel features are required:
- first page table (pl0) is located at a fix address
- unhandled page faults are forwarded to the hypervisor
2018-07-21 21:42:11 +02:00
Stefan Lankes
63bd7fa8b4
fix TLS initialization, disable the support of contiguous blocks
...
- fix TLS initialization on aarch64
- disable temporary the support of contiguous blocks on aarch64
- add possibility to dump a page table entries
- improve TLS test case
2018-06-29 10:28:10 +00:00
Stefan Lankes
f5fa1569d7
reserve larger heap, add gap for pci devices
2018-05-15 00:54:13 +02:00
Stefan Lankes
e26ec98b5a
revise code to increase the readability
2018-04-28 15:28:15 +02:00
Stefan Lankes
94499b33b8
simplify spinlock code to improve the readability
2018-04-28 15:24:44 +02:00
Stefan Lankes
4d694dcc68
avoid race between checking workqueues and calling halt
...
between checking the workqueues and the calling halt instruction, a
process and the corresponding interrupt is able arrive and lost
2018-04-17 12:00:12 +02:00
Stefan Lankes
34e7895d0a
aarch64 support ( #84 )
...
- add initial support for aarch64
- SMP support is currently missing
- uhyve and kernel are tested on Libre AML-S905X-CC (https://libre.computer/products/boards/aml-s905x-cc/ )
- only GICv2 support is integrated
2018-03-23 04:04:44 -04:00
Stefan Lankes
b3af314559
remove the dependencies on an array of boot stacks
...
- share one stack for all core during the boot process
- reduce the size of the BSS section
2017-11-26 12:48:00 +01:00
Stefan Lankes
8b170bb527
enable interrupts during busy waiting
2017-11-17 19:23:54 +01:00
Stefan Lankes
0e7de04c3d
use algorithm with complexity of O(1) to wakeup a task
2017-10-18 22:24:32 +02:00
Stefan Lankes
5a0d66d1ee
increasing the readability
2017-09-24 00:12:26 +02:00
Stefan Lankes
c6157e3ef7
use interrupts to notifiy incoming packets
...
=> avoid busy waiting in uhyve's network adapter
2017-09-18 00:23:09 +02:00
Stefan Lankes
34c6fb83ef
add basic support of isxdigit
2017-09-03 10:48:22 +02:00
Stefan Lankes
abeae7ac0b
remove obsolete global variable "kernel_stack"
2017-08-03 15:18:43 +02:00
Stefan Lankes
437f445ed8
fix typos, fix meaing of PAGE_CEIL and PAGE_FLOOR
2017-07-15 16:24:08 +02:00
Stefan Lankes
fea0f31018
avoid busy waiting if the cpu feature mwait is missing
2017-06-07 21:54:28 +02:00
Stefan Lankes
ef91ecccfe
add original virtio header
...
- see http://ozlabs.org/~rusty/virtio-spec/virtio-0.9.5.pdf
2017-06-05 11:14:44 +02:00
Stefan Lankes
df5242a1a6
remove typo
2017-05-24 23:24:55 +02:00
Stefan Lankes
96d2f99aec
use for all locks 64bit atomics
2017-05-24 22:25:03 +02:00
Stefan Lankes
2e9b9c62a5
remove padding in buddy_t, align TLS to 32 byte
2017-05-23 23:15:17 +02:00
Stefan Lankes
cf0a25968f
check memory allocation without padding
2017-05-23 19:39:27 +02:00
Stefan Lankes
11b665d02d
remove scheduling check within a irqsave lock
2017-05-23 19:12:45 +02:00
Stefan Lankes
8047f898e2
add check in spinlocks if another task is ready
2017-05-21 23:41:50 +02:00
Stefan Lankes
3e5b8e65d3
add padding to align allocate memory to a 32 Byte boundary
...
- required to align memory for AVX usage
2017-05-11 11:27:17 +02:00
Stefan Lankes
940be14a0e
remove dependency from kernel_end
...
- this patch solves linker problems, if kernel_end located above 2GB
- in multi-kernel mode, it requires also a patch for Linux
2017-04-18 00:26:38 +02:00
Stefan Lankes
f26bbf90bf
define MAX_FNAME in config.h.in
2017-04-11 20:33:25 +02:00
Daniel Krebs
cec426a078
cmake: add intermediate target hermit-bootstrap to build with bootstrap compiler
2017-04-11 16:21:46 +02:00
Daniel Krebs
30021d5291
cmake: initial support for CMake build system
2017-04-03 18:14:56 +02:00
Stefan Lankes
c3a4a6e2df
enable a check if the HermitCore app depends on a proxy
2017-04-03 09:16:54 +02:00
Stefan Lankes
dbefde4927
remove obsolete pragma "undef"
2017-04-03 07:06:30 +02:00
Stefan Lankes
473cdb76d6
move architecture dependent functions to the subdirectory arch
2017-03-09 07:35:59 +01:00
Stefan Lankes
a65068e82e
use _ before the function name for internal functions
2017-03-08 22:42:38 +01:00
Stefan Lankes
589867d293
rename functions to avoid collisions with newlib
2017-03-08 22:16:38 +01:00
Stefan Lankes
4a74e9306a
rename basic functions (e.g. memset) to avoid collisions with newlib
2017-03-08 00:48:06 +01:00
Stefan Lankes
8f9430f3fe
move architecture dependent part to a subdirectory of arch
2017-03-06 23:32:42 +01:00
Stefan Lankes
5236ff236e
use #if instead of #ifdef to simplify the config file
2017-03-04 08:48:32 +01:00
Stefan Lankes
2f6090a8d4
move platform dependent functions to the arch directory
2017-03-04 00:32:51 +01:00
Stefan Lankes
5c648f22c1
add draft to integrate a hypervisor directly in the proxy
...
- this reduce the overhead because the boot time is smaller in
comparsion to qemu
- furthermore, a more direct communication via VM_EXISTS is possible
- the current version doesn't support a network interface
The hypervisor based on KVM and is called uhyve. You could test the
hypervisor with following command:
HERMIT_ISLE=uhyve HERMIT_VERBOSE=1 tools/proxy usr/tests/hello
2017-01-16 18:47:13 +01:00
Stefan Lankes
84e0c3f7f6
move more marcos (CONFIG_VGA etc) to config.h
2016-12-03 00:44:32 +01:00
Stefan Lankes
0508470d4e
add definition of KMSG_SIZE
2016-12-03 00:44:32 +01:00
Stefan Lankes
643987ed90
add missing file
2016-12-03 00:44:32 +01:00
Stefan Lankes
a289acf440
add auto creation of config.h
2016-12-03 00:44:32 +01:00
Stefan Lankes
cadacc24ae
reserve at boot time a region for the heap
...
=> no race between stack und heap creation
2016-12-03 00:44:32 +01:00
Stefan Lankes
9d6375b8fb
decrease starting point of the heap
2016-12-03 00:44:32 +01:00
Stefan Lankes
f4012a1f55
define start address of the heap in config.h
2016-12-03 00:44:32 +01:00
Stefan Lankes
dfd4272d59
reodering of the directory structure
2016-12-03 00:43:49 +01:00