bytesnake
b5920069c7
Support command line arguments.
...
It's now possible to set the environment variables with an argument. The
env var will be overridden. For instance to start
hello on an UHyve isle: `proxy run ./hello --isle uhyve -d`
2017-05-20 15:11:48 +02:00
bytesnake
937d064450
Fixed missing path in Uhyve
...
A missing path due to the isle kind shouldn't be treated as an error.
Add the clap library to support commands.
2017-05-20 14:35:38 +02:00
bytesnake
abbcee0b46
Replace the Isle variant with a proper Trait.
...
The proxy library was moved into an own directory. Then the IsleKind
enum was replaced with an Isle trait which is implemented by
qemu/multi/uhyve.
2017-05-20 14:12:31 +02:00
bytesnake
66332a1337
Add Cargo.lock to .gitignore
2017-05-15 11:46:29 +02:00
bytesnake
ee1682fa1a
Set the memsz in the kernel header correctly
...
The protocol structs should be packed. uHyve works now in single core
mode.
2017-05-15 11:38:28 +02:00
bytesnake
f1a58a1059
Switched to CMAKE, Improved error logging of QEMU
2017-05-13 13:11:45 +02:00
bytesnake
807c7498de
Merge remote-tracking branch 'upstream/devel' into devel
2017-05-12 11:15:29 +02:00
l_schmid
bf26275636
Move all files in dedicate to the root folder
2017-05-12 07:11:58 +02:00
l_schmid
0037839174
uHyve should work now
2017-05-11 23:11:00 +02:00
l_schmid
bb0e1f2a36
Improved error handling
...
The error::Error enum has changed to provide additional information,
especially about missing files and failed IOCTL commands.
2017-05-11 21:05:52 +02:00
l_schmid
d687208b01
Use of intended ioctl! syntax
...
The syntax ioctl!(write <fnc> with KVMIO, <id>; <type>) is shorter than
ioctl!(<fnc> with iow!(KVMIO, <id>; mem::size_of::<type>())). Futhermore
the filedescriptor of vcpu.rs was invalid, because the destructor of
File::from_raw was immediately called. The vcpu struct contains now
the copy of the fd in the Rust world, perhaps there is an easier way to
pass the fd to memmap.
2017-05-11 20:05:42 +02:00
l_schmid
5226d4a19a
The first isle is usable. This commit exists to check in a heavily WIP
...
version of the HermitCore proxy, rewritten in Rust. Any attempt to use
the current version in a serious manner should be avoided. The Multi and
UHyve isles aren't tested yet.
2017-05-09 23:49:13 +02:00
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
81ad968aee
remove asciinema files
2017-04-29 13:22:18 +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
aeccf4466b
add compiler flag "-pthread" to our proxy
2017-04-18 10:00:12 +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
09cf218db4
Merge pull request #62 from daniel-k/pr/cmake
...
Add CMake build system
2017-04-09 20:57:12 +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 Krebs
30021d5291
cmake: initial support for CMake build system
2017-04-03 18:14:56 +02:00
Daniel Krebs
eca8be0236
remove old Makefile/autotools based build system and debian scripts
2017-04-03 18:14:42 +02:00
Stefan Lankes
c3a4a6e2df
enable a check if the HermitCore app depends on a proxy
2017-04-03 09:16:54 +02:00
daniel-k
5f949d4acc
tools/uhyve: fix memory leak
2017-03-01 18:57:32 +01:00
daniel-k
76f9ad80f7
tools/uhyve-cpu: remove unused definition of _kvm_segment
2017-03-01 18:57:32 +01:00
daniel-k
eee932bab8
tools/proxy: use switch-case for monitor enum
2017-03-01 18:57:32 +01:00