Stefan Lankes
a3a8a9f5de
add signal handler to terminate thread
2017-05-01 14:04:21 +02:00
Stefan Lankes
99af5378d9
determine time to load a checkpoint
2017-05-01 13:26:32 +02:00
Stefan Lankes
b8982a225a
restore also the time stamp counter
2017-05-01 12:10:43 +02:00
Stefan Lankes
dd708d3917
add clock state to the checkpoint
2017-05-01 11:33:06 +02:00
Stefan Lankes
e1cf89fb45
reduce first checkpoint size, if we use KVM's dirty log mechanism
...
- before restoring a checkpoint, we load the elf binary
=> restores also read-only sections
2017-05-01 10:46:24 +02:00
Stefan Lankes
31f0df70be
add support of KVM's dirty page logging
2017-05-01 10:09:34 +02:00
Stefan Lankes
e8d0f09722
add link to Solo5
2017-04-30 16:14:51 +02:00
Stefan Lankes
c673b67d68
use per-default the optimized checkpoint strategy
2017-04-30 15:18:23 +02:00
Stefan Lankes
69c4537c97
remove synchronization problem
...
- fix wrong initialization of the pthread barrier
- remove obsolete code
2017-04-30 14:13:54 +02:00
Stefan Lankes
433476d59e
some code cleanups
2017-04-26 23:50:46 +02:00
Stefan Lankes
d9225271d5
add function print_registers, remove memory barriers
2017-04-24 21:41:55 +02:00
Stefan Lankes
1db47acc62
replace macro CHECKPOINT_VERBOSE by the variable verbose
2017-04-24 13:24:21 +02:00
Stefan Lankes
72c45ea859
remove compiler warnings
2017-04-24 13:04:53 +02:00
Stefan Lankes
5111d7c7e8
add memory barriers and an option to enable kernel-based deduplication
2017-04-24 11:26:35 +02:00
Stefan Lankes
cb5787256d
add check if the macro KVM_CAP_X2APIC_API is defined
2017-04-24 00:12:02 +02:00
Stefan Lankes
6a0331ab26
add support memory size above 2GB, add debug messages
2017-04-23 23:59:30 +02:00
Stefan Lankes
f4d566c161
remove typo
2017-04-22 12:56:30 +02:00
Stefan Lankes
95128e71d7
add macro CHECKPOINT_VERBOSE to evaluate our checkpoint technique
2017-04-22 12:00:56 +02:00
Stefan Lankes
e3da1b6d53
restore alos the mp and clock state
2017-04-21 21:24:58 +02:00
Stefan Lankes
711fadeb70
remove typo, use C99 type "bool"
2017-04-21 19:47:08 +02:00
Stefan Lankes
9867f9ba61
enabl tsc deadline time if available
2017-04-21 13:44:05 +02:00
Stefan Lankes
1751802e1a
remove typo in the for-loop
2017-04-20 23:57:38 +02:00
Stefan Lankes
fbd3a9ec89
restore also the state of the irq chip
2017-04-20 21:37:39 +02:00
Stefan Lankes
3c754de83a
restore also MSR registers
2017-04-20 10:45:54 +02:00
Stefan Lankes
faca0d3f8d
Merge branch 'devel' of github.com:RWTH-OS/HermitCore into devel
2017-04-18 00:29:12 +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
4851d8461a
add proof of concept to create checkpoints
...
- HERMIT_CHECKPOINT=x defines the period x (in seconds) to create
checkpoints
- by starting of an HermitCore application, uhyve checks
if an checkpoint is avaiable in the subdirectory
"checkpoint"
- uhyve starts the application from the latest checkpoint
2017-04-17 23:06:06 +02:00
Stefan Lankes
47f5261b94
remove compiler warnings
2017-04-03 23:54:46 +02:00
Stefan Lankes
016a206fbd
remove static initialization of BSS section, will be triggerd on demand
2017-04-03 23:38:01 +02:00
daniel-k
5f949d4acc
tools/uhyve: fix memory leak
2017-03-01 18:57:32 +01:00
daniel-k
728b465826
tools/uhyve: general refactoring
2017-03-01 18:57:27 +01:00
daniel-k
3942d62fe8
tools/uhyve: refactor syscalls definitions into new file
2017-03-01 18:48:45 +01:00
Stefan Lankes
9285e1f96f
increasing the readability of uhyve
2017-02-26 08:51:54 +01:00
Stefan Lankes
b73c9f268f
support loading of more than one elf segment
2017-02-25 18:51:50 +01:00
Stefan Lankes
421148b56c
add SMP support in uhyve
...
- HERMIT_CPUS specifies the number of cores
- HERMIT_MEM specifies the memory size
2017-02-25 17:23:21 +01:00
Stefan Lankes
954343128e
increasing the readability
...
- restructure the code and test it within a VM
2017-02-21 14:08:49 +01:00
daniel-k
d819930d7d
uhyve: improve readability
...
While going through the code I took the freedom to move stuff around to
improve readability. Most notably I replaced ioctl with macro that checks
for success, avoiding the if(ret == -1) err(...) pattern most of the time.
2017-01-20 18:58:28 +01:00
Stefan Lankes
eabac9fa79
don't close standard file descriptors (<=2)
2017-01-20 10:46:07 +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