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
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
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
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
7984417029
some code cleanups
2017-02-25 17:21:14 +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
Stefan Lankes
8a4ef8efd0
check if the proxy use qemu before opening qemu's tmp files
2017-02-21 09:18:07 +01:00
Stefan Lankes
d878403daa
remove debug messages, delete temporary files
2017-02-20 22:25:28 +01:00
Stefan Lankes
984597d710
daemonize qemu
...
QEMU will not detach from standard IO until it is ready to receive
connections on any of its devices.
2017-02-20 22:14:21 +01:00
Stefan Lankes
9bd2e57597
add more debug messages
2017-02-20 21:03:34 +01:00
Stefan Lankes
948565dcc8
to debug the proxy log files will be temporally not removed
2017-02-20 20:32:33 +01:00
Stefan Lankes
5198e03f54
use PROXY_DEBUG to print some debug messages
2017-02-19 22:25:11 +01:00
Stefan Lankes
e5487b846d
check if log file is available
2017-02-19 22:11:47 +01:00
Stefan Lankes
dae37ee2b1
remove typos
2017-02-19 11:58:44 +01:00
Stefan Lankes
495b48e2cd
introduce HERMIT_MONITOR to establish the Qemu monitor
2017-02-19 11:54:31 +01:00
Stefan Lankes
60a176a2f3
start not always at position 0 to find the end of the field
2017-02-19 11:10:14 +01:00
Stefan Lankes
d18a6a72a5
introduce HERMIT_CAPTURE_NET to capture the network traffic
2017-02-19 10:56:24 +01:00
Stefan Lankes
182999e0b7
remove option to trace the network
2017-02-19 10:36:45 +01:00
Stefan Lankes
87bb8161ac
disable debug messsages
2017-02-18 23:53:46 +01:00
Stefan Lankes
92231f1629
add signal handler to determine if a child terminates
2017-02-18 23:15:16 +01:00
Stefan Lankes
79623cbaf4
dump log file as debug message to the screen
2017-02-18 22:21:53 +01:00
Stefan Lankes
ecd4b69529
add debug message
2017-02-18 22:12:01 +01:00
Stefan Lankes
266247f282
add debug messages
2017-02-18 21:58:33 +01:00
Stefan Lankes
91b0c128e8
add check if inotify_rm_watch failed
2017-02-18 13:23:43 +01:00
Stefan Lankes
d1058f28e9
add check if inotify_add_watch returns descriptor
2017-02-18 13:20:43 +01:00
Stefan Lankes
879368a3d0
add check if fork failed
2017-02-18 12:32:29 +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
81bff86f64
Merge branch 'production' into devel
2017-01-17 23:23:12 +01:00
Stefan Lankes
bca3f6a731
fix path to the loader
2017-01-17 22:55:42 +01:00
Stefan Lankes
2b5de6b513
create directory for all bins
2017-01-17 21:07:06 +01:00
Stefan Lankes
f847f7a0e8
add check that all binaries are build
2017-01-17 20:36:36 +01:00
Stefan Lankes
33f949aa47
create Makefiles by HermitCore configure script
2017-01-17 19:09:39 +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
b4df7442ea
remove compiler warnings
2016-12-03 00:44:32 +01:00
Stefan Lankes
dfd4272d59
reodering of the directory structure
2016-12-03 00:43:49 +01:00