Branch: refs/heads/next
Home: https://github.com/siemens/jailhouse
Commit: 9ffebde238dc9a91574d7282b3e4b1fe41e4e5db
https://github.com/siemens/jailhouse/commit/9ffebde238dc9a91574d7282b3e4b1fe41e4e5db
Author: Jan Kiszka <[email protected]>
Date: 2016-11-02 (Wed, 02 Nov 2016)
Changed paths:
M scripts/header_check
Log Message:
-----------
scripts: Fix header_check for ARM64
ARM64 requires to include ARM headers.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 2ef823acfe5311b7e7ebb57aa54598fce1b0a32f
https://github.com/siemens/jailhouse/commit/2ef823acfe5311b7e7ebb57aa54598fce1b0a32f
Author: Jan Kiszka <[email protected]>
Date: 2016-11-02 (Wed, 02 Nov 2016)
Changed paths:
A hypervisor/arch/arm-common/include/asm/asm-defines.h
A hypervisor/arch/arm-common/include/asm/gic.h
A hypervisor/arch/arm-common/include/asm/gic_v2.h
A hypervisor/arch/arm-common/include/asm/irqchip.h
A hypervisor/arch/arm-common/include/asm/mmio.h
A hypervisor/arch/arm-common/include/asm/paging_modes.h
A hypervisor/arch/arm-common/include/asm/psci.h
A hypervisor/arch/arm-common/include/asm/uart-pl011.h
A hypervisor/arch/arm-common/include/asm/uart.h
M hypervisor/arch/arm/Makefile
R hypervisor/arch/arm/include/asm/asm-defines.h
R hypervisor/arch/arm/include/asm/gic.h
R hypervisor/arch/arm/include/asm/gic_v2.h
R hypervisor/arch/arm/include/asm/irqchip.h
R hypervisor/arch/arm/include/asm/mmio.h
R hypervisor/arch/arm/include/asm/paging_modes.h
R hypervisor/arch/arm/include/asm/psci.h
R hypervisor/arch/arm/include/asm/uart-pl011.h
R hypervisor/arch/arm/include/asm/uart.h
M hypervisor/arch/arm64/Makefile
M inmates/Makefile
M scripts/header_check
Log Message:
-----------
arm, arm64: Move shared headers into arm-common
Analogously to the C source files, move also the asm headers that are
shared between ARM and its 64-bit variant into arm-common. This helps to
quickly identify the dual use and reduces the risk of breaking the other
side due to incompatible changes.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 2e4301e30efd26e562e6a96d22574ce89880b0f3
https://github.com/siemens/jailhouse/commit/2e4301e30efd26e562e6a96d22574ce89880b0f3
Author: Jan Kiszka <[email protected]>
Date: 2016-11-02 (Wed, 02 Nov 2016)
Changed paths:
M hypervisor/arch/arm64/entry.S
M hypervisor/arch/arm64/setup.c
Log Message:
-----------
arm64: Fix typos in comments
No functional changes.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 20cf4ba4d6b58418b7abd71f4d3a9af5c2705e01
https://github.com/siemens/jailhouse/commit/20cf4ba4d6b58418b7abd71f4d3a9af5c2705e01
Author: Jan Kiszka <[email protected]>
Date: 2016-11-02 (Wed, 02 Nov 2016)
Changed paths:
M hypervisor/arch/arm64/entry.S
Log Message:
-----------
arm64: Correct misleading comment in arch_shutdown_mmu
The function actually violates the previous comment - the caller flushes
the cache properly to enable this.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 73b2c97992107b8bdfd45180ab9d5b1dba41e114
https://github.com/siemens/jailhouse/commit/73b2c97992107b8bdfd45180ab9d5b1dba41e114
Author: Jan Kiszka <[email protected]>
Date: 2016-11-02 (Wed, 02 Nov 2016)
Changed paths:
M hypervisor/arch/arm64/entry.S
Log Message:
-----------
arm64: Add blank lines to entry.S before new functions
Improves readability. No functional changes.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: c45904d4499ff9cf553b878c60ad3a7f5d9d5bcd
https://github.com/siemens/jailhouse/commit/c45904d4499ff9cf553b878c60ad3a7f5d9d5bcd
Author: Jan Kiszka <[email protected]>
Date: 2016-11-02 (Wed, 02 Nov 2016)
Changed paths:
M hypervisor/arch/arm64/entry.S
M hypervisor/arch/arm64/include/asm/control.h
M hypervisor/arch/arm64/setup.c
Log Message:
-----------
arm64: Rename arch_shutdown_mmu to shutdown_el2
The function not only disables the MMU for EL2, it completely leaves EL2
and restores the original hyp stub of Linux. Reflect that via better
naming.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 8ee5aded078ec4b251ddc801f491130b45c75c5e
https://github.com/siemens/jailhouse/commit/8ee5aded078ec4b251ddc801f491130b45c75c5e
Author: Jan Kiszka <[email protected]>
Date: 2016-11-02 (Wed, 02 Nov 2016)
Changed paths:
M hypervisor/arch/arm64/entry.S
Log Message:
-----------
arm64: Do not clean the cache after init_bootstrap_pt
The bootstrap page tables are created with MMU off. We only need to
ensure that there are no entries for the target region in the cache when
reenabling the MMU. Clean those entries could overwrite just written
data in memory.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: e22c1210b87b639950fc279f5b238698a15982f5
https://github.com/siemens/jailhouse/commit/e22c1210b87b639950fc279f5b238698a15982f5
Author: Jan Kiszka <[email protected]>
Date: 2016-11-02 (Wed, 02 Nov 2016)
Changed paths:
M hypervisor/arch/arm64/include/asm/setup.h
M hypervisor/arch/arm64/setup.c
Log Message:
-----------
arm64: Prepare enable_mmu_el2 for non-identity mapping
Convert the TTBR0_EL2 value into a physical address before passing it to
enable_mmu_el2. This conceptually makes it an opaque 64-bit value, so
also adjust the function's parameter type.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 215816a15e83b54b272eb5c41d762d14cd5f2f78
https://github.com/siemens/jailhouse/commit/215816a15e83b54b272eb5c41d762d14cd5f2f78
Author: Jan Kiszka <[email protected]>
Date: 2016-11-02 (Wed, 02 Nov 2016)
Changed paths:
M hypervisor/arch/arm64/entry.S
M hypervisor/arch/arm64/setup.c
Log Message:
-----------
arm64: Prepare shutdown path for non-identity mapping
When the hypervisor is no longer identity mapped, shutdown_el2 will
require the physical address of the to-be-restored register state.
Reorder its memory accesses to allow passing in a physical cpu_data
adddress.
It's caller, arch_shutdown_self, then has to flush more of cpu_data
because it will be accesses after MMU disabling. It's easiest to simply
flush it completely.
Finally, shutdown_el2 and cpu_data address have to be converted to
physical ones before being used from arch_shutdown_self.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: bcbaa7c31add40d603a055da5f942b82e457a13c
https://github.com/siemens/jailhouse/commit/bcbaa7c31add40d603a055da5f942b82e457a13c
Author: Jan Kiszka <[email protected]>
Date: 2016-11-02 (Wed, 02 Nov 2016)
Changed paths:
M hypervisor/arch/arm64/entry.S
M hypervisor/arch/arm64/exception.S
M hypervisor/arch/arm64/include/asm/sections.h
M hypervisor/arch/arm64/setup.c
Log Message:
-----------
arm64: Introduce a trampoline section for MMU startup/shutdown
When we no longer identity-map the hypervisor, the bootstrap and
shutdown code will require special care because it will run both with
MMU on and off.
Push all functions we need for that phases (enable_mmu_el2, shutdown_el2
and vmreturn) into a dedicated, page-aligned trampoline section and
identity-map that section during early init. The latter currently only
breaks up an already existing ID-mapped hugepage but will become
essential once the hypervisor is mapped elsewhere in its address space.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 2c27a4d9d7137073076e2d838bb5aab22ef2385f
https://github.com/siemens/jailhouse/commit/2c27a4d9d7137073076e2d838bb5aab22ef2385f
Author: Jan Kiszka <[email protected]>
Date: 2016-11-02 (Wed, 02 Nov 2016)
Changed paths:
M hypervisor/arch/arm64/asm-defines.c
M hypervisor/arch/arm64/entry.S
M hypervisor/arch/arm64/include/asm/jailhouse_hypercall.h
M hypervisor/arch/arm64/include/asm/paging.h
M hypervisor/arch/arm64/include/asm/sections.h
Log Message:
-----------
arm64: Rework entry code to support non-identity mapping
Now that the hypervisor core is prepare for it, also convert the entry
path.
First, we have to extract some parameters from the hypervisor header and
the configuration, namely hypervisor and UART physical addresses. Their
virtual addresses are not build-time defined, both using the top 1-GB
page in the hypervisor address space. That reduces the likelihood of
address conflicts for the ID mapping of the trampoline page.
Our bootstrap page table now also has to contain an ID map of the
trampoline code. As hypervisor and UART share the same 1-GB page, they
can also share their level-1 and level-2 page tables. We map both as
2-MB pages. The trampoline page is mapped as 1-GB page and, thus,
requires an additional page table page. This structuring also simplifies
the setup because we no longer need to differentiate between various
cases.
The UART virtual address in the hypervisor header is now updated by the
entry code, taking the fixed 2-MB base address as well as the offset
into that page - based on the physical address - into account.
This change overcomes the ugly need to define a target-specific
JAILHOUSE_BASE in config.h.
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 772c8188d9e87f1f9ee6075fb2b92a708629737d
https://github.com/siemens/jailhouse/commit/772c8188d9e87f1f9ee6075fb2b92a708629737d
Author: Jan Kiszka <[email protected]>
Date: 2016-11-02 (Wed, 02 Nov 2016)
Changed paths:
M driver/main.c
Log Message:
-----------
driver: Do not update debug_console_base if page table is not borrowed
The hypervisor takes care of this itself now.
Signed-off-by: Jan Kiszka <[email protected]>
Compare:
https://github.com/siemens/jailhouse/compare/cd513ce9cb9f...772c8188d9e8
--
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.