Stefan Lankes
c5ecc2beec
only the multi-kernel version supports the kernel message buffer
...
=> remove dumping messages for the single-kernel version
2018-04-28 10:21:53 +02:00
Stefan Lankes
f11c948347
use UART device to print kernel messages
...
- HermitCore's message buffer isn't longer supported by uhyve
2018-04-28 10:13:06 +02:00
Simon Pickartz
59d0bfa956
uhyve migration support ( #89 )
...
- incremental/complete guest memory transfer via RDMA
- cold migration via RDMA
- live migration via RDMA (currently fixed number of iterations)
- complete guest memory transfer via TCP/IP (for compatibility)
2018-04-26 20:57:05 +02:00
Stefan Lankes
b789360af2
add basic SMP support, just jumping to smp_start
2018-04-24 20:45:28 +00:00
Stefan Lankes
15b5495f31
fix incompatibility issues to KVM API on a x86_64 processors
2018-04-24 22:14:41 +02:00
Stefan Lankes
7a6b06cb91
Merge branch 'devel' of github.com:RWTH-OS/HermitCore into devel
2018-04-24 21:53:41 +02:00
Stefan Lankes
a7707f46e3
initialize irq controller after all vcpu
...
- this is required to support aarch64
2018-04-24 19:48:55 +00:00
Stefan Lankes
80d5a008fc
Merge branch 'devel' of github.com:RWTH-OS/HermitCore into devel
2018-04-22 23:01:12 +02:00
Stefan Lankes
492cde7275
determine default architecture via uname
2018-04-22 16:47:28 +00:00
Stefan Lankes
288647de06
initialize seed for the generation of random numbers in sys_init
2018-04-21 07:23:57 +02:00
Stefan Lankes
2988496ef9
add some additional debug messages
2018-04-17 16:26:53 +02:00
Stefan Lankes
6028d05a41
wakeup remote core, if idle task is running on the remote core
...
=> avoid race by checking the status of the running task
2018-04-17 15:50:44 +02:00
Stefan Lankes
9d9e4d5395
by setting ecx to 0, mwait handles the IRQ and not just wait from it
2018-04-17 13:49:52 +02:00
Stefan Lankes
4d694dcc68
avoid race between checking workqueues and calling halt
...
between checking the workqueues and the calling halt instruction, a
process and the corresponding interrupt is able arrive and lost
2018-04-17 12:00:12 +02:00
Stefan Lankes
c6867fd1cb
remove aeoi, it isn't required for a synchronous interrupt
2018-04-17 11:30:12 +02:00
Colin Finck
75786478d3
Implement the OS-dependent part of the "taskswitch" benchmark for the HermitCore C version.
2018-04-12 17:34:46 +02:00
Colin Finck
da20f3e9c0
Import the "taskswitch" benchmark from the "path2rs" branch.
2018-04-12 17:33:55 +02:00
Simon Pickartz
4e0bb8ae0e
fix generation of the checkpoint config file ( #85 )
2018-03-29 22:50:53 +01:00
Stefan Lankes
34e7895d0a
aarch64 support ( #84 )
...
- add initial support for aarch64
- SMP support is currently missing
- uhyve and kernel are tested on Libre AML-S905X-CC (https://libre.computer/products/boards/aml-s905x-cc/ )
- only GICv2 support is integrated
2018-03-23 04:04:44 -04:00
Stefan Lankes
34e8b63191
remove obsolete self-references
2018-03-20 07:33:56 -04:00
Stefan Lankes
9a28225424
add memory pool with the same host and guest virtual address
2018-01-16 09:33:01 +01:00
Stefan Lankes
e40ef3a3c3
check ARAT feature, reduce the time to calibrate APIC timer
2018-01-01 22:24:53 +01:00
Stefan Lankes
eea45d721a
create GDT on demand to remove dependency on MAX_CORES
2017-12-31 11:20:14 +01:00
Stefan Lankes
0edbf56fd9
add option to reset fs & gs registers
2017-12-31 11:15:21 +01:00
Stefan Lankes
ae9855d7dd
print log messages if uhyve receives KVM_EXIT_SHUTDOWN
2017-12-31 11:13:48 +01:00
Stefan Lankes
c94f6830f6
clear cr2 after handling the page fault
2017-12-31 11:12:46 +01:00
Stefan Lankes
c1d0094162
enable cache for the communication between guest and host
2017-12-15 23:11:51 +01:00
Stefan Lankes
cf758712d4
disable ACPI support
2017-12-15 23:09:48 +01:00
Stefan Lankes
b3af314559
remove the dependencies on an array of boot stacks
...
- share one stack for all core during the boot process
- reduce the size of the BSS section
2017-11-26 12:48:00 +01:00
Stefan Lankes
8f3138cfaa
enable the support of SO_REUSEADDR
2017-11-24 00:12:00 +01:00
Stefan Lankes
7a4e1ad7fd
define packet size in test script
2017-11-22 15:34:21 +01:00
Stefan Lankes
54bb7a84d9
reduce the number of interrupts in the network driver
2017-11-22 00:47:29 +01:00
Stefan Lankes
5edefa8a89
use 2 CPUs for the netio benchmark
2017-11-21 23:39:38 +01:00
Stefan Lankes
054e5b4dd7
fix file permissions
2017-11-21 23:16:45 +01:00
Stefan Lankes
65e4e4c9aa
fix server address
2017-11-21 23:02:05 +01:00
Stefan Lankes
dc5fecda4e
add netio test
2017-11-21 22:56:48 +01:00
Stefan Lankes
fb0595fa30
prepare netio test, download and check binary
2017-11-21 22:40:03 +01:00
Stefan Lankes
0966078138
remove debug message
2017-11-21 22:13:51 +01:00
Stefan Lankes
dbbca6037c
increase version number
2017-11-21 22:05:17 +01:00
Stefan Lankes
8b170bb527
enable interrupts during busy waiting
2017-11-17 19:23:54 +01:00
Stefan Lankes
fe330cf103
add argv_envp to list of CI tests
2017-11-10 22:23:01 +01:00
Stefan Lankes
8653afbd07
avoid using KVM_TRANSLATE in a loop
...
- determine within HermitCore the guest physical address
=> simplifies the translation from guest virtual to host virtual address
=> reduce the number of syscalls (KVM_TRANSLATE)
2017-11-10 22:17:45 +01:00
Pierre Olivier
0b828dfe85
Fix cap for argc / envc + display an error if these values go above that
...
cap
2017-11-07 20:17:44 -05:00
Pierre Olivier
cfd208d266
Support for forwarding command line parameters and environment variables
...
to uhyve
2017-11-07 19:51:57 -05:00
Stefan Lankes
3ee4a48728
Merge branch 'devel'
2017-11-07 08:49:42 +01:00
Stefan Lankes
2303d25ff7
increase version number
2017-11-07 08:38:16 +01:00
Stefan Lankes
18e0f3034b
determine frequency from cpu brand, revise code
...
=> move all helper functions to utils.c
2017-11-07 08:14:43 +01:00
Stefan Lankes
e8d202e68a
remove typo in cpuid check
2017-11-07 08:04:35 +01:00
Stefan Lankes
794f4ac3d3
enable MSR for string operations already in uhyve
2017-11-06 21:38:33 +01:00
Stefan Lankes
ed75d01517
add definition of MSR_IA32_MISC_ENABLE_FAST_STRING
2017-11-05 23:16:32 +01:00