Branch: refs/heads/master Home: https://github.com/siemens/jailhouse
Commit: 5d84afa48d1634983ccc1b69e7de2bed96826947 https://github.com/siemens/jailhouse/commit/5d84afa48d1634983ccc1b69e7de2bed96826947 Author: Oliver Schwartz <oliver.schwa...@gmx.de> Date: 2020-09-21 (Mon, 21 Sep 2020) Changed paths: M hypervisor/arch/arm64/include/asm/smc.h M include/arch/arm64/asm/jailhouse_hypercall.h Log Message: ----------- arm64: Make sure SMC and HVC calls don't have side effects SMC/HVC calls may modify registers x0 to x3. To make sure the compiler doesn't assume input registers to be constant, also mark these registers as output when used as input. Signed-off-by: Oliver Schwartz <oliver.schwa...@gmx.de> [Jan: rebased on next, aligned smc to smc_arg1, style] Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 0abce56ab02b59f96e508723b34558c94d05434b https://github.com/siemens/jailhouse/commit/0abce56ab02b59f96e508723b34558c94d05434b Author: Oliver Schwartz <oliver.schwa...@gmx.de> Date: 2020-09-21 (Mon, 21 Sep 2020) Changed paths: M hypervisor/arch/arm/include/asm/smc.h M include/arch/arm/asm/jailhouse_hypercall.h Log Message: ----------- arm: Make sure SMC and HVC calls don't have side effects SMC/HVC calls may modify registers r0 to r3. To make sure the compiler doesn't assume input registers to be constant, also mark these registers as output when used as input. Signed-off-by: Oliver Schwartz <oliver.schwa...@gmx.de> [Jan: rebased on next, style] Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 754870fe7cfd978cdd72dc027f90995268091035 https://github.com/siemens/jailhouse/commit/754870fe7cfd978cdd72dc027f90995268091035 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-09-21 (Mon, 21 Sep 2020) Changed paths: M include/arch/arm-common/asm/jailhouse_hypercall.h M include/arch/arm/asm/jailhouse_hypercall.h M include/arch/arm64/asm/jailhouse_hypercall.h Log Message: ----------- arm/arm64: Factor out common hypercall stubs Just the argument types differ. Factoring that out allows to move all stub definitions to the common header. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: d448a0f372070d27ef128205a14fafb19e73e8a3 https://github.com/siemens/jailhouse/commit/d448a0f372070d27ef128205a14fafb19e73e8a3 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-09-21 (Mon, 21 Sep 2020) Changed paths: M hypervisor/arch/arm/mmu_hyp.c Log Message: ----------- arm: Drop sp from clobber list This gives warning: listing the stack pointer register ‘sp’ in a clobber list is deprecated note: the value of the stack pointer after an ‘asm’ statement must be the same as it was before the statement with gcc 9. Obviously, this cannot be fulfilled in the given case as it is one of the purposes of the assembly block. But as there is no code after it anyway, it's safe to drop sp from the clobbering list. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 068aa113e63f4d6519087c0f5d40b4e20f900bed https://github.com/siemens/jailhouse/commit/068aa113e63f4d6519087c0f5d40b4e20f900bed Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-09-21 (Mon, 21 Sep 2020) Changed paths: M hypervisor/arch/arm/include/asm/sysregs.h M hypervisor/arch/arm64/include/asm/sysregs.h M inmates/lib/arm/include/asm/sysregs.h M inmates/lib/arm64/include/asm/sysregs.h M inmates/tests/x86/sse-demo.c Log Message: ----------- hypervisor, inmates: Make spacing consistent in assembly constraints No functional changes. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: f9325e628926c47a1ec75f7b0e53c571bed3d4e5 https://github.com/siemens/jailhouse/commit/f9325e628926c47a1ec75f7b0e53c571bed3d4e5 Author: Ralf Ramsauer <ralf.ramsa...@oth-regensburg.de> Date: 2020-09-25 (Fri, 25 Sep 2020) Changed paths: M inmates/lib/x86/include/asm/regs.h M inmates/lib/x86/mem.c Log Message: ----------- inmates: x86: paging: move definitions to regs.h We'll need them in assembly, so move them over to regs.h and align the naming with the hypervisor. And introduce the shorthand PAGE_DEFAULT_FLAGS. No functional change. Signed-off-by: Ralf Ramsauer <ralf.ramsa...@oth-regensburg.de> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: b9e596b529f7e15d7cbbe9b273c6eef746e98ffe https://github.com/siemens/jailhouse/commit/b9e596b529f7e15d7cbbe9b273c6eef746e98ffe Author: Ralf Ramsauer <ralf.ramsa...@oth-regensburg.de> Date: 2020-09-25 (Fri, 25 Sep 2020) Changed paths: M inmates/lib/x86/header-32.S M inmates/lib/x86/header-64.S Log Message: ----------- inmates: x86: replace hardcoded constants Use this chance to s/loader_pdpt/pd/ in header-32.S. It's a page directory on x86-32 and not a page directory pointer table. No functional change. Signed-off-by: Ralf Ramsauer <ralf.ramsa...@oth-regensburg.de> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: a744fadddd8bce4e6b32e283ca84f5f6c17cd3f6 https://github.com/siemens/jailhouse/commit/a744fadddd8bce4e6b32e283ca84f5f6c17cd3f6 Author: Alice Guo <alice....@nxp.com> Date: 2020-09-25 (Fri, 25 Sep 2020) Changed paths: M include/jailhouse/cell-config.h Log Message: ----------- cell-config: add support for MMU-500 configuration in cell-config.h Add JAILHOUSE_IOMMU_ARM_MMU500 to the Jailhouse iommu type. Add arm_sid_mask to struct jailhouse_iommu, and it is a mask of StreamID bits irrelevant to the matching process. Signed-off-by: Alice Guo <alice....@nxp.com> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 68ced33fa4a92030ec613543a29ef84711268e29 https://github.com/siemens/jailhouse/commit/68ced33fa4a92030ec613543a29ef84711268e29 Author: Alice Guo <alice....@nxp.com> Date: 2020-09-25 (Fri, 25 Sep 2020) Changed paths: M hypervisor/include/jailhouse/utils.h Log Message: ----------- core: provide macro SET_FIELD SET_FIELD allows to set bits[last:first] with the given value. Signed-off-by: Alice Guo <alice....@nxp.com> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 3f78d4cbe0e8db6c42d38c82479283c221bb7b69 https://github.com/siemens/jailhouse/commit/3f78d4cbe0e8db6c42d38c82479283c221bb7b69 Author: Alice Guo <alice....@nxp.com> Date: 2020-09-25 (Fri, 25 Sep 2020) Changed paths: M hypervisor/arch/arm64/Kbuild M hypervisor/arch/arm64/include/asm/sysregs.h A hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: support ARM MMU-500 Enable SMMU for processors which use MMU-500 to implement the ARM SMMU architecture v2. It supports stage 2 translation that allows a hypervisor define the translation tables that translate the IPAs for a particular guest operating system to PAs. Signed-off-by: Alice Guo <alice....@nxp.com> [Jan: fold in SZ defines] Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 90db7006488d638df345b95a4c871a783fab9d63 https://github.com/siemens/jailhouse/commit/90db7006488d638df345b95a4c871a783fab9d63 Author: Alice Guo <alice....@nxp.com> Date: 2020-09-25 (Fri, 25 Sep 2020) Changed paths: A configs/arm64/imx8qm-inmate-demo.c A configs/arm64/imx8qm-linux-demo.c A configs/arm64/imx8qm.c Log Message: ----------- configs: imx8qm: add configuration files Add root cell and inmate cell configuration files for imx8qm. Signed-off-by: Alice Guo <alice....@nxp.com> [Jan: rename to imx8qm-inmate-demo] Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: c1a7dd847f9b06e592a93d51ff0f50d7f6d88b37 https://github.com/siemens/jailhouse/commit/c1a7dd847f9b06e592a93d51ff0f50d7f6d88b37 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-09-25 (Fri, 25 Sep 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Simplify __arm_smmu_tlb_sync No need for a two-stage loop here. Just test and then delay before the next try. This aligns us with the original version in Linux. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: f258244cc57e69dbba1ff4a94d4f35541cdf8baa https://github.com/siemens/jailhouse/commit/f258244cc57e69dbba1ff4a94d4f35541cdf8baa Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-09-25 (Fri, 25 Sep 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Allow arm_smmu_init_context_bank to return an error If arm_smmu_init_context_bank detects an invalid/unsupported pa_size, allow it to return an error and handle that properly. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 05a7d5fdab8a4da1bcbba7a1deab233c3a217f01 https://github.com/siemens/jailhouse/commit/05a7d5fdab8a4da1bcbba7a1deab233c3a217f01 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-09-25 (Fri, 25 Sep 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Clarify that mapping mismatch is just a warning The Linux kernel commit c55af7f719cb writes: "Such a mismatch could be intentional (to fix wrong register values). If its not intentional (e.g. due to wrong DT information) this will very likely cause a malfunction of the driver as SMMU_CB_BASE is derived from the size of the mapped region. The warning helps to identify the root cause in this case." Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 04866b908593d05c8c8be29fda6c890d83a99a6c https://github.com/siemens/jailhouse/commit/04866b908593d05c8c8be29fda6c890d83a99a6c Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-09-25 (Fri, 25 Sep 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Consolidate translation stage detection and reporting We only support stage-2 translations, so quite a bit of inherited logic from Linux can be dropped. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: fee50d3d617b6ab72c4e22371adf31b394a9454b https://github.com/siemens/jailhouse/commit/fee50d3d617b6ab72c4e22371adf31b394a9454b Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-09-25 (Fri, 25 Sep 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Fold __arm_smmu_tlb_sync into single caller No need to have that inner function separately. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 47b390bac76c1ecb797ed6ed2d7c81373e1cc923 https://github.com/siemens/jailhouse/commit/47b390bac76c1ecb797ed6ed2d7c81373e1cc923 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-09-25 (Fri, 25 Sep 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Drop duplicate error messages arm_smmu_tlb_sync_global already reports when it fails. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 5dd302c96c54f4407a5ce0ea698b79944f5ba8d1 https://github.com/siemens/jailhouse/commit/5dd302c96c54f4407a5ce0ea698b79944f5ba8d1 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Handle arm_smmu_find_sme error properly Bail out if they happen during cell init - apparently configuration errors. Skip the entry if that happens during cell exit (unlikely). [Andrea Bastoni: Fix double negative in trace_error] Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 2101e5b84589ca82d926d88f3662e5896d731f77 https://github.com/siemens/jailhouse/commit/2101e5b84589ca82d926d88f3662e5896d731f77 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Improve output during setup Makes the output more compact, fixes one missing line break and adds a correlation with the physical unit. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 9e42d85249af06b6a2a057671d5debba28e8067d https://github.com/siemens/jailhouse/commit/9e42d85249af06b6a2a057671d5debba28e8067d Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M inmates/Makefile Log Message: ----------- inmates: arm, arm64: Remove dangling include search path This was obsoleted by splitting the inmate headers from the hypervisor internal ones, somewhere around ce98ecaad89b. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 941569fef655e7f7696851b139683c083246380f https://github.com/siemens/jailhouse/commit/941569fef655e7f7696851b139683c083246380f Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: A hypervisor/arch/arm-common/include/asm/processor.h M hypervisor/arch/arm/include/asm/processor.h M hypervisor/arch/arm64/include/asm/processor.h Log Message: ----------- arm-common: Factor out common processor.h parts No need to duplicate them in the arm/arm64 specific headers. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: f40bb3752fa4a33bbcbe8108aa37b88bc7a7dc1b https://github.com/siemens/jailhouse/commit/f40bb3752fa4a33bbcbe8108aa37b88bc7a7dc1b Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm-common/gic-v2.c M hypervisor/arch/arm-common/gic-v3.c M hypervisor/arch/arm-common/include/asm/irqchip.h M hypervisor/arch/arm-common/irqchip.c Log Message: ----------- arm-common: Drop return code from irqchip_send_sgi None of the callers checks it, and all of the callers ensure that only SGI IDs are passed. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 2b752d23d40fc56c6e36af0cec9252dffa7f9785 https://github.com/siemens/jailhouse/commit/2b752d23d40fc56c6e36af0cec9252dffa7f9785 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M tools/jailhouse-config-create Log Message: ----------- pyjailhouse: Do not fail on missing date for DebugConsole All readouts are optional, but then they will return empty strings. Converting them to integer will raise ValueError. Catch that and ignore it - we won't have DebugConsole information then, as desired. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: ae63343fd302983ac1b36fe9b615daa742e2c88b https://github.com/siemens/jailhouse/commit/ae63343fd302983ac1b36fe9b615daa742e2c88b Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M pyjailhouse/sysfs_parser.py Log Message: ----------- pyjailhouse: sysfs_parser: Fix regions_split_by_kernel corner cases If the kernel is at the beginning or at the end of a region, before_kernel or after_kernel could stay None, and adding a NoneType object to the regions will make other parts unhappy. Better construct a list without any None elements. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: ad188b3c1d177872cd57bd90f106288a031df654 https://github.com/siemens/jailhouse/commit/ad188b3c1d177872cd57bd90f106288a031df654 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/x86/vtd.c Log Message: ----------- x86: vtd: Fix interpretation of redirection hint Reading the KVM code of Linux and re-reading the spec, multiple times, it became clear the RH only controls whether one or all CPUs of a potential target group should be addressed. If it's set only one is chosen, via lowest-prio, but that is done by the hardware. For us, its state does not matter. We always consider a multicast scenario, thus simply ignore the state of this bit. This fixes startup errors when DH=1 and RH=0 of the kind FATAL: Unsupported MSI/MSI-X state, device ... Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: b9db8db073aec049f042c13401a9a529c236f5e9 https://github.com/siemens/jailhouse/commit/b9db8db073aec049f042c13401a9a529c236f5e9 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M include/jailhouse/cell-config.h Log Message: ----------- ivshmem: Expand MSI-X region to full page It's a bit wasteful, but the alternative can be that the guest moves the region close to a physical one, and then we need to start configuring sub-page dispatching. That is first of all a source for mistakes (specifically in combination with generated configs), and it may even be suboptimal in case exceeding, full-page access on that physical region would have been safe. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 6f01f5b95f9815e9a627776ff748bb1b3862c563 https://github.com/siemens/jailhouse/commit/6f01f5b95f9815e9a627776ff748bb1b3862c563 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M Kbuild M configs/Makefile M hypervisor/Makefile M inmates/Makefile Log Message: ----------- kbuild: Set -Werror in all KBUILD_CFLAGS subdir-ccflags-y doesn't have the desired effect, at least with recent kernels. Reported-by: Jan-Marc Stranz <stranzjanm...@gmail.com> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 72cf271c9bd88922682c60583a6bca3bf15deb0b https://github.com/siemens/jailhouse/commit/72cf271c9bd88922682c60583a6bca3bf15deb0b Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M configs/arm64/ultra96.c Log Message: ----------- configs: arm64: Add SMMU configuration for Ultra96 This only lists the SDIO interfaces for now - more isn't working with mainline so far. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: f2cd6f0587242c564c554c1f6dcdcecbd62a0845 https://github.com/siemens/jailhouse/commit/f2cd6f0587242c564c554c1f6dcdcecbd62a0845 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/paging.c Log Message: ----------- arm64: Cap parange at 48 bits This is the limit for 4K-paging which we rely on in Jailhouse. Make sure that, if we hit support for even larger sizes, we still end up with this limit. Reported-by: Chase Conklin <chase.conk...@arm.com> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 9115ccc93fde0f14b00bb7aba85d6ad4254a0be5 https://github.com/siemens/jailhouse/commit/9115ccc93fde0f14b00bb7aba85d6ad4254a0be5 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/include/asm/paging.h M hypervisor/arch/arm64/paging.c Log Message: ----------- arm64: Introduce cpu_parange_encoded Keep the encode parange value as well. This allows to use it directly in VTCR_CELL, rather than re-encoding it via TCR_PS_CELL. It will also allow reuse by the SMMUv2 code. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 4d0485bb65fd4c78f3248d55c4271ad74773f745 https://github.com/siemens/jailhouse/commit/4d0485bb65fd4c78f3248d55c4271ad74773f745 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/include/asm/paging.h M hypervisor/arch/arm64/paging.c Log Message: ----------- arm64: Simplify get_cpu_parange Array lookup is simpler, given this input-output mapping. This also obsoletes a couple of PARANGE constants. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 2833e410afb1aa4b97de56bb43c89b4a8800fbc3 https://github.com/siemens/jailhouse/commit/2833e410afb1aa4b97de56bb43c89b4a8800fbc3 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Deny transfers by default Make sure that DMA transfers from unconfigured sources do not sneak by. This is in line with the access policy for other resources: Deny what is not explicitly allowed. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: a76ffdce71cb370c30c35c25b1c43a8a5ea56b10 https://github.com/siemens/jailhouse/commit/a76ffdce71cb370c30c35c25b1c43a8a5ea56b10 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Drop test for non-zero base address Setting type to JAILHOUSE_IOMMU_ARM_MMU500 already implies that the entry is valid. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: ad6b9b1abc82fa857ad2dd63a476859a29c5e47b https://github.com/siemens/jailhouse/commit/ad6b9b1abc82fa857ad2dd63a476859a29c5e47b Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Drop useless features initialization This field already comes zero-initialized. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 6b8dbad8dc3d64770e1b8048b2708b82e04f370e https://github.com/siemens/jailhouse/commit/6b8dbad8dc3d64770e1b8048b2708b82e04f370e Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Clean up arm_smmu_find_sme parameters Just pass in the arm_smmu_device, rather than the mask associated with that device and the device index. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: b3af35bcb954cc845a71e3cf569b9ec4219b8a9d https://github.com/siemens/jailhouse/commit/b3af35bcb954cc845a71e3cf569b9ec4219b8a9d Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Refactor smmu device setup and usage We only need iommu_units from the system configuration during setup. Afterwards, we work solely against entries of smmu_device. Rework the usage of the latter by filling the smmu_device array independently of the iommu_units and iterating over the former later on. Introduce an iterator macro for this. Helps to simplify the code. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: b7bb6120b3505b670e6940c4982bc22d1344797e https://github.com/siemens/jailhouse/commit/b7bb6120b3505b670e6940c4982bc22d1344797e Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Fold arm_smmu_free_sme into single caller Simplifies the code. Also removes the test of the return value which was always true. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: ffbcd510f21bbe121b709a09f412ae4cda640df4 https://github.com/siemens/jailhouse/commit/ffbcd510f21bbe121b709a09f412ae4cda640df4 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Replace for_each_smmu_sid with for_each_stream_id We already had an iteration macro. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 071906b8e41c9f7efd955df86e47acf037872a49 https://github.com/siemens/jailhouse/commit/071906b8e41c9f7efd955df86e47acf037872a49 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Make sCR0 write-only There is no need to preserve existing settings, and reserved fields can always be overwritten by zeros (Should-Be-Zero-*or*-Preserved). Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 90073b893b232021f3df844c870df2466dadc486 https://github.com/siemens/jailhouse/commit/90073b893b232021f3df844c870df2466dadc486 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Add shutdown handler Properly disable the SMMU on shutdown as well as on errors during setup. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: a9e34e9c9c2a81984e018b58a4c9a24aa6d055b4 https://github.com/siemens/jailhouse/commit/a9e34e9c9c2a81984e018b58a4c9a24aa6d055b4 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Tune output Reporting of the number of configures stream IDs does not provide any value. Rather report StreamID assignments. Convert two unlikely error outputs into trace_error. Furthermore, report "stage-2" consistently. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 0b587bfb97bcee2933a626a682ccfcd18ac91b12 https://github.com/siemens/jailhouse/commit/0b587bfb97bcee2933a626a682ccfcd18ac91b12 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Remove IRPTNDX traces Not used with SMMUv2, which is what we focus on. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 540ee6b59682364bd01e3dcc1a47c49d9a799a7c https://github.com/siemens/jailhouse/commit/540ee6b59682364bd01e3dcc1a47c49d9a799a7c Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Remove bogus Extended StreamID support fragments We do not use the extended S2CR / SMR registers, but we enabled extended StreamID matching when it was found. That would have broken platforms carrying this feature. Remove all traces for now. Can be added properly when there is a need and full support for more. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 5c6cef4f99adcadd4681484d869b3e9b381cb8d7 https://github.com/siemens/jailhouse/commit/5c6cef4f99adcadd4681484d869b3e9b381cb8d7 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Drop unneeded includes Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: df21ea6cc6f83bce25023022e20931ca35afe2ad https://github.com/siemens/jailhouse/commit/df21ea6cc6f83bce25023022e20931ca35afe2ad Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Do not stall failing context transaction We do not handle faults, e.g. by resuming them later on. Stalling failed transactions will soon lead to a stalled SMMU, blocking even valid transactions. This could easily be reproduced by stealing a used StreamID from the root cell. On the Zynqmp, this lead to all transactions of the root cell to be blocked. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: fa820f7cd8c60c87e67760eaf834addd8d43c435 https://github.com/siemens/jailhouse/commit/fa820f7cd8c60c87e67760eaf834addd8d43c435 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/include/asm/sysregs.h M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Move S2CR macro out of sysregs.h Misplaced, they SMMUv1-specific. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: aa4112076f4c20a3529469dc26004d3e9d17cee6 https://github.com/siemens/jailhouse/commit/aa4112076f4c20a3529469dc26004d3e9d17cee6 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Refactor S2CR handling There is no need to cache the value we write to S2CRn. Drop the related data structure and pass the values to be written to arm_smmu_write_s2cr directly. This implies dropping arm_smmu_write_sme, open-coding it. Still a net gain as a lot of boilerplate code can be dropped. Along this cleanup, convert arm_smmu_s2cr_type and arm_smmu_s2cr_privcfg into defines, only encoding what we use. There is no value in enums. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 36aa3def4cf4d27f832547f45b9430c986179f14 https://github.com/siemens/jailhouse/commit/36aa3def4cf4d27f832547f45b9430c986179f14 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Simplify VMID and CBNDX allocation Leaving VMID 0 free comes from Linux but is unneeded for Jailhouse. Simply use one ID, the cell ID, for both VMID and the context bank index. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: f9db967278803d6b09811c9c3e73095ff4c35a60 https://github.com/siemens/jailhouse/commit/f9db967278803d6b09811c9c3e73095ff4c35a60 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Drop write-only pgsize_bitmap Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 5fcef354737d6abc6314f2cbaea465edb1e3cab3 https://github.com/siemens/jailhouse/commit/5fcef354737d6abc6314f2cbaea465edb1e3cab3 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Drop write-only va_size field Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: e5c66ec55628aed5425da9ef051f159ef2b6a79c https://github.com/siemens/jailhouse/commit/e5c66ec55628aed5425da9ef051f159ef2b6a79c Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Demand aarch64-4K paging, drop probing of unused formats We are aarch64-only, and we shared the page table with the MMU. Jailhouse uses 4K-paging for that, so there is no point in probing for other format. In fact, we must demand ID2_PTFS_4K, otherwise things would break. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 53f26d64a013c5d77fe4ca3e589a1e9b2dff13f1 https://github.com/siemens/jailhouse/commit/53f26d64a013c5d77fe4ca3e589a1e9b2dff13f1 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Fix CBn_TCR initialization This was simply wrong: We must use the same settings for the SMMU as for the MMU because we share the page tables. We can pick up VTCR_CELL for this, just like SMMUv3 does, we just need to mask out reserved bits. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 406847b5f1bc8ac66a8766ac026968221577b355 https://github.com/siemens/jailhouse/commit/406847b5f1bc8ac66a8766ac026968221577b355 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Drop coherency reporting We don't do anything with this because we always flush TLBs after changing the mappings. Commit: c9c3c76714fb2c838a1d05469bfa701810ea7d20 https://github.com/siemens/jailhouse/commit/c9c3c76714fb2c838a1d05469bfa701810ea7d20 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Drop stream-match feature recording We keep this information via smrs != NULL. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: c3822548cbacd92955a25b2d8408ca7060974112 https://github.com/siemens/jailhouse/commit/c3822548cbacd92955a25b2d8408ca7060974112 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Drop 16-bit VMID feature We are limited by the number of context banks, and those are 128 at most. That fits into 8 bits. This obsoletes the features field in arm_smmu_device. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: e8998674ad372a764e233bb07ca422add50333e0 https://github.com/siemens/jailhouse/commit/e8998674ad372a764e233bb07ca422add50333e0 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Drop dead ARM_SMMU_OPT_SECURE_CFG_ACCESS In Linux, this is set for a caldexa device which we do not support. So ARM_SMMU_OPT_SECURE_CFG_ACCESS was never set. Simply replace ARM_SMMU_GR0_NS with ARM_SMMU_GR0 and remove dead artifacts. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: aeec874d7f9fd8572403daa7a8cc1c98ba65a02e https://github.com/siemens/jailhouse/commit/aeec874d7f9fd8572403daa7a8cc1c98ba65a02e Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Drop dead arm_smmu_test_smr_masks Nothing was done with the results. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: f5e1b9f8c245c6d26781ad0305fb4ead494d6411 https://github.com/siemens/jailhouse/commit/f5e1b9f8c245c6d26781ad0305fb4ead494d6411 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Fix TLB flush on cell exit We must update S2CR and SMRs first, then flush. Otherwise, TLB entries might be left which refer to the old settings. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: c755d55f8911304ceffc91d346b55224d5f50835 https://github.com/siemens/jailhouse/commit/c755d55f8911304ceffc91d346b55224d5f50835 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Disable context bank only once on cell exit No need to run this sequence for every SID the cell owned. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: dafc85df4c4c244eb7096dee1ce97a367af56b1d https://github.com/siemens/jailhouse/commit/dafc85df4c4c244eb7096dee1ce97a367af56b1d Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Introduce arm_smmu_disable_context_bank This avoid having to carry the information if a context bank is enabled and makes the code more readable. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 378bd54fc85a21a7276666e5944a1bd314328c17 https://github.com/siemens/jailhouse/commit/378bd54fc85a21a7276666e5944a1bd314328c17 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Refactor ID0 evaluation Use GET_FIELD where possible, drop pointless clearing of ID0_S1TS and ID0_NTS. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 1d80442d14746f5eddd019d94a9cd1187259c775 https://github.com/siemens/jailhouse/commit/1d80442d14746f5eddd019d94a9cd1187259c775 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Refactor ID1 evaluation Use GET_FIELD where possible. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 6d6a8739ab948bf8f15525f0fd2734ed1e4df300 https://github.com/siemens/jailhouse/commit/6d6a8739ab948bf8f15525f0fd2734ed1e4df300 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Refactor ID2 evaluation Use GET_FIELD where possible, change to descending bit order. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: db96061a8d556270217f43891df9a695d5f9d338 https://github.com/siemens/jailhouse/commit/db96061a8d556270217f43891df9a695d5f9d338 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Check IAS and OAS against CPU parange Make sure that supported range of the SMMU is compatible with what we need to use via the MMU settings. Bail out if not, and rather drop useless reporting in the code case. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 1d5995c026c25ab90338937ccf7ada9c94791b66 https://github.com/siemens/jailhouse/commit/1d5995c026c25ab90338937ccf7ada9c94791b66 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Refactor ID7 evaluation Use GET_FIELD where possible. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 1f67ee94a861ccbb6d11f3d042e304acd6599c09 https://github.com/siemens/jailhouse/commit/1f67ee94a861ccbb6d11f3d042e304acd6599c09 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Demand version 2 We only support version 2, and this should be checked during probe already. Makes arm_smmu_device_reset a bit simpler. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: ac39cd7a3d3652e113a25797f1691c8b98cf6c4c https://github.com/siemens/jailhouse/commit/ac39cd7a3d3652e113a25797f1691c8b98cf6c4c Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Drop more unused fields from arm_smmu_device num_s2_context_banks is only locally used during probe, and the rest is just dead leftover from the Linux driver. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: ce634b7d64753f1c4f14f29badf70f618512ed90 https://github.com/siemens/jailhouse/commit/ce634b7d64753f1c4f14f29badf70f618512ed90 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Catch VMID exhaustion As we map each cell on an exclusively used context bank, make sure we do not overrun the hardware limits. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 837efda3a43b5296dc342c0ea51d989256cca2c5 https://github.com/siemens/jailhouse/commit/837efda3a43b5296dc342c0ea51d989256cca2c5 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Rename ARM_SMMU_CB_TTBCR, drop unused ARM_SMMU_CB_CONTEXTIDR TTBCR is SMMUv1 terminology. We are v2-only. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: c5230ca2ae69712ba62e034d8738b5e0eca50ba5 https://github.com/siemens/jailhouse/commit/c5230ca2ae69712ba62e034d8738b5e0eca50ba5 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Fix CNn_TTBR construction There is no VMID in CNn_TTBR - stop writing to reserved bits. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 70334e24a61746d2e9c898658d211a59981e8655 https://github.com/siemens/jailhouse/commit/70334e24a61746d2e9c898658d211a59981e8655 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Stop caching context bank states Refactor arm_smmu_init_context_bank/write_context_bank to a unified setup_context_bank that generates the required register values directly, without the pointless indirection over arm_smmu_cb and arm_smmu_cfg. This massively simplifies the code and improves readability. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 6e83bbdf1c3547b246d76a5cc2a2b2af93f34f6a https://github.com/siemens/jailhouse/commit/6e83bbdf1c3547b246d76a5cc2a2b2af93f34f6a Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Clean up arm_smmu_tlb_sync_global further It still contained fragments of the Linux back-off mechanism which was removed already. Adjust the loop counters to the new iteration count. Will wait at least one second now. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 11262d9d19ae6e1c63964ca98a6a0d172be68f56 https://github.com/siemens/jailhouse/commit/11262d9d19ae6e1c63964ca98a6a0d172be68f56 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Return StreamIDs on cell destruction to the root cell If we stole a StreamID from the root cell, which happens implicitly by adjusting the matching SMR, make sure to return it on cell destruction. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: a938bf82470af09d4fa102fd144c74972d2b445f https://github.com/siemens/jailhouse/commit/a938bf82470af09d4fa102fd144c74972d2b445f Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M tools/Makefile Log Message: ----------- tools: Fix naming of tool in Makefile error Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 00e989b13fbcde82663e1ad08ae30ca1b44e9bc7 https://github.com/siemens/jailhouse/commit/00e989b13fbcde82663e1ad08ae30ca1b44e9bc7 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/x86/pci.c M hypervisor/pci.c Log Message: ----------- pci: Tune error output format There has been the request to prefix hex output with "0x". Also, one ":" was missing. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: e75cec8021baafcf6f0b6b5e7e64935a922c1f71 https://github.com/siemens/jailhouse/commit/e75cec8021baafcf6f0b6b5e7e64935a922c1f71 Author: Andrea Bastoni <andrea.bast...@tum.de> Date: 2020-10-22 (Thu, 22 Oct 2020) Changed paths: M hypervisor/arch/x86/include/asm/bitops.h Log Message: ----------- x86: bitops: only x86_64 is supported, avoid picking the wrong default suffix This was harmless so far as the only user panic_printk only worked against bit 0. Signed-off-by: Andrea Bastoni <andrea.bast...@tum.de> [Jan: clarified criticality] Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 0140313c065ddb728d3cfd34463805fd294606d2 https://github.com/siemens/jailhouse/commit/0140313c065ddb728d3cfd34463805fd294606d2 Author: Nikhil Devshatwar <nikhil...@ti.com> Date: 2020-10-26 (Mon, 26 Oct 2020) Changed paths: A configs/arm64/k3-j7200-evm.c Log Message: ----------- configs: arm64: Add support for k3-j7200-evm board k3-j7200-evm is the new evaluation module from Texas Instruments which has the j7200 SoC. It has a dual coreARM Cortex-A72 CPU cores, 4GiB of RAM, 2x Display ports, 6x UART ports, 5x ethernet ports, SD and eMMC interfaces for storage and many other connectivity and accelerator devices. J7200 TRM: https://www.ti.com/lit/pdf/spruiu1 Signed-off-by: Nikhil Devshatwar <nikhil...@ti.com> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 33e53952cb180ec02d195c408f3a6fa34d5f0c83 https://github.com/siemens/jailhouse/commit/33e53952cb180ec02d195c408f3a6fa34d5f0c83 Author: Nikhil Devshatwar <nikhil...@ti.com> Date: 2020-10-26 (Mon, 26 Oct 2020) Changed paths: A configs/arm64/k3-j7200-evm-inmate-demo.c Log Message: ----------- configs: arm64: Add inmate demo config for j7200-evm board Add inmate demo cell config for j7200-evm board. This can be used to run the standard jaiilhouse baremetal inmate demos like gic-demo, uart-demo and ivshmem-demo. Signed-off-by: Nikhil Devshatwar <nikhil...@ti.com> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 4fbecb507cd2142dfa7ed413151d5fe1c0e212f1 https://github.com/siemens/jailhouse/commit/4fbecb507cd2142dfa7ed413151d5fe1c0e212f1 Author: Nikhil Devshatwar <nikhil...@ti.com> Date: 2020-10-26 (Mon, 26 Oct 2020) Changed paths: A configs/arm64/dts/inmate-k3-j7200-evm.dts A configs/arm64/k3-j7200-evm-linux-demo.c Log Message: ----------- configs: arm64: Add Linux demo for k3j7200-evm board Add the linux demo cell config for k3-j7200-evm board. Also add the required device tree for booting Linux kernel in the inmate cell. Add mem_regions and enable interrupts for for main_uart1, main_sdhci0, gpio interrupt routers and virtual PCI Signed-off-by: Nikhil Devshatwar <nikhil...@ti.com> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: f06871e080c5b01ca557ef3e81930cf3b1dc802f https://github.com/siemens/jailhouse/commit/f06871e080c5b01ca557ef3e81930cf3b1dc802f Author: Andrea Bastoni <andrea.bast...@tum.de> Date: 2020-10-26 (Mon, 26 Oct 2020) Changed paths: M hypervisor/Makefile Log Message: ----------- hypervisor: Makefile: hook-in -Wnested-externs Signed-off-by: Andrea Bastoni <andrea.bast...@tum.de> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: f112308cc7620e936b776b8e6aafceee9dfd27b1 https://github.com/siemens/jailhouse/commit/f112308cc7620e936b776b8e6aafceee9dfd27b1 Author: Andrea Bastoni <andrea.bast...@tum.de> Date: 2020-10-26 (Mon, 26 Oct 2020) Changed paths: M hypervisor/include/jailhouse/paging.h M hypervisor/include/jailhouse/percpu.h M hypervisor/paging.c M hypervisor/setup.c Log Message: ----------- hypervisor: move declaration of __page_pool into paging.h And remove nested declaration. Signed-off-by: Andrea Bastoni <andrea.bast...@tum.de> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 7294e0836316860bf9004b15c8c397d888507f91 https://github.com/siemens/jailhouse/commit/7294e0836316860bf9004b15c8c397d888507f91 Author: Andrea Bastoni <andrea.bast...@tum.de> Date: 2020-10-26 (Mon, 26 Oct 2020) Changed paths: M hypervisor/Makefile Log Message: ----------- hypervisor: Makefile: hook-in -Wshadow Signed-off-by: Andrea Bastoni <andrea.bast...@tum.de> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 44ddd41175a5f981397314d2843fa4ca7e0d68e9 https://github.com/siemens/jailhouse/commit/44ddd41175a5f981397314d2843fa4ca7e0d68e9 Author: Andrea Bastoni <andrea.bast...@tum.de> Date: 2020-10-26 (Mon, 26 Oct 2020) Changed paths: M hypervisor/arch/x86/iommu.c Log Message: ----------- x86: iommu: Wshadow, fault_reporting_cpu is global This prevented consistent updates of the fault report cpu, making the error interrupt showing up on the wrong CPU and possibly being filtered there. Signed-off-by: Andrea Bastoni <andrea.bast...@tum.de> [Jan: add commit message that explains the impact] Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 1864a5a74c557b598d03c98902b414bc5b2da331 https://github.com/siemens/jailhouse/commit/1864a5a74c557b598d03c98902b414bc5b2da331 Author: Andrea Bastoni <andrea.bast...@tum.de> Date: 2020-10-26 (Mon, 26 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu-v3.c Log Message: ----------- arm64: smmu-v3: avoid shadowing smmu The symbol "smmu" is declared and defined only in the smmu-v3 compilation unit. Give different names and pass a pointer as parameter to preserve generality of the accessor functions and avoid shadowing the smmu name. Signed-off-by: Andrea Bastoni <andrea.bast...@tum.de> [Jan: refactored more aggressively, avoiding redundant array element lookups] Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 048796f6ff6d96a80aa383ef1b214f47682aacc0 https://github.com/siemens/jailhouse/commit/048796f6ff6d96a80aa383ef1b214f47682aacc0 Author: Andrea Bastoni <andrea.bast...@tum.de> Date: 2020-10-26 (Mon, 26 Oct 2020) Changed paths: M hypervisor/Makefile Log Message: ----------- hypervisor: Makefile: hook-in -Wredundant-decls Signed-off-by: Andrea Bastoni <andrea.bast...@tum.de> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 5689e221ad7e79205594b9f15fd0b0b11e4476bd https://github.com/siemens/jailhouse/commit/5689e221ad7e79205594b9f15fd0b0b11e4476bd Author: Andrea Bastoni <andrea.bast...@tum.de> Date: 2020-10-26 (Mon, 26 Oct 2020) Changed paths: M hypervisor/include/jailhouse/string.h Log Message: ----------- hypervisor: protect inclusion of string.h Signed-off-by: Andrea Bastoni <andrea.bast...@tum.de> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 614c2347ea5528ce9ed42c455c544d3c09219a94 https://github.com/siemens/jailhouse/commit/614c2347ea5528ce9ed42c455c544d3c09219a94 Author: Andrea Bastoni <andrea.bast...@tum.de> Date: 2020-10-27 (Tue, 27 Oct 2020) Changed paths: M hypervisor/include/jailhouse/processor.h Log Message: ----------- hypervisor: protect inclusion of processor.h Signed-off-by: Andrea Bastoni <andrea.bast...@tum.de> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 0ba496ce87cbb93e6a9f9b2d94766a8b77c8cd9e https://github.com/siemens/jailhouse/commit/0ba496ce87cbb93e6a9f9b2d94766a8b77c8cd9e Author: Andrea Bastoni <andrea.bast...@tum.de> Date: 2020-10-27 (Tue, 27 Oct 2020) Changed paths: M hypervisor/Makefile Log Message: ----------- hypervisor: Makefile: hook-in -Wdeprecated and -Wundef Currently, no warnings triggered by these two flags. Signed-off-by: Andrea Bastoni <andrea.bast...@tum.de> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: b95b6df40fe8851250d8e3bad7a46a0d99a16bc8 https://github.com/siemens/jailhouse/commit/b95b6df40fe8851250d8e3bad7a46a0d99a16bc8 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-28 (Wed, 28 Oct 2020) Changed paths: M driver/main.c Log Message: ----------- driver: Adjust type of __hyp_stub_vectors declaration Aligns us with an internal declaration in upstream linux/arch/arm64/kernel/hibernate.c and with an external one in the linux-imx downstream kernel. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: f4a941d9e0247b1aef871a40b47c48d36645f2b4 https://github.com/siemens/jailhouse/commit/f4a941d9e0247b1aef871a40b47c48d36645f2b4 Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-29 (Thu, 29 Oct 2020) Changed paths: M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Detect busy units This avoids taking over the SMMU when Linux is already using it due to a configuration mistake. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: c90737c12d16375fae106922482284f003e98fe6 https://github.com/siemens/jailhouse/commit/c90737c12d16375fae106922482284f003e98fe6 Author: Ralf Ramsauer <ralf.ramsa...@oth-regensburg.de> Date: 2020-10-29 (Thu, 29 Oct 2020) Changed paths: M tools/Makefile Log Message: ----------- tools: Makefile: remove duplicated rules Remove redundant rules by using wildcards. Signed-off-by: Ralf Ramsauer <ralf.ramsa...@oth-regensburg.de> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 12a42e44e26a79a36125f2c9349bc3885ceff7cb https://github.com/siemens/jailhouse/commit/12a42e44e26a79a36125f2c9349bc3885ceff7cb Author: Ralf Ramsauer <ralf.ramsa...@oth-regensburg.de> Date: 2020-10-29 (Thu, 29 Oct 2020) Changed paths: M .gitignore M tools/Makefile A tools/demos/ivshmem-demo.c R tools/ivshmem-demo.c Log Message: ----------- tools: introduce tools/demos subdirectory And give ivshmem-demo.c a new home. Signed-off-by: Ralf Ramsauer <ralf.ramsa...@oth-regensburg.de> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: d845c83d937335e39105e08b5c164adab825dc16 https://github.com/siemens/jailhouse/commit/d845c83d937335e39105e08b5c164adab825dc16 Author: Ralf Ramsauer <ralf.ramsa...@oth-regensburg.de> Date: 2020-10-30 (Fri, 30 Oct 2020) Changed paths: M .gitignore M inmates/demos/x86/Makefile A inmates/demos/x86/cache-timings-common.c A inmates/demos/x86/cache-timings.c M tools/Makefile A tools/demos/cache-timings.c Log Message: ----------- inmates: x86: add cache access time test On x86_64 systems, this test inmate measures the time that is required to read a value from main memory. Via rdtsc, it measures the CPU cycles that are required for the access. Access can either happen cached, or uncached. In case of uncached access, the cache line will be flushed before access. This tool repeats the measurement for 10e6 times, and outputs the average cycles that were required for the access. Before accessing the actual measurement, a dummy test is used to determine the average overhead of one single measurement. And that's pretty useful, because this tool gives a lot of insights of differences between the root and the non-root cell: With tiny effort, we can also run it on Linux. If the 'overhead' time differs between root and non-root cell, this can be an indicator that there might be some timing or speed differences between the root and non-root cell. If the 'uncached' or 'cached' average time differs between the non-root and root cell, it's an indicator that both might have different hardware configurations / setups. Signed-off-by: Ralf Ramsauer <ralf.ramsa...@oth-regensburg.de> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Commit: 2f52a11d73461f64ca0d0bd36aec27e2fb4e838d https://github.com/siemens/jailhouse/commit/2f52a11d73461f64ca0d0bd36aec27e2fb4e838d Author: Jan Kiszka <jan.kis...@siemens.com> Date: 2020-10-30 (Fri, 30 Oct 2020) Changed paths: A hypervisor/arch/arm64/include/asm/smmu.h M hypervisor/arch/arm64/iommu.c M hypervisor/arch/arm64/smmu.c Log Message: ----------- arm64: smmu: Enable only on config commit There are no tables ready during arm_smmu_init(). Therefore, we need to hold back writing sCR0 until config commit. This fixes DMA errors during startup. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Compare: https://github.com/siemens/jailhouse/compare/756216b9d1e1...2f52a11d7346 -- 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 jailhouse-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jailhouse-dev/siemens/jailhouse/push/refs/heads/master/756216-2f52a1%40github.com.