Branch: refs/heads/coverity_scan
Home: https://github.com/siemens/jailhouse
Commit: f596aa7355bc2134650544bdf1e13f1f55d3f2fc
https://github.com/siemens/jailhouse/commit/f596aa7355bc2134650544bdf1e13f1f55d3f2fc
Author: Jan Kiszka <[email protected]>
Date: 2018-09-24 (Mon, 24 Sep 2018)
Changed paths:
M VERSION
Log Message:
-----------
Bump version number
Signed-off-by: Jan Kiszka <[email protected]>
Commit: c6a7818400d7cedda0d083374a88fd10bb6f30a7
https://github.com/siemens/jailhouse/commit/c6a7818400d7cedda0d083374a88fd10bb6f30a7
Author: Jan Kiszka <[email protected]>
Date: 2018-09-27 (Thu, 27 Sep 2018)
Changed paths:
M tools/jailhouse-config-create
Log Message:
-----------
tools: config-create: Adjust defaults to qemu-x86 setup
This allows to reuse the existing inmate configs more easily. 6M of
hypervisor memory is much less than before but should only be a problem
on very large or very old (no VT-d hugepages) systems, so it's
practically fine.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 06e3ecb5eefc4b199e0a60cb246fedea330caa21
https://github.com/siemens/jailhouse/commit/06e3ecb5eefc4b199e0a60cb246fedea330caa21
Author: Jan Kiszka <[email protected]>
Date: 2018-10-01 (Mon, 01 Oct 2018)
Changed paths:
A configs/arm64/dts/inmate-macchiatobin.dts
A configs/arm64/macchiatobin-gic-demo.c
A configs/arm64/macchiatobin-linux-demo.c
A configs/arm64/macchiatobin.c
Log Message:
-----------
configs: Add support for MACCHIATObin board
Add configs for the Marvell Armada 8040-based MACCHIATObin board.
As we set the pci_domain to 1 and the upstream kernel does not
initialize linux,pci-domain, we need a patch to the DTB for the time
being.
MSI support should eventually be possible as well, but we still with
INTx for the virtual shmem devices for now.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: dd6269a94a50d091d5a76fe4011e5fc491e5bcc6
https://github.com/siemens/jailhouse/commit/dd6269a94a50d091d5a76fe4011e5fc491e5bcc6
Author: Jan Kiszka <[email protected]>
Date: 2018-10-08 (Mon, 08 Oct 2018)
Changed paths:
M driver/cell.c
Log Message:
-----------
driver: x86: Catch unsupported assignment of CPU 0 to non-root cells
Due to the way how CPU 0 is offlined on x86, we cannot "steal" it from
the root cell and give it to a different owner. Catch any configuration
that tries to do so and reject this attempt.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: e20fe893a8a6b3108f06c96fd505732fd52aeda0
https://github.com/siemens/jailhouse/commit/e20fe893a8a6b3108f06c96fd505732fd52aeda0
Author: Jan Kiszka <[email protected]>
Date: 2018-10-08 (Mon, 08 Oct 2018)
Changed paths:
M hypervisor/arch/x86/apic.c
Log Message:
-----------
x86: Clarify and improve rejection of NMI IPIs
While technically doable, re-injecting NMIs from the hypervisor into a
guest is far from being simple. On Intel, we need to take care of
various cases where injection could have failed. On AMD, it even takes
single-stepping over the IRET instruction in order to get to the end of
an NMI-blocking window.
So, remove the to-do note, replacing it with a hint that NMI IPIs will
likely remain unsupported for a longer time. At this chance augment the
printed message with the target CPU of the IPI. This may help to
correlate the effect of a missing NMI or the reason for the injection
(stalled CPU).
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 6f119f396d1bbe87c8ccccd66e8fd4c0669f53b5
https://github.com/siemens/jailhouse/commit/6f119f396d1bbe87c8ccccd66e8fd4c0669f53b5
Author: Claudio Scordino <[email protected]>
Date: 2018-10-10 (Wed, 10 Oct 2018)
Changed paths:
M inmates/demos/x86/apic-demo.c
M inmates/lib/x86/include/inmate.h
M inmates/lib/x86/timing.c
Log Message:
-----------
tsc_read() renamed tsc_read_ns() to avoid misunderstandings.
Signed-off-by: Claudio Scordino <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 56b2d1d1580b34720f379aede731e7d2ea80d876
https://github.com/siemens/jailhouse/commit/56b2d1d1580b34720f379aede731e7d2ea80d876
Author: Jan Kiszka <[email protected]>
Date: 2018-10-11 (Thu, 11 Oct 2018)
Changed paths:
M driver/sysfs.c
M hypervisor/arch/x86/svm.c
M hypervisor/arch/x86/vmx.c
M include/arch/x86/asm/jailhouse_hypercall.h
Log Message:
-----------
x86, driver: Prepare for finer-grained MSR exist statistics
We will add separate counters for specific frequent MSR accesses.
Prepare by reordering renaming the existing existing counter to
"MSR_OTHER".
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 4bdff00afea92067fee356629f21e25710ad9ae8
https://github.com/siemens/jailhouse/commit/4bdff00afea92067fee356629f21e25710ad9ae8
Author: Jan Kiszka <[email protected]>
Date: 2018-10-11 (Thu, 11 Oct 2018)
Changed paths:
M hypervisor/arch/x86/vmx.c
Log Message:
-----------
x86: vmx: Use local variable for stats in vcpu_handle_exit
Shortens lines and makes it more readable as well.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 3e9c91302ee5114284227e298883c1098f91001f
https://github.com/siemens/jailhouse/commit/3e9c91302ee5114284227e298883c1098f91001f
Author: Jan Kiszka <[email protected]>
Date: 2018-10-11 (Thu, 11 Oct 2018)
Changed paths:
M hypervisor/arch/x86/apic.c
M hypervisor/arch/x86/svm.c
M hypervisor/arch/x86/vcpu.c
M hypervisor/arch/x86/vmx.c
Log Message:
-----------
x86: Push MSR statistic down to the dispatching points
This is another step in preparing more fine-grained statistics.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 2482bffc3e130546570299626f50d7b90574ef94
https://github.com/siemens/jailhouse/commit/2482bffc3e130546570299626f50d7b90574ef94
Author: Jan Kiszka <[email protected]>
Date: 2018-10-11 (Thu, 11 Oct 2018)
Changed paths:
M driver/sysfs.c
M hypervisor/arch/x86/apic.c
M include/arch/x86/asm/jailhouse_hypercall.h
Log Message:
-----------
x86, driver: Add MSR_X2APIC_ISR exit counter
ICR accesses are a frequent source of vmexits for multicore cells
when the communicate via IPIs between the cores. Account for these exits
separately.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 20b7d8d3423aa264caac932e759e97b0ca65b376
https://github.com/siemens/jailhouse/commit/20b7d8d3423aa264caac932e759e97b0ca65b376
Author: Jan Kiszka <[email protected]>
Date: 2018-10-11 (Thu, 11 Oct 2018)
Changed paths:
M tools/jailhouse-cell-stats
Log Message:
-----------
tools: cell-stats: Filter on statistic entries
We are going to add CPU directories, so we need to be stricter with what
we consider a statistic entry.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 44e19da09b6614146bec15ff1529359dddb02b0c
https://github.com/siemens/jailhouse/commit/44e19da09b6614146bec15ff1529359dddb02b0c
Author: Jan Kiszka <[email protected]>
Date: 2018-10-12 (Fri, 12 Oct 2018)
Changed paths:
M driver/cell.h
M driver/sysfs.c
Log Message:
-----------
driver: Prepare for per-cpu statistics
This refactors the sysfs statistics code so that we can later add
per-CPU counters under the <cell-id>/statistics/ path. Primarily, this
means switching from a attribute group to a kobject for statistics.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: d02306997a69533ad893b11161eb3310ddacac50
https://github.com/siemens/jailhouse/commit/d02306997a69533ad893b11161eb3310ddacac50
Author: Jan Kiszka <[email protected]>
Date: 2018-10-15 (Mon, 15 Oct 2018)
Changed paths:
M Documentation/sysfs-entries.txt
M driver/cell.c
M driver/cell.h
M driver/sysfs.c
Log Message:
-----------
driver: Add per-cpu statistics
The hypervisor already provides us the counter CPU-specific, we just
need to expose them separated, in addition to the existing accumulated
representation. This helps to identify hypervisor interferences in
multicore cells that use core-specific workload.
The CPU-specific statistics are created for all CPUs during root cell
setup as separate kobjects. When a non-root cell is create the kobjects
associated with those CPUs that this cell is assigned are simply moved
from the root cell to the new one. On non-root cell destruction, the
kobjects are moved back. They are truly destroyed on root cell
tear-down.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: d8ea8a43a1a74d5b34afeb4a473cc942ee867abc
https://github.com/siemens/jailhouse/commit/d8ea8a43a1a74d5b34afeb4a473cc942ee867abc
Author: Jan Kiszka <[email protected]>
Date: 2018-10-15 (Mon, 15 Oct 2018)
Changed paths:
M tools/jailhouse-cell-stats
Log Message:
-----------
tools: cell-stats: Visualize also CPU-specific statistics
Add a mode to step through the cell CPUs and display CPU-specific
statistics, just like the overall sum that is shown by default.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: a977f90e4c27e71e831449ea0df4ea386f1c65c0
https://github.com/siemens/jailhouse/commit/a977f90e4c27e71e831449ea0df4ea386f1c65c0
Author: Jan Kiszka <[email protected]>
Date: 2018-10-17 (Wed, 17 Oct 2018)
Changed paths:
M hypervisor/arch/x86/svm.c
M hypervisor/arch/x86/vmx.c
Log Message:
-----------
x86: Fix CONFIG_CRASH_CELL_ON_PANIC
As it is not enabled by default, this became silently broken.
Fixes: 13c472715e29 ("core: Move failed into public per-cpu section")
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 0ef181543fcc3ff47f5f6f502ff88d351304feca
https://github.com/siemens/jailhouse/commit/0ef181543fcc3ff47f5f6f502ff88d351304feca
Author: Ralf Ramsauer <[email protected]>
Date: 2018-10-21 (Sun, 21 Oct 2018)
Changed paths:
M driver/sysfs.c
M hypervisor/arch/arm-common/smccc.c
M include/arch/arm/asm/jailhouse_hypercall.h
M include/arch/arm64/asm/jailhouse_hypercall.h
Log Message:
-----------
arm-common: account for SMC exits
Statistics on ARM currently has some imbalances: the total number of
exits doesn't equal the sum of the fine granular exit counters: we
aren't accounting for SMCCC exits.
Fix this by adding a new statistic counter for SMCCC.
PSCI exits are already accounted inside psci_dispatch(), move SMCCC
accounting to the dispatcher routine handle_smc().
Fixes: 7688e96c815b ("arm-common: Rework handling of SMC")
Signed-off-by: Ralf Ramsauer <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 2a33e404de0148d81e76e8926a5d2846ce0989c5
https://github.com/siemens/jailhouse/commit/2a33e404de0148d81e76e8926a5d2846ce0989c5
Author: Jan Kiszka <[email protected]>
Date: 2018-11-10 (Sat, 10 Nov 2018)
Changed paths:
M configs/arm/orangepi0.c
Log Message:
-----------
configs: orangepi0: Permit access to another clock
This is required when using 4.19 as root kernel.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: fca44df47c6443fa7ee1fa3a022f6c9029ead5dd
https://github.com/siemens/jailhouse/commit/fca44df47c6443fa7ee1fa3a022f6c9029ead5dd
Author: Ralf Ramsauer <[email protected]>
Date: 2018-11-13 (Tue, 13 Nov 2018)
Changed paths:
A hypervisor/arch/arm-common/include/asm/traps.h
A hypervisor/arch/arm/include/arch/asm/traps.h
R hypervisor/arch/arm/include/asm/traps.h
A hypervisor/arch/arm64/include/arch/asm/traps.h
R hypervisor/arch/arm64/include/asm/traps.h
Log Message:
-----------
arm, arm64: consolidate traps.h
traps.h are almost the same for both arm architectures. The only differences
are struct traps_context and an additional routine (access_cell_regs) on armv7.
Common routines and definitions have their home inside arm-common, so
de-duplicate redundant definitions and give them a new home.
No functional change.
Signed-off-by: Ralf Ramsauer <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: f930d5d9d0c63d3adfd9aaafbe618ab9943b49b7
https://github.com/siemens/jailhouse/commit/f930d5d9d0c63d3adfd9aaafbe618ab9943b49b7
Author: Ralf Ramsauer <[email protected]>
Date: 2018-11-13 (Tue, 13 Nov 2018)
Changed paths:
M hypervisor/arch/arm-common/include/asm/smccc.h
M hypervisor/arch/arm-common/include/asm/traps.h
M hypervisor/arch/arm-common/smccc.c
M hypervisor/arch/arm/mmio.c
M hypervisor/arch/arm/traps.c
M hypervisor/arch/arm64/mmio.c
M hypervisor/arch/arm64/traps.c
Log Message:
-----------
arm, arm64: use proper return types for traps
There is a enum type for the return value of traps: enum trap_return. Use the
proper return type, wherever it is used.
Signed-off-by: Ralf Ramsauer <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: ce4af18b36c7da6670d859939448da8da1432063
https://github.com/siemens/jailhouse/commit/ce4af18b36c7da6670d859939448da8da1432063
Author: Jan Kiszka <[email protected]>
Date: 2018-11-16 (Fri, 16 Nov 2018)
Changed paths:
M CONTRIBUTING.md
Log Message:
-----------
CONTRIBUTING: Fix a typo and clarify statement
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 23ed2b39d625c907341d1d3a240d952e59cce06f
https://github.com/siemens/jailhouse/commit/23ed2b39d625c907341d1d3a240d952e59cce06f
Author: Ralf Ramsauer <[email protected]>
Date: 2018-12-19 (Wed, 19 Dec 2018)
Changed paths:
M hypervisor/arch/arm64/entry.S
Log Message:
-----------
arm64: microoptimise exit path
Similar to 6b02cd08a506 ("inmates: arm64: save registers on irq entry"), use
immediate values to address the absolute offset within the stack when storing
registers.
This is a bit more efficient that the previous push-decrement stack
pattern: While "stp xm, xn, [sp, #-16]!" results in a store followed by
a decrement of the stack pointer, "stp xm, xn, [sp, #(1 * 16)]"
addresses the absolute location inside the stack directly saves the
decrement of sp.
This patch also reverses the order of registers when being pushed. We will
later utilise this.
Signed-off-by: Ralf Ramsauer <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: a0a90f25b1045f62c93b117457580b62a1a2f783
https://github.com/siemens/jailhouse/commit/a0a90f25b1045f62c93b117457580b62a1a2f783
Author: Ralf Ramsauer <[email protected]>
Date: 2018-12-20 (Thu, 20 Dec 2018)
Changed paths:
M hypervisor/arch/arm-common/include/asm/psci.h
M hypervisor/arch/arm-common/psci.c
Log Message:
-----------
arm-common: rework psci interface
Rename some macros, and, in particular, use the same naming scheme as Linux.
This scheme highlights in which version a particular function was introduced.
With this, let's also introduce PSCI version {en,de}coder macros. We will later
benefit from this macros.
No functional change.
Signed-off-by: Ralf Ramsauer <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 95b29744c06705c244c323f3c75c0632a78f2934
https://github.com/siemens/jailhouse/commit/95b29744c06705c244c323f3c75c0632a78f2934
Author: Ralf Ramsauer <[email protected]>
Date: 2019-01-04 (Fri, 04 Jan 2019)
Changed paths:
M hypervisor/arch/arm64/entry.S
Log Message:
-----------
arm64: reorder store of registers in exit path
If we want to call SMCCC very early in the exit path, we have to store x0-x3
as early as possible. Rearrange the exit path accordingly.
Due to the structure of union registers, we also have to push x4 while not
necessarily required. But this makes things easier at the moment. Nevertheless,
we will benefit from that later: we will use x4 to hold variables that need to
be preserved between SMC calls.
Additionally, decorate things with a few comments.
Signed-off-by: Ralf Ramsauer <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 42faabcc59eb2c0770cd3bcd593c81552967958d
https://github.com/siemens/jailhouse/commit/42faabcc59eb2c0770cd3bcd593c81552967958d
Author: Ralf Ramsauer <[email protected]>
Date: 2019-01-04 (Fri, 04 Jan 2019)
Changed paths:
M hypervisor/arch/arm64/asm-defines.c
M hypervisor/arch/arm64/entry.S
M hypervisor/arch/arm64/traps.c
Log Message:
-----------
arm64: move vmexit_total increase to assembly
This is the first step to get rid of arch_handle_exit().
Signed-off-by: Ralf Ramsauer <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 15e02cb81b1da48b9dff37c862a22b7c1127baf9
https://github.com/siemens/jailhouse/commit/15e02cb81b1da48b9dff37c862a22b7c1127baf9
Author: Ralf Ramsauer <[email protected]>
Date: 2019-01-04 (Fri, 04 Jan 2019)
Changed paths:
M hypervisor/arch/arm64/entry.S
M hypervisor/arch/arm64/traps.c
Log Message:
-----------
arm64: Don't call vmreturn from arch_handle_exit
This is the second step to get rid of arch_handle_exit(). There's no need to
call vmreturn() from arch_handle_exit(). Let's move this to assembly.
Signed-off-by: Ralf Ramsauer <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 65d84dfd3cadf6c89188bba6898dc1e2b0c8c173
https://github.com/siemens/jailhouse/commit/65d84dfd3cadf6c89188bba6898dc1e2b0c8c173
Author: Ralf Ramsauer <[email protected]>
Date: 2019-01-04 (Fri, 04 Jan 2019)
Changed paths:
M hypervisor/arch/arm64/traps.c
Log Message:
-----------
arm64: traps: refactor arch_dump_exit to arch_el2_abt
Step three of removing arch_handle_exit().
There's *no* way the default case can ever occur: The exit reason is a
hard-coded constant value inside the interrupt vector that will never have an
value outside its limited range. No need for special treatment of the default
handler, we can safely remove the arch_dump_exit() call.
With this, arch_dump_exit() only has one single caller left, so fold all
constant arguments inside the function itself, and refactor its name to
arch_el2_abt().
However, leave the panic_park() for the default handler for now, it's a
bug if it is called.
Signed-off-by: Ralf Ramsauer <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 00f75a77d53e3005adce4db8f9ad6d02d53faffe
https://github.com/siemens/jailhouse/commit/00f75a77d53e3005adce4db8f9ad6d02d53faffe
Author: Ralf Ramsauer <[email protected]>
Date: 2019-01-04 (Fri, 04 Jan 2019)
Changed paths:
M hypervisor/arch/arm64/entry.S
M hypervisor/arch/arm64/include/arch/asm/traps.h
M hypervisor/arch/arm64/include/asm/processor.h
M hypervisor/arch/arm64/traps.c
Log Message:
-----------
arm64: remove arch_handle_exit
The final step: remove arch_handle_exit, and dispatch things directly in
assembly. As a consequence, we get a faster exit path, as we save the
double-dispatching.
We also save one instruction inside the interrupt vector. :-)
For the union registers, replace the exit_reason with __padding. For easier
handling, the padding is located at the beginning of the structure.
Signed-off-by: Ralf Ramsauer <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 275c097627c6d62261b582a8c3d549893905a3e1
https://github.com/siemens/jailhouse/commit/275c097627c6d62261b582a8c3d549893905a3e1
Author: Ralf Ramsauer <[email protected]>
Date: 2019-01-04 (Fri, 04 Jan 2019)
Changed paths:
M hypervisor/arch/arm64/entry.S
Log Message:
-----------
arm64: introduce macro helpers that generate irq vectors
Logically, we can split up the vmexit_handler in two parts: the early phase,
after which x0-x4 may be clobbered, and the entry phase, that pushes the rest
of the context and enters the exit handler.
These two phases can be rolled out via macros. Later, we use these macro to add
additional (i.e., calling SMCCC_ARCH_WORKAROUND_1) code between the phases.
Signed-off-by: Ralf Ramsauer <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 03d09b9c3b119ea704edafdd9f358ce57e2a829f
https://github.com/siemens/jailhouse/commit/03d09b9c3b119ea704edafdd9f358ce57e2a829f
Author: Ralf Ramsauer <[email protected]>
Date: 2019-01-04 (Fri, 04 Jan 2019)
Changed paths:
A hypervisor/arch/arm/include/asm/smc.h
A hypervisor/arch/arm64/include/asm/smc.h
Log Message:
-----------
arm, arm64: add stubs for SMC calls
Signed-off-by: Ralf Ramsauer <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: ea924a3fec98684863f6abbdd2860d1ae5c1ea53
https://github.com/siemens/jailhouse/commit/ea924a3fec98684863f6abbdd2860d1ae5c1ea53
Author: Ralf Ramsauer <[email protected]>
Date: 2019-01-04 (Fri, 04 Jan 2019)
Changed paths:
M hypervisor/arch/arm-common/include/asm/percpu.h
M hypervisor/arch/arm-common/include/asm/smccc.h
M hypervisor/arch/arm-common/setup.c
M hypervisor/arch/arm-common/smccc.c
M hypervisor/arch/arm/include/asm/percpu_fields.h
M hypervisor/arch/arm64/include/asm/percpu_fields.h
Log Message:
-----------
arm64: Initialise SMCCC backend
by discovering its features.
The first step is to check the PSCI version. Don't even try to do any
SMCCC calls without having checked the proper PSCI version (current QEMU
horribly crashes).
Probe if SMCCC_ARCH_FEATURES is available. If so, probe for
SMCCC_ARCH_WORKAROUND_1 and expose its availability by setting a flag
inside the percpu structure.
The availability is stored per-cpu, as we might have big.LITTLE systems,
where only a subset of cores need mitigations.
Signed-off-by: Ralf Ramsauer <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: f6a60e64f4815ebc5966dc7b8d7ef603011b1e54
https://github.com/siemens/jailhouse/commit/f6a60e64f4815ebc5966dc7b8d7ef603011b1e54
Author: Ralf Ramsauer <[email protected]>
Date: 2019-01-04 (Fri, 04 Jan 2019)
Changed paths:
M hypervisor/arch/arm-common/include/asm/smccc.h
M hypervisor/arch/arm64/entry.S
M hypervisor/arch/arm64/include/asm/entry.h
M hypervisor/arch/arm64/setup.c
Log Message:
-----------
arm64: Mitigate CVE 2017-5715 (aka Spectre v2)
Define an alternative exit vector. This exit vector will be used if
SMCCC_ARCH_WORKAROUND_1 is available, and makes the assumption that
mitigations are required if the workaround is available.
Technically, the mitigations takes place in the monitor, its implementation
depends on the processor. Refer [1].
Similarly to KVM, Jailhouse calls the monitor's mitigation on each exit: IRQs
and guest aborts.
[1]
https://developer.arm.com/support/arm-security-updates/speculative-processor-vulnerability
Signed-off-by: Ralf Ramsauer <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: bde68834212f554e70007bfa11de6fc0b970444e
https://github.com/siemens/jailhouse/commit/bde68834212f554e70007bfa11de6fc0b970444e
Author: Ralf Ramsauer <[email protected]>
Date: 2019-01-04 (Fri, 04 Jan 2019)
Changed paths:
M hypervisor/arch/arm-common/smccc.c
Log Message:
-----------
arm-common: implement SMCCC feature discovery
Finally, report supported features to guests. This will only affect
non-root cells. The root-cell boots with absence of jailhouse and will,
thus, use the features it already discovered.
This is not the case for non-root cells. Report availability of
mitigations properly.
Signed-off-by: Ralf Ramsauer <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 0234c87e776217d55c5d6e65da2d0cde20ae42eb
https://github.com/siemens/jailhouse/commit/0234c87e776217d55c5d6e65da2d0cde20ae42eb
Author: Ralf Ramsauer <[email protected]>
Date: 2019-01-06 (Sun, 06 Jan 2019)
Changed paths:
M hypervisor/arch/arm64/entry.S
M hypervisor/arch/arm64/include/asm/sysregs.h
Log Message:
-----------
arm64: implement a fast path for the Spectre v2 workaround
In case of an EL1 abort, call the mitigation, and try to return to the
guest as fast as possible, if it explicitely called the mitigation.
Otherwise, handle the trap as usual.
The whole hot path of the workaround fits into the interrupt vector
slot, we just have to outsource the regular exit path to el1_trap.
Signed-off-by: Ralf Ramsauer <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 075879bd0d480edec05e8f894d6b7af0ab0ccffb
https://github.com/siemens/jailhouse/commit/075879bd0d480edec05e8f894d6b7af0ab0ccffb
Author: Ralf Ramsauer <[email protected]>
Date: 2019-01-06 (Sun, 06 Jan 2019)
Changed paths:
M hypervisor/arch/arm-common/smccc.c
Log Message:
-----------
arm-common: crash cell on unhandled SMC traps
Crash a cell if it calls an unhandled SMC functions.
There are two reason why to do this:
- Not all SMC calls have return values. If the hypervisor returns with
UNHANDLED, the guest may silently fail as it takes wrong
assumptions. (This is what already happened to us)
- A guest may only invoke SMC functions which it has discovered
before. If there are new functions that we might have to implement
in future, the crash will lead us the way.
Note that the default handler crashes the cell in case of
ARCH_SMCCC_WORKAROUND_1, as the default handler path will only be taken
in case of default interrupt vectors, where the workaround is not
available.
Signed-off-by: Ralf Ramsauer <[email protected]>
[Jan: preserve function_id variable for better readability]
Signed-off-by: Jan Kiszka <[email protected]>
Commit: ac7d29b4e894c0138285aea72fd9475f6b7d87e9
https://github.com/siemens/jailhouse/commit/ac7d29b4e894c0138285aea72fd9475f6b7d87e9
Author: Ralf Ramsauer <[email protected]>
Date: 2019-01-06 (Sun, 06 Jan 2019)
Changed paths:
M hypervisor/arch/arm64/asm-defines.c
M hypervisor/arch/arm64/entry.S
Log Message:
-----------
arm64: account SMC fast path
Housekeeping: Don't forget to account the fast path. This still fits
into the interrupt vector entry.
Signed-off-by: Ralf Ramsauer <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 66ed9742c5715fe76012c8fc5caad2177f0bca8d
https://github.com/siemens/jailhouse/commit/66ed9742c5715fe76012c8fc5caad2177f0bca8d
Author: Jan Kiszka <[email protected]>
Date: 2019-01-06 (Sun, 06 Jan 2019)
Changed paths:
M Documentation/hypervisor-interfaces.txt
M Documentation/setup-on-zynqmp-zcu102.md
Log Message:
-----------
Documentation: Replace remaining JAILHOUSE_CELL_DEBUG_CONSOLE references
Signed-off-by: Jan Kiszka <[email protected]>
Commit: e3cf65e67a605ead840f6d21d07627172185d13d
https://github.com/siemens/jailhouse/commit/e3cf65e67a605ead840f6d21d07627172185d13d
Author: Jan Kiszka <[email protected]>
Date: 2019-01-06 (Sun, 06 Jan 2019)
Changed paths:
M Documentation/setup-on-zynqmp-zcu102.md
R configs/arm64/dts/inmate-zynqmp-zcu102.dts
A configs/arm64/dts/inmate-zynqmp.dts
A configs/arm64/ultra96-gic-demo.c
A configs/arm64/ultra96-linux-demo.c
A configs/arm64/ultra96.c
Log Message:
-----------
configs: Add Ultra96 board
This is very similar to the ZCU102 eval board, but still different.
However, we can share at least the inmate device tree.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 5b7492a3aa86d4619e19c24fbdc0eaade860706b
https://github.com/siemens/jailhouse/commit/5b7492a3aa86d4619e19c24fbdc0eaade860706b
Author: Henning Schild <[email protected]>
Date: 2019-01-13 (Sun, 13 Jan 2019)
Changed paths:
M hypervisor/setup.c
Log Message:
-----------
core: Update comment according to recent change
37c7b05b21 renamed the flag JAILHOUSE_CON2_TYPE_ROOTPAGE, update that
last remaining comment as well
Signed-off-by: Henning Schild <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 8fe9186dc609182f50825a4958abafbc55693e65
https://github.com/siemens/jailhouse/commit/8fe9186dc609182f50825a4958abafbc55693e65
Author: Jan Kiszka <[email protected]>
Date: 2019-01-24 (Thu, 24 Jan 2019)
Changed paths:
M pyjailhouse/sysfs_parser.py
M tools/jailhouse-config-create
Log Message:
-----------
tools, pyjailhouse: Fix offline mode of config generator
This addresses three issues that were introduced while factoring out the
sysfs parser from the the config generator:
- sysfs_parser.root_dir cannot be set from outside of he module -
introduce a setter function instead
- we need to initialize the root dir prior to performing the jailhouse
enabled check
- os.path.join drops any earlier elements if a later one is an absolute
path - switch back to plain '+'
Fixes: 20a83313ea74 ("Splitting up helpers used in sysfs parsing")
Signed-off-by: Jan Kiszka <[email protected]>
Commit: a9aeb698f216fd274f4731bcc2bb90f0c638a1eb
https://github.com/siemens/jailhouse/commit/a9aeb698f216fd274f4731bcc2bb90f0c638a1eb
Author: Jan Kiszka <[email protected]>
Date: 2019-01-24 (Thu, 24 Jan 2019)
Changed paths:
M pyjailhouse/sysfs_parser.py
Log Message:
-----------
pyjailhouse: sysfs_parser: Fix msix_address calculation
A missing brace caused 64-bit addresses to be truncated to 32-bit.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 3a4f41730235c24f57cfe54eed34f44b3470629d
https://github.com/siemens/jailhouse/commit/3a4f41730235c24f57cfe54eed34f44b3470629d
Author: Jan Kiszka <[email protected]>
Date: 2019-01-24 (Thu, 24 Jan 2019)
Changed paths:
M TODO.md
Log Message:
-----------
TODO: Remove some resolved items
Signed-off-by: Jan Kiszka <[email protected]>
Compare:
https://github.com/siemens/jailhouse/compare/2fd277e591ec...3a4f41730235
**NOTE:** GitHub Services has been marked for deprecation:
https://developer.github.com/changes/2018-04-25-github-services-deprecation/
We will provide an alternative path for the email notifications by
January 31st, 2019.
--
You received this message because you are subscribed to the Google Groups
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.