1
0
Fork 0
mirror of https://github.com/hermitcore/libhermit.git synced 2025-03-30 00:00:15 +01:00
Commit graph

45 commits

Author SHA1 Message Date
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