bytesnake
c3b21897e1
Added connect command and redirect output.
2017-07-22 23:39:12 +02:00
bytesnake
9f8357f564
Reenabled logging for QEmu
2017-07-15 14:24:07 +02:00
bytesnake
71d004d315
More bugfixes; kill_daemon doesn't cause the client to crash anymore
2017-07-15 14:16:27 +02:00
bytesnake
18a589317f
New commands, QEmu awaits now the TCP connection
2017-06-30 17:48:15 +02:00
bytesnake
192b0c09fe
Forgot to remove hermit/hermit_env.rs.
2017-06-23 16:36:28 +02:00
bytesnake
1df43d36a3
Restructure the project.
...
The proxy is now splitted into an Hermit library and a daemon. The
daemon manages all isles and starts an Unix socket server at
/tmp/hermit_daemon. The command just sends packets to the daemon and
awaits their return. The protocol consists of the enums Action and
ActionResult. The encoding happens with serde and bincode.
2017-06-23 16:29:04 +02:00
bytesnake
bb5800abbe
The sregs are now set properly for all cpus.
2017-06-10 22:58:23 +02:00
bytesnake
e7c08c271c
Support memory and ncores conf, Extend MP support
2017-06-09 13:36:10 +02:00
bytesnake
4521e6ae07
First steps towards MP supported
2017-06-02 15:30:48 +02:00
bytesnake
cee53b2967
Don't send the subcommand as an argument to the VM.
2017-05-20 15:28:12 +02:00
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
Stefan Lankes
6a6e0b8d12
Merge branch 'devel' of github.com:RWTH-OS/HermitCore into devel
2017-05-11 11:28:34 +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
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
f0a504a99d
add *.ko to the list of ignored files
2017-05-04 22:51:28 +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
db8c81e6af
reduce animation speed
2017-04-29 09:57:39 +02:00
Stefan Lankes
8ad6994dc3
Merge branch 'devel' of github.com:RWTH-OS/HermitCore into devel
2017-04-29 09:51:47 +02:00
Stefan Lankes
ada6f90e2e
add animated gif
2017-04-29 09:51:24 +02:00
Stefan Lankes
74afa246cf
add link to local gif
2017-04-29 09:50:44 +02:00
Stefan Lankes
0d961146b0
remove asciinemia link
2017-04-29 09:49:16 +02:00
Stefan Lankes
d30d9d0860
add link to asciinema.org
2017-04-29 08:52:38 +02:00
Stefan Lankes
ecadf42c06
add link to the animated gif
2017-04-29 08:43:22 +02:00
Stefan Lankes
d06bdf8eaa
use for all examples the target as prefix for the installation directory
2017-04-29 00:43:24 +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