Branch: refs/heads/master
Home: https://github.com/siemens/jailhouse
Commit: 49b3b33c1338a59fd333c69fffbff813990f8042
https://github.com/siemens/jailhouse/commit/49b3b33c1338a59fd333c69fffbff813990f8042
Author: Jan Kiszka <[email protected]>
Date: 2021-03-08 (Mon, 08 Mar 2021)
Changed paths:
M hypervisor/arch/arm-common/gic-v2.c
Log Message:
-----------
arm-common: Reorder gicv2_cpu_init
This pulls CPU ID validation and gicv2_target_cpu_map setup to the
beginning of gicv2_cpu_init so that we can fail early if needed, before
any changes to the hardware configuration are made. This will also help
when introducing SDEI-based management interrupts.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 68e592b1f315172b707e41ec3c6ac1ca86419771
https://github.com/siemens/jailhouse/commit/68e592b1f315172b707e41ec3c6ac1ca86419771
Author: Jan Kiszka <[email protected]>
Date: 2021-03-08 (Mon, 08 Mar 2021)
Changed paths:
M hypervisor/arch/arm-common/smccc.c
M hypervisor/arch/arm/include/asm/smc.h
M hypervisor/arch/arm64/include/asm/smc.h
Log Message:
-----------
arm/arm64: Expand return type of smc helpers to long
This allows to evaluate all 64 bits on arm64. Will be needed for SDEI.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 839f3ab97da1aa1bb98bf8e0afcd66ae6d33ff17
https://github.com/siemens/jailhouse/commit/839f3ab97da1aa1bb98bf8e0afcd66ae6d33ff17
Author: Jan Kiszka <[email protected]>
Date: 2021-03-08 (Mon, 08 Mar 2021)
Changed paths:
M hypervisor/arch/arm/include/asm/smc.h
M hypervisor/arch/arm64/include/asm/smc.h
Log Message:
-----------
arm/arm64: Add further smc helpers
Will be used for SDEI. Actually not on ARM, but we add the smc_arg2 to
please the build and avoid surprises once it is used for real.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 275e855a0b75c03c9162c6a3bb4fe7414bf7e37e
https://github.com/siemens/jailhouse/commit/275e855a0b75c03c9162c6a3bb4fe7414bf7e37e
Author: Jan Kiszka <[email protected]>
Date: 2021-03-08 (Mon, 08 Mar 2021)
Changed paths:
M hypervisor/arch/arm64/setup.c
Log Message:
-----------
arm64: Reorder arch_cpu_init
This will allow to modify the hcr value based on the result of
arm_cpu_init when SDEI is in play.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 467e6524fd2f2f58ea11fa7966695cc9d4048bec
https://github.com/siemens/jailhouse/commit/467e6524fd2f2f58ea11fa7966695cc9d4048bec
Author: Jan Kiszka <[email protected]>
Date: 2021-03-08 (Mon, 08 Mar 2021)
Changed paths:
M hypervisor/arch/arm-common/control.c
M hypervisor/arch/arm-common/include/asm/smccc.h
M hypervisor/arch/arm-common/irqchip.c
M hypervisor/arch/arm-common/smccc.c
Log Message:
-----------
arm-common: Add SDEI-based management event injection support
This is the first building block for switching to management interrupts
using the Software Delegated Exception Interface (SDEI) which will allow
to pass the GICC to the guest.
In this step, the feature flag is introduced - but not yet set -, and
arch_send_event is augmented with sending the event via
SDEI_EVENT_SIGNAL, software event 0.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 4d41e47391385220c796aba6728382a5a37485f0
https://github.com/siemens/jailhouse/commit/4d41e47391385220c796aba6728382a5a37485f0
Author: Jan Kiszka <[email protected]>
Date: 2021-03-08 (Mon, 08 Mar 2021)
Changed paths:
M hypervisor/arch/arm-common/gic-v2.c
M hypervisor/arch/arm-common/gic-v3.c
M hypervisor/arch/arm-common/irqchip.c
Log Message:
-----------
arm-common: Pass through GIC CPU interface in SDEI mode
When SDEI is used for management interrupts, we can give the gicc
completely to the cell. This requires to skip gic-v2 and gic-v3 per-cpu
initializations and to map the physical gicc-v2 into the cell or to not
enable ICH_HCR_EN in case of gic-v3. Furthermore, injected interrupts
now have to be sent as physical SGI to the target, rather than being
queued for the virtual interface.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 482b64b129b5506065095d4e76165bd53ee87d9e
https://github.com/siemens/jailhouse/commit/482b64b129b5506065095d4e76165bd53ee87d9e
Author: Jan Kiszka <[email protected]>
Date: 2021-03-08 (Mon, 08 Mar 2021)
Changed paths:
M hypervisor/arch/arm-common/include/asm/smccc.h
M hypervisor/arch/arm64/asm-defines.c
M hypervisor/arch/arm64/entry.S
M hypervisor/arch/arm64/include/asm/entry.h
M hypervisor/arch/arm64/include/asm/percpu_fields.h
M hypervisor/arch/arm64/setup.c
M hypervisor/arch/arm64/traps.c
Log Message:
-----------
arm64: Add SDEI-based management interrupt handling
This brings the arm64-specific bits to handle management interrupts sent
via SDEI.
The pattern for processing them is derived from NMI-based injection on
x86: The SDEI event can come asynchronously at any time while in EL2,
EL1 or EL0. To avoid having to synchronize with running EL2, translate
it into a trap that is triggered on EL1/0 reentry. We use an invalid
VTCR_EL2 value for this and set the per-cpu sdei_event flag. When EL2
finds this flag set on handling the trap, it kicks off SGI_EVENT
handling and restores VTCR_EL2.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 31b3017324624b02a6731d9a5c6194208e7b3e3e
https://github.com/siemens/jailhouse/commit/31b3017324624b02a6731d9a5c6194208e7b3e3e
Author: Jan Kiszka <[email protected]>
Date: 2021-03-08 (Mon, 08 Mar 2021)
Changed paths:
M hypervisor/arch/arm64/setup.c
Log Message:
-----------
arm64: Do not trap interrupts when using SDEI
They can (and must) be delivered directly to the cell in that mode. GIC
CPU interfaces are already passed through.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 03d07e0f703987b8437969caadc30916aa0f9cbe
https://github.com/siemens/jailhouse/commit/03d07e0f703987b8437969caadc30916aa0f9cbe
Author: Jan Kiszka <[email protected]>
Date: 2021-03-08 (Mon, 08 Mar 2021)
Changed paths:
M hypervisor/arch/arm-common/psci.c
Log Message:
-----------
arm-common: Improve PSCI documentation
Describe what happens around CPU_SUSPEND and use the official symbolic
return code. Also explain what is (not) returned from CPU_OFF.
No functional changes.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: f97e8528200c5800a0a2e24494b2451592e1453f
https://github.com/siemens/jailhouse/commit/f97e8528200c5800a0a2e24494b2451592e1453f
Author: Jan Kiszka <[email protected]>
Date: 2021-03-08 (Mon, 08 Mar 2021)
Changed paths:
M hypervisor/arch/arm-common/include/asm/control.h
M hypervisor/arch/arm-common/psci.c
M hypervisor/arch/arm/control.c
M hypervisor/arch/arm64/control.c
Log Message:
-----------
arm-common: Handle SDEI case in PSCI CPU_SUSPEND
When suspending the CPU while interrupts are passed through, we cannot
simply call wfi as EL2 is not receiving interrupts as wakeup events -
the CPU would starve.
Factor out arm_cpu_passthru_suspend to handle this case by enabling IMO
and FMO before calling wfi. That ensures that EL2 will resume, and as
interrupts are off in that mode, the events will simply be carried to
EL1 when clearing IMO/FMO before returning.
For ARM, arm_cpu_passthru_suspend remains empty as there is no SDEI.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: ee0e5c42c9baf1389481c372693cd8fab0e1cb88
https://github.com/siemens/jailhouse/commit/ee0e5c42c9baf1389481c372693cd8fab0e1cb88
Author: Jan Kiszka <[email protected]>
Date: 2021-03-08 (Mon, 08 Mar 2021)
Changed paths:
M hypervisor/arch/arm-common/include/asm/smccc.h
M hypervisor/arch/arm-common/setup.c
M hypervisor/arch/arm-common/smccc.c
Log Message:
-----------
arm-common: Detect availability of SDEI on arm64
Enhance smccc_discover() to detect if SDEI is available on all CPUs on
arm64. Fail on inconsistent availability, now returning and error code.
SDEI is practically only available on arm64 and also only implemented
there in Jailhouse. So skip the probing on 32-bit.
This activates the previously introduced SDEI paths.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 6234762737513985d5de14d860773ca3257f858c
https://github.com/siemens/jailhouse/commit/6234762737513985d5de14d860773ca3257f858c
Author: Jan Kiszka <[email protected]>
Date: 2021-03-22 (Mon, 22 Mar 2021)
Changed paths:
M configs/arm64/dts/inmate-rpi4.dts
M configs/arm64/rpi4-inmate-demo.c
M configs/arm64/rpi4-linux-demo.c
M configs/arm64/rpi4.c
Log Message:
-----------
configs: arm64: rpi4: Move RAM reservation down by 256 MB
This is needed in order to switch to upstream 5.10 kernel. It refuses to
reserve the formerly used region, apparently due to conflicts with
pre-existing reservations.
Beside adjusting the cell configs, we also need to update the inmate DT
because it now has an overlap with the physical inmate RAM.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 9850d614a2fd97c902dadef4d20217e17ace24dc
https://github.com/siemens/jailhouse/commit/9850d614a2fd97c902dadef4d20217e17ace24dc
Author: Anda-Alexandra Dorneanu <[email protected]>
Date: 2021-03-22 (Mon, 22 Mar 2021)
Changed paths:
A configs/arm64/ls1028a-rdb-inmate-demo.c
A configs/arm64/ls1028a-rdb-linux-demo.c
A configs/arm64/ls1028a-rdb.c
Log Message:
-----------
configs: arm64: Add support for NXP LS1028ARDB platform
Add root cell, inmate cell and Linux demo cell configuration files for NXP
LS1028ARDB platform.
Signed-off-by: Anda-Alexandra Dorneanu <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: d8076d8bce49842558cad154b43f6f5c59192bc4
https://github.com/siemens/jailhouse/commit/d8076d8bce49842558cad154b43f6f5c59192bc4
Author: Anda-Alexandra Dorneanu <[email protected]>
Date: 2021-03-22 (Mon, 22 Mar 2021)
Changed paths:
A configs/arm64/dts/inmate-ls1028a-rdb.dts
Log Message:
-----------
configs: arm64: Add Linux inmate DTS demo for NXP LS1028ARDB platform
Add device tree demo for Linux inmate running on NXP LS1028ARDB platform
Signed-off-by: Anda-Alexandra Dorneanu <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: ecd3cf0ae00e3dc3e122b730f53752180df9393b
https://github.com/siemens/jailhouse/commit/ecd3cf0ae00e3dc3e122b730f53752180df9393b
Author: Alice Guo <[email protected]>
Date: 2021-03-22 (Mon, 22 Mar 2021)
Changed paths:
M configs/arm64/dts/inmate-imx8mm-evk.dts
M configs/arm64/dts/inmate-imx8mn-ddr4-evk.dts
M configs/arm64/dts/inmate-imx8mp-evk.dts
M configs/arm64/dts/inmate-imx8mq-evk.dts
Log Message:
-----------
arm64: dts: imx8m: add pmu node
Adding pmu node supports to use perf tool to monitor the CPU performance
of the inmate cell when enabling Jailhouse and running dual Linux OS.
Signed-off-by: Alice Guo <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: d22033b6367bedcc2890260fc23be3d5934df95b
https://github.com/siemens/jailhouse/commit/d22033b6367bedcc2890260fc23be3d5934df95b
Author: Peng Fan <[email protected]>
Date: 2021-04-17 (Sat, 17 Apr 2021)
Changed paths:
M hypervisor/arch/arm-common/uart-imx.c
M inmates/lib/arm-common/uart-imx.c
Log Message:
-----------
Check UART UCR1_UARTEN bit before writing data
There is frequent start/shutdown operation in kernel reboot process.
And at the end of kernel reboot, kernel will switch to use console
output,saying imx_console_write on i.MX8MM.
imx_console_write will save/restore uart configuration.
However before imx_console_write the UCR1_UARTEN already set to 0.
when restore, it is also 0. Then when we runs into jailhouse
disable, jailhouse write to uart will trigger hardware exceptions.
So let's add a check.
However to hypervisor itself, there is still risk that
kernel disable uart, whenh jailhouse is going to write
data registers even with this patch applied.
There is no good way to avoid such contention,
the best way to avoid such issue is that
use a different uart from Linux or remove
`.type = JAILHOUSE_CON_TYPE_IMX,` from configs/arm64/imx8mm.c.
Remove `.type = JAILHOUSE_CON_TYPE_IMX,` means
jailhouse hypervisor will not output to uart, but you still
could see jailhouse log by `cat /dev/jailhouse`
Signed-off-by: Peng Fan <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 8a82d38ee12c3ab64b0cc95bee35a74ac9bdd391
https://github.com/siemens/jailhouse/commit/8a82d38ee12c3ab64b0cc95bee35a74ac9bdd391
Author: Peng Fan <[email protected]>
Date: 2021-04-17 (Sat, 17 Apr 2021)
Changed paths:
M hypervisor/arch/arm-common/gic-v3.c
M hypervisor/arch/arm-common/include/asm/control.h
Log Message:
-----------
arm: gic-v3: not overwrite interrupt settings needed by EL2
SGI_INJECT, SGI_EVENT, and maint interrupt are needed by Jailhouse and
must not be controlled by the inmate. E.g., we allowed the inmate to
disabled those interrupts, stalling Jailhouse on management operations.
Signed-off-by: Peng Fan <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 1423b55d303d0f27b97b0ee223a451c3e50cda91
https://github.com/siemens/jailhouse/commit/1423b55d303d0f27b97b0ee223a451c3e50cda91
Author: Peng Fan <[email protected]>
Date: 2021-04-17 (Sat, 17 Apr 2021)
Changed paths:
M configs/arm64/imx8mp-linux-demo.c
M configs/arm64/imx8mp.c
Log Message:
-----------
imx8mp: support virtio console/block
Support virtio console/block, the reserved memory
has already been reserved in linux dts, we reserved 2MB when
initially support ivshmem which 1MB is not used at that time,
but now the left 1MB is well fit for virtio console/block.
Signed-off-by: Peng Fan <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: b8f4aebd7ae665dc8011dc7070e8f978acb0de55
https://github.com/siemens/jailhouse/commit/b8f4aebd7ae665dc8011dc7070e8f978acb0de55
Author: Peng Fan <[email protected]>
Date: 2021-04-17 (Sat, 17 Apr 2021)
Changed paths:
M configs/arm64/imx8mm-linux-demo.c
M configs/arm64/imx8mm.c
M configs/arm64/imx8mp-inmate-demo.c
M configs/arm64/imx8mp-linux-demo.c
M configs/arm64/imx8mp.c
M configs/arm64/imx8mq-linux-demo.c
M configs/arm64/imx8mq.c
Log Message:
-----------
arm64: imx8m: correct pci domain
After linux moved to use linux,pci-domain, we update to
correct pci domain here to use a domain not used by pci hardware.
i.MX8MQ: 2
i.MX8MM: 1
i.MX8MN: 0
i.MX8MP: 2
Working with NXP vendor tree is 5.10.
Upstream tree only has i.MX8MQ pcie, since 5.11.
Signed-off-by: Peng Fan <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 87aa37d4236dedd81c1c9219ef3f5e6713d42d52
https://github.com/siemens/jailhouse/commit/87aa37d4236dedd81c1c9219ef3f5e6713d42d52
Author: Chase Conklin <[email protected]>
Date: 2021-04-17 (Sat, 17 Apr 2021)
Changed paths:
M hypervisor/paging.c
Log Message:
-----------
core: avoid overflow in paging_destroy
It is possible for the ending address in paging_destroy to overflow to
exactly 0. For example, in a build with 32-bit addresses, a request to
unmap 512MB at 0xe0000000 will result in an overflow (0xe0000000 +
0x20000000 = 0x100000000 which exceeds 32 bits).
This overflow can be avoided by comparing the last address in the
region to be unmapped rather than the first address to not be
unmapped.
Fixes: 7cffb9b7d54d ("core: fix hugepage splitting in paging_destroy")
Signed-off-by: Chase Conklin <[email protected]>
[Jan: tweak comment to address also size == 0 case]
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 95cb81c355584e2a6a81b5d42154f4c7555d7644
https://github.com/siemens/jailhouse/commit/95cb81c355584e2a6a81b5d42154f4c7555d7644
Author: Bram Hooimeijer <[email protected]>
Date: 2021-04-20 (Tue, 20 Apr 2021)
Changed paths:
M inmates/lib/alloc.c
M inmates/lib/arm-common/mem.c
M inmates/lib/include/inmate_common.h
M inmates/lib/x86/mem.c
M inmates/lib/x86/smp.c
Log Message:
-----------
inmates/lib: Add zeroed alloc, and update usage
Adds zalloc(size, align) which allocates memory and fills it with zeros.
Replaces usage of alloc() in inmates/lib with zalloc().
Motivation is that use of alloc without zeroing mem.c:map_range()
results in illegal page tables if memory contains artefacts.
Signed-off-by: Bram Hooimeijer <[email protected]>
Reviewed-by: Ralf Ramsauer <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: e0ba79023af9084aef86003c97a91b705e3a7c5d
https://github.com/siemens/jailhouse/commit/e0ba79023af9084aef86003c97a91b705e3a7c5d
Author: Jan Kiszka <[email protected]>
Date: 2021-04-26 (Mon, 26 Apr 2021)
Changed paths:
M tools/jailhouse-enable.8.in
Log Message:
-----------
tools: Fix mistake in jailhouse-enable man page
Reported-by: Dr. Johann Pfefferl <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 6d9c51d0bd819689c00f6a3c38d3099f6eb9c657
https://github.com/siemens/jailhouse/commit/6d9c51d0bd819689c00f6a3c38d3099f6eb9c657
Author: Jan Kiszka <[email protected]>
Date: 2021-05-21 (Fri, 21 May 2021)
Changed paths:
M pyjailhouse/sysfs_parser.py
Log Message:
-----------
pyjailhouse: sysfs_parser: Make sure to include VGA MMIO region
The VGA region may be listed under "VGA Bus 0000:00" for built-in GPUs.
That currently triggers the filtering rule "no empty buses" - which is
actually not true in this case. Make sure we add that region
nevertheless.
Signed-off-by: Jan Kiszka <[email protected]>
Compare:
https://github.com/siemens/jailhouse/compare/6c09785cb079...6d9c51d0bd81
--
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].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jailhouse-dev/siemens/jailhouse/push/refs/heads/master/6c0978-6d9c51%40github.com.