Branch: refs/heads/coverity_scan
Home: https://github.com/siemens/jailhouse
Commit: eda93050c75d3f3ef4509d3faccc451b0946b607
https://github.com/siemens/jailhouse/commit/eda93050c75d3f3ef4509d3faccc451b0946b607
Author: Antonios Motakis <[email protected]>
Date: 2016-06-26 (Sun, 26 Jun 2016)
Changed paths:
M driver/main.c
M hypervisor/arch/arm/include/asm/jailhouse_hypercall.h
M hypervisor/arch/x86/include/asm/jailhouse_hypercall.h
M hypervisor/setup.c
Log Message:
-----------
driver: ioremap the hypervisor firmware to any kernel address
At the moment the Linux driver maps the Jailhouse binary to
JAILHOUSE_BASE. The underlying assumption is that Linux may map the
firmware (in the Linux kernel space), to the same virtual address it
has been built to run from.
This assumption is unworkable on ARMv8 processors running in AArch64
mode. Kernel memory is allocated in a high address region, that is
not addressable from EL2, where the hypervisor will run from.
This patch removes the assumption, by introducing the
JAILHOUSE_BORROW_ROOT_PT define, which signals the behavior of the
current architectures.
We also turn the entry point in the header, into an offset from the
Jailhouse load address, so we can enter the image regardless of
where it will be mapped.
Signed-off-by: Antonios Motakis <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 37f0f7e117964c0c24a67485d3e8ca4781fab734
https://github.com/siemens/jailhouse/commit/37f0f7e117964c0c24a67485d3e8ca4781fab734
Author: Dmitry Voytik <[email protected]>
Date: 2016-06-26 (Sun, 26 Jun 2016)
Changed paths:
M driver/cell.c
M driver/main.c
Log Message:
-----------
driver: sync I-cache, D-cache and memory
Syncronize I-cache with D-cache after loading the hypervisor
image or a cell image. This must be done in arm64 according to
ARMv8 ARM spec. See page 1712, D3.4.6 "Non-cacheable accesses
and instruction caches".
This patch fixes coherency problems observed on real HW targets.
On x86 this operation is a NOP.
Signed-off-by: Dmitry Voytik <[email protected]>
Signed-off-by: Antonios Motakis <[email protected]>
[[email protected]: edited comments]
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 49a683f3a3823a445d88a2021dc69993d6edff8b
https://github.com/siemens/jailhouse/commit/49a683f3a3823a445d88a2021dc69993d6edff8b
Author: Antonios Motakis <[email protected]>
Date: 2016-06-26 (Sun, 26 Jun 2016)
Changed paths:
M hypervisor/arch/arm/lib.c
M hypervisor/arch/x86/apic.c
M hypervisor/arch/x86/control.c
M hypervisor/include/jailhouse/printk.h
M hypervisor/include/jailhouse/processor.h
M hypervisor/printk.c
Log Message:
-----------
core: make phys_processor_id() return unsigned long
32 bits ought not be enough for anybody.
Signed-off-by: Antonios Motakis <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 11cc0e0cf21d53544bfe19977af1520981769e34
https://github.com/siemens/jailhouse/commit/11cc0e0cf21d53544bfe19977af1520981769e34
Author: Antonios Motakis <[email protected]>
Date: 2016-06-26 (Sun, 26 Jun 2016)
Changed paths:
M hypervisor/control.c
Log Message:
-----------
core: panic_stop: print current cell only if it has been set
Currently during a panic, panic_stop will print the current cell
on the CPU where the panic occurred. However, if the hypervisor
panics sufficiently early during initialization, we may end up in
a situation where the root cell has not been initialized. This can
easily cause a trap loop, making the panic output less useful.
Signed-off-by: Antonios Motakis <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 6b74f910dc248be969f16dc57e12412412f41b36
https://github.com/siemens/jailhouse/commit/6b74f910dc248be969f16dc57e12412412f41b36
Author: Jan Kiszka <[email protected]>
Date: 2016-06-26 (Sun, 26 Jun 2016)
Changed paths:
M hypervisor/arch/arm/include/asm/paging.h
M hypervisor/arch/x86/include/asm/paging.h
M hypervisor/include/jailhouse/paging.h
M hypervisor/paging.c
Log Message:
-----------
core: Add support for aligned page allocation
Refactor page_alloc to page_alloc_internal which accepts an additional
constraint for its allocation: align_mask. The allocated region will now
have its start page chosen so that page_number & align_mask is zero. If
no alignment is required, align_mask just needs to be set to 0. This is
what page_alloc exploits.
However, the new function page_alloc_aligned is introduces to return
page regions aligned according to their size (num pages will be aligned
by num * PAGE_SIZE). This implied that num needs to be a power of two.
This will be used on the AArch64 port of Jailhouse to support physical
address ranges from 40 to 44 bits: in these configurations, the initial
page table level may take up multiple consecutive pages.
Based on patch by Antonios Motakis.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: af24262ac5020eda9da14db3ab2e84f8297fd4a2
https://github.com/siemens/jailhouse/commit/af24262ac5020eda9da14db3ab2e84f8297fd4a2
Author: Claudio Fontana <[email protected]>
Date: 2016-06-26 (Sun, 26 Jun 2016)
Changed paths:
M hypervisor/arch/arm/lib.c
M hypervisor/lib.c
Log Message:
-----------
core: lib: replace ARM memcpy implementation with generic version
Remove the memcpy implementation from the ARM port, and add a
generic version to the core library for all architectures.
Signed-off-by: Claudio Fontana <[email protected]>
Signed-off-by: Antonios Motakis <[email protected]>
[[email protected]: removed all signs of weakness!]
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 6936d5c860976325b6cd4e2fb30f251db0f133fd
https://github.com/siemens/jailhouse/commit/6936d5c860976325b6cd4e2fb30f251db0f133fd
Author: Antonios Motakis <[email protected]>
Date: 2016-06-26 (Sun, 26 Jun 2016)
Changed paths:
M hypervisor/arch/arm/include/asm/control.h
M hypervisor/arch/arm/include/asm/percpu.h
M hypervisor/arch/arm/lib.c
M hypervisor/arch/arm/psci.c
M hypervisor/arch/arm/setup.c
Log Message:
-----------
arm: psci: support multiple affinity levels in MPIDR
PSCI actually takes CPU parameters by the MPIDR id, which may
differ from the logical id of the CPU. This patch is the first step
into properly handling the CPU affinity levels in the MPIDR.
Signed-off-by: Antonios Motakis <[email protected]>
[Jan: add missing processor.h include to setup.c]
Signed-off-by: Jan Kiszka <[email protected]>
Commit: f404b89d34d44bd23dba889d495564c1fbed992d
https://github.com/siemens/jailhouse/commit/f404b89d34d44bd23dba889d495564c1fbed992d
Author: Antonios Motakis <[email protected]>
Date: 2016-06-26 (Sun, 26 Jun 2016)
Changed paths:
M hypervisor/arch/arm/include/asm/psci.h
M hypervisor/arch/arm/traps.c
Log Message:
-----------
arm: replace IS_PSCI_FN macro with more explicit versions
The previous version of the macro allows for more false positives
than necessary.
Replace the macro with IS_PSCI_32 and IS_PSCI_UBOOT macros, that
explicitly check for the 32 bit PSCI IDs, and the PSCI 0.1 IDs
used by uboot. ARMv8 will need an additinal check for the IDs
of 64 bit PSCI functions.
Signed-off-by: Antonios Motakis <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: bdcdd89e2e4f4aa439935539bb62e0c9fbaf824d
https://github.com/siemens/jailhouse/commit/bdcdd89e2e4f4aa439935539bb62e0c9fbaf824d
Author: Antonios Motakis <[email protected]>
Date: 2016-06-26 (Sun, 26 Jun 2016)
Changed paths:
M hypervisor/arch/arm/gic-common.c
M hypervisor/arch/arm/gic-v2.c
M hypervisor/arch/arm/gic-v3.c
M hypervisor/arch/arm/include/asm/gic_common.h
Log Message:
-----------
arm: move the handle_irq_route function to the GICv3 module
The handle_irq_route function is not needed with the GICv2.
On the ARMv8 port we will not assign a virt_id to each CPU,
opting to use the MPIDR as much as we can from the start.
GICv3 will need heavier refactoring for this purpose; by moving
this function we can reuse the GICv2 code on ARMv8.
Signed-off-by: Antonios Motakis <[email protected]>
[Jan: implement stub in v2 to reduce #ifdefs]
Signed-off-by: Jan Kiszka <[email protected]>
Commit: b2b588833a6e9ade955a723242072120de9f1354
https://github.com/siemens/jailhouse/commit/b2b588833a6e9ade955a723242072120de9f1354
Author: Antonios Motakis <[email protected]>
Date: 2016-06-26 (Sun, 26 Jun 2016)
Changed paths:
M hypervisor/arch/arm/include/asm/paging.h
M hypervisor/arch/arm/include/asm/paging_modes.h
M hypervisor/arch/arm/mmu_cell.c
M hypervisor/arch/arm/paging.c
Log Message:
-----------
arm: prepare port for 48 bit PARange support
We currently support 3 levels of page tables for a 39 bits PA range
on ARM. This patch implements support for 4 level page tables,
and 3 level page tables with a concatenated level 1 root page
table.
On AArch32 we stick with the current restriction of building for
a 39 bit physical address space; however this change will allow
us to support a 40 to 48 bit PARange on AArch64.
Signed-off-by: Antonios Motakis <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 0c0a0086c1deabf39aad0d3f0320da2874603139
https://github.com/siemens/jailhouse/commit/0c0a0086c1deabf39aad0d3f0320da2874603139
Author: Antonios Motakis <[email protected]>
Date: 2016-06-26 (Sun, 26 Jun 2016)
Changed paths:
M hypervisor/arch/arm/include/asm/paging.h
M hypervisor/arch/arm/mmu_cell.c
Log Message:
-----------
arm: put the value of VTCR for cells in a define
We can reuse the code under hypervisor/arch/arm/mmu_cell.c for the
AArch64 port, save for the value we use for the VTCRL. AArch64 will
need in addition to the flags set by the AArch32 port, to set the
size of the address space.
We put this behind a define in asm/paging.h to allow this reuse.
Signed-off-by: Antonios Motakis <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 89b3eb4ad43eb453b7c5d782f150a68e5b6dbec6
https://github.com/siemens/jailhouse/commit/89b3eb4ad43eb453b7c5d782f150a68e5b6dbec6
Author: Antonios Motakis <[email protected]>
Date: 2016-06-26 (Sun, 26 Jun 2016)
Changed paths:
M hypervisor/arch/arm/include/asm/processor.h
M hypervisor/arch/arm/mmu_cell.c
Log Message:
-----------
arm: hide TLB flush behind a macro
Hide TLB flushes issues by the MMU code behind a macro, so we can
increase our chances of reusing some of this code.
Signed-off-by: Antonios Motakis <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: c75977ab419f15af28aa57a03dcc2dccdec62428
https://github.com/siemens/jailhouse/commit/c75977ab419f15af28aa57a03dcc2dccdec62428
Author: Jan Kiszka <[email protected]>
Date: 2016-06-26 (Sun, 26 Jun 2016)
Changed paths:
M hypervisor/arch/arm/include/asm/irqchip.h
Log Message:
-----------
arm: Remove unused struct pending_irq
Leftover of 8b121b498b.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: d99b6e21844e3c99b7195346a08611b3cd46a057
https://github.com/siemens/jailhouse/commit/d99b6e21844e3c99b7195346a08611b3cd46a057
Author: Jan Kiszka <[email protected]>
Date: 2016-06-26 (Sun, 26 Jun 2016)
Changed paths:
M configs/bananapi.c
M configs/f2a88xm-hd3.c
M configs/h87i.c
M configs/imb-a180.c
M configs/ioapic-demo.c
M configs/jetson-tk1.c
M configs/qemu-vm.c
M configs/vexpress-linux-demo.c
M configs/vexpress.c
M hypervisor/arch/arm/irqchip.c
M hypervisor/arch/x86/ioapic.c
M hypervisor/include/jailhouse/cell-config.h
M tools/root-cell-config.c.tmpl
Log Message:
-----------
config, core: Improve irqchip configuration
This aims at supporting irqchips with more than 64 pins. The idea is to
use multiple entries in this case, each describing a distinct set of the
pins. Therefore, a pin_base field is introduced to jailhouse_irqchip.
Moreover, we expand the number of pins for each entry to 128.
We do not exploit the extended pin number on ARM yet, but stick with
64 pins for now. Succeeding change sets will tackle it.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: f2931b157d70e7257da839588cb2a325dc2a0aa6
https://github.com/siemens/jailhouse/commit/f2931b157d70e7257da839588cb2a325dc2a0aa6
Author: Jan Kiszka <[email protected]>
Date: 2016-06-26 (Sun, 26 Jun 2016)
Changed paths:
M hypervisor/arch/arm/include/asm/cell.h
M hypervisor/arch/arm/irqchip.c
Log Message:
-----------
arm: Use full bitmap to manage per-cell interrupt access
Commit: 85783c01aa07f911c6eab0f53536a82a7d207f2f
https://github.com/siemens/jailhouse/commit/85783c01aa07f911c6eab0f53536a82a7d207f2f
Author: Jan Kiszka <[email protected]>
Date: 2016-06-26 (Sun, 26 Jun 2016)
Changed paths:
M configs/bananapi.c
M configs/vexpress-linux-demo.c
M configs/vexpress.c
Log Message:
-----------
config: Correct / comment GIC irqchip addresses
We will soon evaluate them, so their correct value starts to matter.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: d14d1703a7f285a93fde6d3198ab639ec72bb0b8
https://github.com/siemens/jailhouse/commit/d14d1703a7f285a93fde6d3198ab639ec72bb0b8
Author: Jan Kiszka <[email protected]>
Date: 2016-06-26 (Sun, 26 Jun 2016)
Changed paths:
M hypervisor/arch/arm/gic-common.c
Log Message:
-----------
arm: Rename reg parameter of handle_irq_target to irq
Reflects better what this is about.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: b7857f0e03f4caea5b383a5722ce653bfd7e8ad5
https://github.com/siemens/jailhouse/commit/b7857f0e03f4caea5b383a5722ce653bfd7e8ad5
Author: Jan Kiszka <[email protected]>
Date: 2016-06-26 (Sun, 26 Jun 2016)
Changed paths:
M hypervisor/arch/arm/gic-common.c
Log Message:
-----------
arm: Print IRQ number rather than SPI on handle_irq_target errors
Configuration and other reportings are based on absolute IDs as well.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 902ee9cfd32652f6926da709b259d46a68bdebf4
https://github.com/siemens/jailhouse/commit/902ee9cfd32652f6926da709b259d46a68bdebf4
Author: Jan Kiszka <[email protected]>
Date: 2016-06-27 (Mon, 27 Jun 2016)
Changed paths:
M hypervisor/arch/arm/gic-common.c
M hypervisor/arch/arm/gic-v3.c
M hypervisor/arch/arm/include/asm/irqchip.h
M hypervisor/arch/arm/irqchip.c
Log Message:
-----------
arm: Rework spi_in_cell to irqchip_irq_in_cell
Make use of the the fully populated irq_bitmap and enhance spi_in_cell
to consider SGIs and PPIs as well. This allows to simplify
restrict_bitmask_access.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: ddc4a66cfa509b422a5c385783d2e863c7f875dd
https://github.com/siemens/jailhouse/commit/ddc4a66cfa509b422a5c385783d2e863c7f875dd
Author: Jan Kiszka <[email protected]>
Date: 2016-06-27 (Mon, 27 Jun 2016)
Changed paths:
M hypervisor/include/jailhouse/control.h
Log Message:
-----------
core: Introduce first_cpu
Extracted from patch of Antonios Motakis: Avoid the barely readable
"for_each_cpu(...) break;" pattern.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: da2bcc4252b488ad0740df9af6e2a5a90bc4f164
https://github.com/siemens/jailhouse/commit/da2bcc4252b488ad0740df9af6e2a5a90bc4f164
Author: Jan Kiszka <[email protected]>
Date: 2016-06-27 (Mon, 27 Jun 2016)
Changed paths:
M hypervisor/arch/arm/gic-v2.c
M hypervisor/arch/arm/gic-v3.c
M hypervisor/arch/arm/irqchip.c
Log Message:
-----------
arm: Remove SPI target reset on cell destruction
There is no point in updating the SPI routing on cell destruction: all
CPUs the cell owned will be given back to the root cell. So any
previously written valid target configuration remain valid.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: a70819d9adfb29cd096c3ef2e8cafe83a8ff21e1
https://github.com/siemens/jailhouse/commit/a70819d9adfb29cd096c3ef2e8cafe83a8ff21e1
Author: Jan Kiszka <[email protected]>
Date: 2016-06-27 (Mon, 27 Jun 2016)
Changed paths:
M hypervisor/arch/arm/control.c
M hypervisor/arch/arm/include/asm/irqchip.h
M hypervisor/arch/arm/irqchip.c
Log Message:
-----------
arm: Fold irqchip_root_cell_shrink into irqchip_cell_init
Simplifies the code.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 0456bcecbe7d4b1ca159f996a7706c3ec6e3391c
https://github.com/siemens/jailhouse/commit/0456bcecbe7d4b1ca159f996a7706c3ec6e3391c
Author: Jan Kiszka <[email protected]>
Date: 2016-06-27 (Mon, 27 Jun 2016)
Changed paths:
M hypervisor/arch/arm/gic-common.c
M hypervisor/arch/arm/include/asm/gic_common.h
Log Message:
-----------
arm: Factor out gic_targets_in_cell
We will reuse it for affinity adjustments on cell creation.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 90e7060810f2adab5b7646150b9f465014855ed1
https://github.com/siemens/jailhouse/commit/90e7060810f2adab5b7646150b9f465014855ed1
Author: Jan Kiszka <[email protected]>
Date: 2016-06-27 (Mon, 27 Jun 2016)
Changed paths:
M hypervisor/arch/arm/gic-v3.c
Log Message:
-----------
arm: Validate ARE-NS being enabled with GICv3
Linux does enable Affinity Routing, but better check because the code
depends on this.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 011ab917a15057f52d36b1542bf3454abec55160
https://github.com/siemens/jailhouse/commit/011ab917a15057f52d36b1542bf3454abec55160
Author: Jan Kiszka <[email protected]>
Date: 2016-06-27 (Mon, 27 Jun 2016)
Changed paths:
M hypervisor/arch/arm/gic-common.c
M hypervisor/arch/arm/gic-v2.c
M hypervisor/arch/arm/gic-v3.c
M hypervisor/arch/arm/include/asm/gic_common.h
M hypervisor/arch/arm/include/asm/irqchip.h
M hypervisor/arch/arm/irqchip.c
Log Message:
-----------
arm: Rework interrupt affinity management on cell creation
So far, we only ensured that the affinities of interrupts given to new
cells match with the corresponding CPU set. However, we also need to
check that Linux properly adjusted the affinity of all its remaining
interrupts properly.
This introduces a new irqchip callback adjust_irq_target which performs
the check and the potential adjustment to the first CPU of a cell on a
per-interrupt basis. A single loop in irqchip_cell_init triggers them.
gic_target_spis and gic_route_spis become obsolete.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 51f3bdab18fe814430b7d01886494f532d9f4566
https://github.com/siemens/jailhouse/commit/51f3bdab18fe814430b7d01886494f532d9f4566
Author: Jan Kiszka <[email protected]>
Date: 2016-06-28 (Tue, 28 Jun 2016)
Changed paths:
M tools/jailhouse-config-create
Log Message:
-----------
tools: config-create: Do not enter infinite over disabled PCI devices
If a PCI device is disabled, e.g. a secondary GPU, we may not see its
config space anymore while it is still listed. With config all 0xff, we
will then enter an infinite loop while trying to make sense of the
capability list. Prevent this, issuing a warning that we will skip this
device.
Reported-by: Thomas Pettinger <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 5ccf77738bab763691a965177f1346e79f262c75
https://github.com/siemens/jailhouse/commit/5ccf77738bab763691a965177f1346e79f262c75
Author: Jan Kiszka <[email protected]>
Date: 2016-07-05 (Tue, 05 Jul 2016)
Changed paths:
M hypervisor/arch/arm/control.c
Log Message:
-----------
arm: Remove duplicate register resets
Signed-off-by: Jan Kiszka <[email protected]>
Commit: d8e6c3091b4ce50a06cb0e20a7e4105aebb4be97
https://github.com/siemens/jailhouse/commit/d8e6c3091b4ce50a06cb0e20a7e4105aebb4be97
Author: Jan Kiszka <[email protected]>
Date: 2016-07-05 (Tue, 05 Jul 2016)
Changed paths:
M hypervisor/arch/x86/vtd.c
M tools/jailhouse-hardware-check
Log Message:
-----------
x86: Officially support VT-d Caching Mode != 0
We already flush all domain-related caches after reconfigurations,
irrespective of the address ranges changed and how they were changed
(made valid or invalid). So the feature check during unit setup is
actually superfluous - remove it.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 71744b9aaa406f9521d4d2d83593b4851002f0f7
https://github.com/siemens/jailhouse/commit/71744b9aaa406f9521d4d2d83593b4851002f0f7
Author: Jan Kiszka <[email protected]>
Date: 2016-07-08 (Fri, 08 Jul 2016)
Changed paths:
M hypervisor/arch/x86/include/asm/processor.h
M hypervisor/arch/x86/include/asm/vmx.h
M hypervisor/arch/x86/vmx.c
Log Message:
-----------
x86: vmx: Enable INVPCID if reported via CPUID
Linux kernel 4.6 and later make use of this instruction and crash if we
do not allow it. It flushes TLB mappings, but only on the caller's
logical CPU.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 44bf273bf2819398270eb96e864d9d6e865297e5
https://github.com/siemens/jailhouse/commit/44bf273bf2819398270eb96e864d9d6e865297e5
Author: Jan Kiszka <[email protected]>
Date: 2016-07-17 (Sun, 17 Jul 2016)
Changed paths:
M hypervisor/arch/arm/gic-common.c
Log Message:
-----------
arm: Fix corruption of protected bits in restrict_bitmask_access
We must only mask in bits that are permitted according to access_mask.
The current code cause troubles to the root cell when a non-root Linux
instance was booting.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: ce91712ea2b18e139092aed3a1a3891bda63f4c2
https://github.com/siemens/jailhouse/commit/ce91712ea2b18e139092aed3a1a3891bda63f4c2
Author: Jan Kiszka <[email protected]>
Date: 2016-07-17 (Sun, 17 Jul 2016)
Changed paths:
M configs/ivshmem-demo.c
M configs/linux-x86-demo.c
M configs/qemu-vm.c
Log Message:
-----------
configs: Expand ivshmem regions to 1 MB
More space helps with throughput when using the shared memory for
inter-cell networking.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 77c0678dd88ceb64cd00347a7ba2ac1fd4aed9ae
https://github.com/siemens/jailhouse/commit/77c0678dd88ceb64cd00347a7ba2ac1fd4aed9ae
Author: Jan Kiszka <[email protected]>
Date: 2016-07-17 (Sun, 17 Jul 2016)
Changed paths:
M hypervisor/arch/x86/control.c
M hypervisor/include/jailhouse/control.h
Log Message:
-----------
core: Required CPU to be stopped prior to calling arch_shutdown_cpu
This is what shutdown, the only caller, always does and what the ARM
implementation already assumes.
Commit: 9a6e4870b216658077ce1f62851ece7f579f2b29
https://github.com/siemens/jailhouse/commit/9a6e4870b216658077ce1f62851ece7f579f2b29
Author: Jan Kiszka <[email protected]>
Date: 2016-07-17 (Sun, 17 Jul 2016)
Changed paths:
M driver/cell.c
M driver/cell.h
Log Message:
-----------
driver: Make a bunch of cell functions static
jailhouse_cell_create, jailhouse_cell_register, jailhouse_cell_delete -
none of these is used outside of cell.c. Make them static.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: a15ddc3b506a66aa78cdf5fd5500812b495cec80
https://github.com/siemens/jailhouse/commit/a15ddc3b506a66aa78cdf5fd5500812b495cec80
Author: Jan Kiszka <[email protected]>
Date: 2016-07-17 (Sun, 17 Jul 2016)
Changed paths:
M driver/cell.c
M driver/cell.h
M driver/main.c
Log Message:
-----------
driver: Destroy non-root cells before disabling the hypervisor
The hypervisor's disable function will lose support for destroying
non-root cells along with the shutdown. Prepare for this by performing
an explicit non-root cell destruction prior to calling the shutdown
command.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: e9060322fedd18d343338fcabbb96b6285d36262
https://github.com/siemens/jailhouse/commit/e9060322fedd18d343338fcabbb96b6285d36262
Author: Jan Kiszka <[email protected]>
Date: 2016-07-17 (Sun, 17 Jul 2016)
Changed paths:
M Documentation/hypervisor-interfaces.txt
M hypervisor/control.c
Log Message:
-----------
core: Deny shutdown with still existing non-root cells
Simplify the shutdown logic by requiring the root cell driver to
explicitly destroy all non-root cells first. In particular, it helps to
resolve the tricky handover of non-root cell CPUs in unplugged state to
Linux.
At this chance, properly document potential races around the shutdown
and other management hypercalls. They are non-obvious but harmless for
the integrity of any non-root cell.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 9613f81a7d993b8fab6f3edf3e2ecdbcd3f18abe
https://github.com/siemens/jailhouse/commit/9613f81a7d993b8fab6f3edf3e2ecdbcd3f18abe
Author: Jan Kiszka <[email protected]>
Date: 2016-07-17 (Sun, 17 Jul 2016)
Changed paths:
M hypervisor/arch/arm/control.c
M hypervisor/arch/x86/control.c
M hypervisor/arch/x86/include/asm/percpu.h
M hypervisor/include/jailhouse/control.h
Log Message:
-----------
x86, arm: Remove unused arch_shutdown_cpu
Now that we no longer need to shut down non-root CPUs directly, we can
get rid of this arch function. On x86, it also allows the removal of
per_cpu::shutdown_cpu and related handling. On ARM, we can drop the
PSCI_CPU_OFF call from arch_reset_self and the irqchip_cell_exit for
non-root cells from arch_shutdown.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 6d7ac3d3f5361058f860cb992baafb30451f70a5
https://github.com/siemens/jailhouse/commit/6d7ac3d3f5361058f860cb992baafb30451f70a5
Author: Jan Kiszka <[email protected]>
Date: 2016-07-17 (Sun, 17 Jul 2016)
Changed paths:
M hypervisor/mmio.c
Log Message:
-----------
core: Fix printing of invalid MMIO accesses
mem->phys_start is u64, but we only print up to unsigned long. Adjust
the input type. Resolves broken size reports on 32-bit ARM.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 014e86ec2882e6b7722a043879a00dcef143fccb
https://github.com/siemens/jailhouse/commit/014e86ec2882e6b7722a043879a00dcef143fccb
Author: Jan Kiszka <[email protected]>
Date: 2016-07-17 (Sun, 17 Jul 2016)
Changed paths:
M driver/cell.c
Log Message:
-----------
driver: Gracefully handle zero-sized load requests
We currently fail if a load request has a size of 0, because mapping an
empty region fails. While such requests are often caused by corrupted
files there may also be valid use cases. So better handle this
gracefully.
Signed-off-by: Jan Kiszka <[email protected]>
Compare:
https://github.com/siemens/jailhouse/compare/7287a5a75cab...014e86ec2882
--
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.