[siemens/jailhouse] 51f3bd: tools: config-create: Do not enter infinite over d...

13 views
Skip to first unread message

GitHub

unread,
Jul 11, 2016, 11:28:12 PM7/11/16
to jailho...@googlegroups.com
Branch: refs/heads/wip/arm-rework
Home: https://github.com/siemens/jailhouse
Commit: 51f3bdab18fe814430b7d01886494f532d9f4566
https://github.com/siemens/jailhouse/commit/51f3bdab18fe814430b7d01886494f532d9f4566
Author: Jan Kiszka <jan.k...@siemens.com>
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 <thomas.p...@tum.de>
Signed-off-by: Jan Kiszka <jan.k...@siemens.com>


Commit: 5ccf77738bab763691a965177f1346e79f262c75
https://github.com/siemens/jailhouse/commit/5ccf77738bab763691a965177f1346e79f262c75
Author: Jan Kiszka <jan.k...@siemens.com>
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 <jan.k...@siemens.com>


Commit: d8e6c3091b4ce50a06cb0e20a7e4105aebb4be97
https://github.com/siemens/jailhouse/commit/d8e6c3091b4ce50a06cb0e20a7e4105aebb4be97
Author: Jan Kiszka <jan.k...@siemens.com>
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 <jan.k...@siemens.com>


Commit: 71744b9aaa406f9521d4d2d83593b4851002f0f7
https://github.com/siemens/jailhouse/commit/71744b9aaa406f9521d4d2d83593b4851002f0f7
Author: Jan Kiszka <jan.k...@siemens.com>
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 <jan.k...@siemens.com>


Commit: 665ce34139e84eefa66c74e5d1c6db5e6aba88eb
https://github.com/siemens/jailhouse/commit/665ce34139e84eefa66c74e5d1c6db5e6aba88eb
Author: Jan Kiszka <jan.k...@siemens.com>
Date: 2016-07-09 (Sat, 09 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 <jan.k...@siemens.com>


Commit: b1aa70c1013f545f899e6f1ee24abac31da0c19b
https://github.com/siemens/jailhouse/commit/b1aa70c1013f545f899e6f1ee24abac31da0c19b
Author: Jan Kiszka <jan.k...@siemens.com>
Date: 2016-07-09 (Sat, 09 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: 7b99ed3505bb2fe9aca751176e6eff7c1b522357
https://github.com/siemens/jailhouse/commit/7b99ed3505bb2fe9aca751176e6eff7c1b522357
Author: Jan Kiszka <jan.k...@siemens.com>
Date: 2016-07-09 (Sat, 09 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 <jan.k...@siemens.com>


Commit: 6127066debf2094788c652c8e4c6379155945343
https://github.com/siemens/jailhouse/commit/6127066debf2094788c652c8e4c6379155945343
Author: Jan Kiszka <jan.k...@siemens.com>
Date: 2016-07-09 (Sat, 09 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 <jan.k...@siemens.com>


Commit: d3f9f4e9fe12f6fb9276bbc173528130811561ec
https://github.com/siemens/jailhouse/commit/d3f9f4e9fe12f6fb9276bbc173528130811561ec
Author: Jan Kiszka <jan.k...@siemens.com>
Date: 2016-07-09 (Sat, 09 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 <jan.k...@siemens.com>


Commit: 6c87cc8e0342a894932453496799aded73d5600f
https://github.com/siemens/jailhouse/commit/6c87cc8e0342a894932453496799aded73d5600f
Author: Jan Kiszka <jan.k...@siemens.com>
Date: 2016-07-09 (Sat, 09 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 <jan.k...@siemens.com>


Commit: e7f07cf33b57bf74c27c713358e0deff68963b27
https://github.com/siemens/jailhouse/commit/e7f07cf33b57bf74c27c713358e0deff68963b27
Author: Jan Kiszka <jan.k...@siemens.com>
Date: 2016-07-10 (Sun, 10 Jul 2016)

Changed paths:
M driver/main.c
M hypervisor/arch/arm/Makefile
M hypervisor/arch/arm/control.c
M hypervisor/arch/arm/exception.S
M hypervisor/arch/arm/gic-v2.c
M hypervisor/arch/arm/gic-v3.c
M hypervisor/arch/arm/include/asm/cell.h
M hypervisor/arch/arm/include/asm/control.h
M hypervisor/arch/arm/include/asm/irqchip.h
M hypervisor/arch/arm/include/asm/percpu.h
M hypervisor/arch/arm/include/asm/psci.h
M hypervisor/arch/arm/include/asm/smp.h
M hypervisor/arch/arm/include/asm/traps.h
M hypervisor/arch/arm/irqchip.c
M hypervisor/arch/arm/mmio.c
M hypervisor/arch/arm/mmu_cell.c
R hypervisor/arch/arm/psci.c
R hypervisor/arch/arm/psci_low.S
M hypervisor/arch/arm/setup.c
R hypervisor/arch/arm/smp-sun7i.c
R hypervisor/arch/arm/smp-tegra124.c
M hypervisor/arch/arm/smp.c
M hypervisor/arch/arm/traps.c

Log Message:
-----------
Rework ARM to fix races and cache corruptions

PSCI was completely broken, cache flushes corrupted the hypervisor
state, and we need to reset __boot_cpu_mode after onlinening CPUs under
Jailhouse. This requires break-ups, and vexpress is broken.


Compare: https://github.com/siemens/jailhouse/compare/51f3bdab18fe^...e7f07cf33b57

GitHub

unread,
Jul 17, 2016, 1:13:13 PM7/17/16
to jailho...@googlegroups.com
Branch: refs/heads/next
Commit: 44bf273bf2819398270eb96e864d9d6e865297e5
https://github.com/siemens/jailhouse/commit/44bf273bf2819398270eb96e864d9d6e865297e5
Author: Jan Kiszka <jan.k...@siemens.com>
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 <jan.k...@siemens.com>


Commit: ce91712ea2b18e139092aed3a1a3891bda63f4c2
https://github.com/siemens/jailhouse/commit/ce91712ea2b18e139092aed3a1a3891bda63f4c2
Author: Jan Kiszka <jan.k...@siemens.com>
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 <jan.k...@siemens.com>


Commit: 77c0678dd88ceb64cd00347a7ba2ac1fd4aed9ae
https://github.com/siemens/jailhouse/commit/77c0678dd88ceb64cd00347a7ba2ac1fd4aed9ae
Author: Jan Kiszka <jan.k...@siemens.com>
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 <jan.k...@siemens.com>
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 <jan.k...@siemens.com>


Commit: a15ddc3b506a66aa78cdf5fd5500812b495cec80
https://github.com/siemens/jailhouse/commit/a15ddc3b506a66aa78cdf5fd5500812b495cec80
Author: Jan Kiszka <jan.k...@siemens.com>
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 <jan.k...@siemens.com>


Commit: e9060322fedd18d343338fcabbb96b6285d36262
https://github.com/siemens/jailhouse/commit/e9060322fedd18d343338fcabbb96b6285d36262
Author: Jan Kiszka <jan.k...@siemens.com>
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 <jan.k...@siemens.com>


Commit: 9613f81a7d993b8fab6f3edf3e2ecdbcd3f18abe
https://github.com/siemens/jailhouse/commit/9613f81a7d993b8fab6f3edf3e2ecdbcd3f18abe
Author: Jan Kiszka <jan.k...@siemens.com>
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 <jan.k...@siemens.com>


Compare: https://github.com/siemens/jailhouse/compare/011ab917a150...9613f81a7d99
Reply all
Reply to author
Forward
0 new messages