Branch: refs/heads/coverity_scan
  Home:   https://github.com/siemens/jailhouse
  Commit: 3a1f2b5bc9d24eb1b7cf3fb0c1c7c61cf5b108c7
      
https://github.com/siemens/jailhouse/commit/3a1f2b5bc9d24eb1b7cf3fb0c1c7c61cf5b108c7
  Author: Jan Kiszka <jan.kis...@siemens.com>
  Date:   2016-10-04 (Tue, 04 Oct 2016)

  Changed paths:
    A hypervisor/arch/arm-common/dbg-write-pl011.c
    A hypervisor/arch/arm-common/dbg-write.c
    A hypervisor/arch/arm-common/gic-common.c
    A hypervisor/arch/arm-common/gic-v2.c
    A hypervisor/arch/arm-common/irqchip.c
    A hypervisor/arch/arm-common/lib.c
    A hypervisor/arch/arm-common/mmu_cell.c
    A hypervisor/arch/arm-common/paging.c
    A hypervisor/arch/arm-common/psci.c
    M hypervisor/arch/arm/Makefile
    R hypervisor/arch/arm/dbg-write-pl011.c
    R hypervisor/arch/arm/dbg-write.c
    R hypervisor/arch/arm/gic-common.c
    R hypervisor/arch/arm/gic-v2.c
    R hypervisor/arch/arm/irqchip.c
    R hypervisor/arch/arm/lib.c
    R hypervisor/arch/arm/mmu_cell.c
    R hypervisor/arch/arm/paging.c
    R hypervisor/arch/arm/psci.c

  Log Message:
  -----------
  arm: Move modules shared with arm64 into arch/arm-common

This helps understanding which source modules are shared between arm and
the upcoming arm64 architecture. If leaving them in arch/arm, the risk
is that changes to arm miss the interdependency with arm64.

We may want to do the same for common asm headers in the future.

Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: 752e1ceb8240b0d48714b786d0c062227c050c12
      
https://github.com/siemens/jailhouse/commit/752e1ceb8240b0d48714b786d0c062227c050c12
  Author: Jan Kiszka <jan.kis...@siemens.com>
  Date:   2016-10-04 (Tue, 04 Oct 2016)

  Changed paths:
    A hypervisor/arch/arm-common/control.c
    M hypervisor/arch/arm/Makefile
    M hypervisor/arch/arm/control.c
    M hypervisor/arch/arm/include/asm/control.h

  Log Message:
  -----------
  arm: Factor out common control.c module

Many functions will be shared with arm64.

This creates one new inter-module interface: arm_cpu_reset. It now takes
the desires PC after reset as parameter, instead of overwriting the
related register if cpu_on_entry is not the final value.

Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: 659ce9b5ccad65520711f6c9db88f60743e53bf3
      
https://github.com/siemens/jailhouse/commit/659ce9b5ccad65520711f6c9db88f60743e53bf3
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-04 (Tue, 04 Oct 2016)

  Changed paths:
    A hypervisor/arch/arm64/include/asm/sysregs.h

  Log Message:
  -----------
  arm64: add sysregs helper macros

On the AArch32 port of Jailhouse, the arm_write_sysreg and
arm_read_sysreg macros are used to access the system registers.
Implementing these helpers on AArch64 allows to approach some low
hanging fruit when looking for code to reuse from the AArch32 port.

On AArch64 we always get a u64 value from a system register, while
on AArch32 it might be either u32 or u64. We need to look at the
users of this macro on a case by case basis and see if it makes
sense to reuse code.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: 75d7ddc19005049f90d542b07b109ae5205ff722
      
https://github.com/siemens/jailhouse/commit/75d7ddc19005049f90d542b07b109ae5205ff722
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-04 (Tue, 04 Oct 2016)

  Changed paths:
    A hypervisor/arch/arm64/include/asm/processor.h

  Log Message:
  -----------
  arm64: add asm/processor.h header for AArch64

Add an initial asm/processor.h header for AArch64. This header
is similar to the version for AArch32, but e.g. processor modes
and exception classes differ.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: e518f7fc8f0199a0c62fc0f2e76a0f7fd86cd9a9
      
https://github.com/siemens/jailhouse/commit/e518f7fc8f0199a0c62fc0f2e76a0f7fd86cd9a9
  Author: Dmitry Voytik <dmitry.voy...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    A hypervisor/arch/arm64/include/asm/control.h

  Log Message:
  -----------
  arm64: add control.h header file

Add the header file control.h to the AArch64 port of Jailhouse.

Signed-off-by: Dmitry Voytik <dmitry.voy...@huawei.com>
Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
[antonios.mota...@huawei.com: split off as a separate patch]
[Jan: remove obsolete parts, update arch_handle_* prototypes]
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: d534d43b9b41463c1ee074fe6c61bb28096bc15c
      
https://github.com/siemens/jailhouse/commit/d534d43b9b41463c1ee074fe6c61bb28096bc15c
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    A hypervisor/arch/arm64/include/asm/paging.h

  Log Message:
  -----------
  arm64: add definitions for the AArch64 page table format

The AArch64 page table format is very similar, almost identical to
the AArch32 page table format. Add a header file for the AArch64 page
table format, based on the AArch32 implementation.

AArch64 introduces an extra level of page tables, for a total of
four, and support for different translation granule sizes.
Sticking to a granule size of 4Kb, we end up with an identical page
table format to AArch32. Using either 3 or the full 4 supported
levels of page tables, we can reach a physical address range of
48 bits.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
[Jan: provide arch_paging_flush_cpu_caches via arm_dcaches_flush]
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: caea151e481e00bd9889c202a08ed5846b137934
      
https://github.com/siemens/jailhouse/commit/caea151e481e00bd9889c202a08ed5846b137934
  Author: Dmitry Voytik <dmitry.voy...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    A hypervisor/arch/arm64/include/asm/types.h

  Log Message:
  -----------
  arm64: add types.h

Add the asm/types.h header file, which defines the size of the data
types.

Signed-off-by: Dmitry Voytik <dmitry.voy...@huawei.com>
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: 9a3084343f8d8a4cdbe643f92fe3c26100a30849
      
https://github.com/siemens/jailhouse/commit/9a3084343f8d8a4cdbe643f92fe3c26100a30849
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    A hypervisor/arch/arm64/include/asm/spinlock.h

  Log Message:
  -----------
  arm64: spinlock implementation

Implement spinlocks for the hypervisor firmware, on AArch64.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
[Jan: add missing include]
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: 532f7cf3a89801f3b90a7a83aa377f85cc96cfa0
      
https://github.com/siemens/jailhouse/commit/532f7cf3a89801f3b90a7a83aa377f85cc96cfa0
  Author: Claudio Fontana <claudio.font...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    A hypervisor/arch/arm64/include/asm/bitops.h

  Log Message:
  -----------
  arm64: implement bitops

implement set_bit, clear_bit, test_and_set_bit.

test_and_set_bit is used only in the panic_printk apparently,
while set_bit and clear_bit are used in page table handling code.

Signed-off-by: Claudio Fontana <claudio.font...@huawei.com>
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: 58d876378822fe87c1bfd2e6faaefdb2ca940b85
      
https://github.com/siemens/jailhouse/commit/58d876378822fe87c1bfd2e6faaefdb2ca940b85
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    A hypervisor/arch/arm64/include/asm/percpu.h

  Log Message:
  -----------
  arm64: add percpu.h header file

Add the percpu.h header file for the AArch64 implementation. This is
the bare bones version of the header needed to compile a stub
hypervisor binary on AArch64. A lot of these fields could probably
be moved to an arch independent header.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
[Jan: adjust includes, remove obsolete CHECK_ASSUMPTION]
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: 81ccd0f2773fd7bb6ca01e054afa1dcf33cc0be2
      
https://github.com/siemens/jailhouse/commit/81ccd0f2773fd7bb6ca01e054afa1dcf33cc0be2
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    A hypervisor/arch/arm64/include/asm/cell.h

  Log Message:
  -----------
  arm64: add cell.h header file

Add the initial cell.h header file needed to build on AArch64.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
[Jan: remove obsolete fields and includes]
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: a98009cf331a16180ccecec4836a5d22679ee5f8
      
https://github.com/siemens/jailhouse/commit/a98009cf331a16180ccecec4836a5d22679ee5f8
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    A hypervisor/arch/arm64/include/asm/jailhouse_hypercall.h

  Log Message:
  -----------
  arm64: add jailhouse_hypercall.h header file

Add the jailhouse_hypercall.h header file for AArch64. We will need
this also from the Linux side, in order to load Jailhouse in memory
and to issue hypercalls to an already loaded instance of the
hypervisor.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: dbecb806c72ae8cb3eca02717b0b26c1d90cd410
      
https://github.com/siemens/jailhouse/commit/dbecb806c72ae8cb3eca02717b0b26c1d90cd410
  Author: Jan Kiszka <jan.kis...@siemens.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    M hypervisor/Makefile
    A hypervisor/arch/arm64/Makefile
    A hypervisor/arch/arm64/asm-defines.c
    A hypervisor/arch/arm64/caches.S
    A hypervisor/arch/arm64/control.c
    A hypervisor/arch/arm64/entry.S
    M hypervisor/arch/arm64/include/asm/control.h
    M hypervisor/arch/arm64/include/asm/paging.h
    M hypervisor/arch/arm64/include/asm/percpu.h
    A hypervisor/arch/arm64/mmio.c
    A hypervisor/arch/arm64/setup.c
    A inmates/demos/arm64/Makefile
    A inmates/lib/arm64/Makefile
    A inmates/tools/arm64/Makefile

  Log Message:
  -----------
  arm64: Provide minimum stubs to allow building on AArch64

Add the minimum stub functions expected by the rest of the code base
to enable building on AArch64. We will implement the missing AArch64
functionality from here or enable the implementations in arm-common.

Based on patch by Antonios Motakis.

Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: ef68cc08c887a5b801bb50e1d1ab3ca8c1a1b169
      
https://github.com/siemens/jailhouse/commit/ef68cc08c887a5b801bb50e1d1ab3ca8c1a1b169
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    A configs/foundation-v8.c

  Log Message:
  -----------
  config: add root cell configuration for the ARMv8 Foundation model

Add under config/foundation-v8.c a root cell configuration for the
ARMv8 Foundation model, so we can in use this target with Jailhouse.
We also add the neccessary parameters in asm/platform.h for this
model.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
[Jan: adjust to new irqchip and platform configuration]
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: e93141753732934f11eaaceff549c07e9f7af509
      
https://github.com/siemens/jailhouse/commit/e93141753732934f11eaaceff549c07e9f7af509
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    A ci/jailhouse-config-amd-seattle.h
    A configs/amd-seattle.c
    M hypervisor/arch/arm/include/asm/uart_pl011.h

  Log Message:
  -----------
  config: root cell configuration for the AMD Seattle

Add the root cell configuration and necessary headers to build
and run Jailhouse on the AMD Seattle development board.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
[Jan: adjust to new irqchip, platform configuration, perform UART init
      only under CONFIG_MACH_VEXPRESS]
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: 067af81d5c52ad8cb6293e6c60eb11fdbeed854a
      
https://github.com/siemens/jailhouse/commit/067af81d5c52ad8cb6293e6c60eb11fdbeed854a
  Author: Jan Kiszka <jan.kis...@siemens.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    M hypervisor/arch/arm64/asm-defines.c
    M hypervisor/arch/arm64/caches.S

  Log Message:
  -----------
  arm64: Implement data cache flush

The arm_dcaches_flush function is needed early on during initialization,
in order to flush the early bootstrap page tables for they hypervisor.

Based on patch by Antonios Motakis.

Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: 063152cdeac7dd3f2075fd8b31d348783bced669
      
https://github.com/siemens/jailhouse/commit/063152cdeac7dd3f2075fd8b31d348783bced669
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    M hypervisor/arch/arm64/asm-defines.c
    M hypervisor/arch/arm64/entry.S
    A hypervisor/arch/arm64/include/asm/sections.h

  Log Message:
  -----------
  arm64: initialize EL2 for hypervisor entry

Unlike AArch32, we jump to EL2 as soon as we enter the hypervisor
binary.

In order to do that, we also need to switch on the MMU, so we
generate early bootstrap page tables.
We need these in order to perform unaligned accesses from the
hypervisor binary during early initialization, and to avoid having
to maintain the caches during initialization.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
Signed-off-by: Dmitry Voytik <dmitry.voy...@huawei.com>
[Jan: use arm_dcaches_flush instead of arch_paging_flush_cpu_caches,
      load debug console address from header, adjust includes]
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: 1dd66cdde066febde24fa5589667bc8d6075312d
      
https://github.com/siemens/jailhouse/commit/1dd66cdde066febde24fa5589667bc8d6075312d
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    M hypervisor/arch/arm64/asm-defines.c
    M hypervisor/arch/arm64/entry.S
    M hypervisor/arch/arm64/include/asm/percpu.h

  Log Message:
  -----------
  arm64: initialize the hypervisor for entry

Initialize the hypervisor firmware, so we can finally enter
the arch independent entry() function. This includes setting
up a stack, and saving the state of the processor before
entering the hypervisor.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
[Jan: use asm-defines]
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: 4a014a3cb93da3192ef2fde2772744b7505b7031
      
https://github.com/siemens/jailhouse/commit/4a014a3cb93da3192ef2fde2772744b7505b7031
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    M hypervisor/arch/arm64/Makefile
    M hypervisor/arch/arm64/entry.S
    A hypervisor/arch/arm64/exception.S
    A hypervisor/arch/arm64/include/asm/traps.h
    A hypervisor/arch/arm64/traps.c

  Log Message:
  -----------
  arm64: initial exception handling and catch EL2 aborts

Catch exceptions on the AArch64 target of Jailhouse. Catch and aborts
from EL2 that might be caused by the hypervisor.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
Signed-off-by: Dmitry Voytik <dmitry.voy...@huawei.com>
[Jan: adjust includes, remove pc from trap_context, Makefile update]
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: 17a5092905c4d047d15aae14b24b6d52dc14263b
      
https://github.com/siemens/jailhouse/commit/17a5092905c4d047d15aae14b24b6d52dc14263b
  Author: Dmitry Voytik <dmitry.voy...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    M hypervisor/arch/arm64/traps.c

  Log Message:
  -----------
  arm64: dump stack on unhandled exceptions

Dump stack in the following cases:
 * exception in EL2. We can determine the stack size
 * unhandled exceptions in EL1/0. We can't determine the stack
   size thus we just print 512 bytes.

For EL2 exceptions the debug output will be like this:

FATAL: Unhandled HYP exception: synchronous abort from EL2
 pc: 00000000fc00469c   lr: 00000000fc004688 spsr: 200003c9     EL2
 sp: 00000000fc015e30  esr: 25 1 0000044
 x0: ffffffff00000000   x1: 0000000000000001   x2: 00000000fc00bd14
 x3: ffffff80ffffffc8   x4: 00000000fc010000   x5: 0000000000000004
 x6: ffffffc000afe000   x7: 00000000ffffe188   x8: 0000000000005d25
 x9: 0000000000000001  x10: ffffffc035766a40  x11: ffffffbdc2d23f80
x12: 0000000000000862  x13: 0000007f92bd7cb0  x14: 0000007f92a67bc8
x15: 0000000000005798  x16: ffffffc0000a2794  x17: 0000000000412288
x18: 0000000000000000  x19: 0000000001930047  x20: 0000000000000004
x21: 0000000000000001  x22: 0000000000000001  x23: 00000000fc015eb8
x24: 00000000000001c0  x25: 0000000000000000  x26: ffffffc000afe6d8
x27: ffffffc035470000  x28: ffffffc034e08000  x29: 00000000fc015e30

Hypervisor stack before exception (0x00000000fc015e30 - 0x00000000fc016000):
5e20:                                     fc015e90 00000000 fc00a298 00000000
5e40: fc015f00 00000000 fc015000 00000000 00559cb8 ffffffc0 00b69000 ffffffc0
5e60: 00b00000 ffffffc0 000001c0 00000000 0000001e 00000000 fc015cf5 00000000
5e80: fc015e90 00000000 0000001e 001e0100 fc015ee0 00000000 fc00a3b0 00000000
5ea0: fc015f00 00000000 fc00b478 00000000 fc015ee0 00000000 fc015f08 00000000
5ec0: 93930047 00000000 200001c5 00000000 00310820 ffffffc0 34e0bbc0 ffffffc0
5ee0: 00000000 00000000 fc009c54 00000000 00040000 00000000 00b00ea0 ffffffc0
5f00: 00000001 00000000 00000f00 ffffff80 00000004 00000000 00000040 00000000
5f20: 00b00ee0 ffffffc0 00559cc0 ffffffc0 00000004 00000000 00afe000 ffffffc0
5f40: ffffe188 00000000 00005d25 00000000 00000001 00000000 35766a40 ffffffc0
5f60: c2d23f80 ffffffbd 00000862 00000000 92bd7cb0 0000007f 92a67bc8 0000007f
5f80: 00005798 00000000 000a2794 ffffffc0 00412288 00000000 00000000 00000000
5fa0: 00040000 00000000 00b00ea0 ffffffc0 00559cb8 ffffffc0 00b69000 ffffffc0
5fc0: 00b00000 ffffffc0 000001c0 00000000 00000000 00000000 00afe6d8 ffffffc0
5fe0: 35470000 ffffffc0 34e08000 ffffffc0 34e0bbc0 ffffffc0 003107fc ffffffc0
6000: 8008a800

Signed-off-by: Dmitry Voytik <dmitry.voy...@huawei.com>
[Jan: replace PERCPU_STACK_END with sizeof expression]
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: bb6bd48d2d267cc5fd135a092dc6e0fc951848ef
      
https://github.com/siemens/jailhouse/commit/bb6bd48d2d267cc5fd135a092dc6e0fc951848ef
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    A hypervisor/arch/arm64/include/asm/setup.h
    M hypervisor/arch/arm64/setup.c

  Log Message:
  -----------
  arm64: plug the hypervisor mmu code

Enable the MMU mappings for the hypervisor running in EL2, and add
functions to map device regions to the hypervisor address space.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
[Jan: rebase, remove obsolete arch_map/unmap_device and asm/head.h]
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: 7645bb7ff13c7c1b6e25218de19461b6263b304b
      
https://github.com/siemens/jailhouse/commit/7645bb7ff13c7c1b6e25218de19461b6263b304b
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    M hypervisor/arch/arm64/include/asm/traps.h
    M hypervisor/arch/arm64/mmio.c
    M hypervisor/arch/arm64/traps.c

  Log Message:
  -----------
  arm64: handle accesses to emulated mmio regions

Catch accesses to the mmio regions that we want to handle from the
hypervisor. These are used also by the GIC code.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
Signed-off-by: Dmitry Voytik <dmitry.voy...@huawei.com>
[Jan: rebase, adjust arch_skip_instruction to update ELR_EL2 itself]
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: bd857ad3a119efdb6578272a866e7452e98a1cda
      
https://github.com/siemens/jailhouse/commit/bd857ad3a119efdb6578272a866e7452e98a1cda
  Author: Jan Kiszka <jan.kis...@siemens.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    M hypervisor/arch/arm64/Makefile
    M hypervisor/arch/arm64/control.c
    M hypervisor/arch/arm64/include/asm/cell.h
    M hypervisor/arch/arm64/include/asm/percpu.h
    M hypervisor/arch/arm64/mmio.c
    M hypervisor/arch/arm64/setup.c
    M hypervisor/arch/arm64/traps.c

  Log Message:
  -----------
  arm64: plug the irqchip and GICv2 code from AArch32

We plug the irqchip handling code, and the GICv2 implementation from
AArch32. arch_handle_sgi and arch_handle_phys_irq are only provided as
stubs because they will be replaced with the arm-common versions soon.

GICv3 is slightly trickier; it makes heavier use of the sysregs, so
we will need to review more carefully that the sysregs macros do
the right thing.

Based on patch by Antonios Motakis.

Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: 98f5c3f5c3bc0f1789b97843ce6f27d1a7c825f5
      
https://github.com/siemens/jailhouse/commit/98f5c3f5c3bc0f1789b97843ce6f27d1a7c825f5
  Author: Jan Kiszka <jan.kis...@siemens.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    M hypervisor/arch/arm64/Makefile
    M hypervisor/arch/arm64/control.c
    M hypervisor/arch/arm64/include/asm/control.h
    M hypervisor/arch/arm64/include/asm/percpu.h
    M hypervisor/arch/arm64/setup.c

  Log Message:
  -----------
  arm64: Plug arm-common control module

This reuses the control.c module, shared with 32-bit ARM.

There is more commodity in headers, setup.c etc. to be consolidated
later on.

Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: b5c11d7288acda1e5925b1875e3f454d6e6617ca
      
https://github.com/siemens/jailhouse/commit/b5c11d7288acda1e5925b1875e3f454d6e6617ca
  Author: Jan Kiszka <jan.kis...@siemens.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    M hypervisor/arch/arm-common/psci.c
    M hypervisor/arch/arm/include/asm/psci.h

  Log Message:
  -----------
  arm: Prepare for 64-bit PSCI

Account for both 64-bit calls into the PSCI emulation code and 32-bit
invocations on 64-bit. Moreover, PSCI_INVALID_ADDRESS has to be an
invalid address also with 64-bit address width.

Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: ab4e93658f7170d9d7da7133ca796b999d52dc4e
      
https://github.com/siemens/jailhouse/commit/ab4e93658f7170d9d7da7133ca796b999d52dc4e
  Author: Jan Kiszka <jan.kis...@siemens.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    M hypervisor/arch/arm64/Makefile
    M hypervisor/arch/arm64/control.c
    M hypervisor/arch/arm64/include/asm/jailhouse_hypercall.h
    M hypervisor/arch/arm64/setup.c
    M hypervisor/arch/arm64/traps.c

  Log Message:
  -----------
  arm64: PSCI support for SMP on AArch64

On AArch64 we pretty much rely on PSCI being present for SMP
support (turning multiple cores on and off). This patch implements
the helpers needed for SMP and plugs in the PSCI code from AArch32.

On AArch64 PSCI calls can be issued via SMC64 as well, contrary to
AArch32 which uses SMC32 calls only. We add the changes necessary to
support the requests that are used by a Linux root cell. CPU hotplug now
is still working after we enable Jailhouse.

Based on patch by Antonios Motakis.

Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: 1a0e7cccda9f1decaa1caa90331249a4b308f41c
      
https://github.com/siemens/jailhouse/commit/1a0e7cccda9f1decaa1caa90331249a4b308f41c
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    M hypervisor/arch/arm64/setup.c

  Log Message:
  -----------
  arm64: reanimate the root cell back from the dead

We have now enough implemented functionality to return to the root
cell. We just need to enable guest traps, which will be handled by
the MMU, MMIO, and GIC code we already plugged to the port. Finally,
we restore the state of the root cell that we previously stored in
the stack.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
[Jan: rebase]
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: 7642f64ba2e5bb08f0f2001faa78d73b3c5ed6d3
      
https://github.com/siemens/jailhouse/commit/7642f64ba2e5bb08f0f2001faa78d73b3c5ed6d3
  Author: Jan Kiszka <jan.kis...@siemens.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    M hypervisor/arch/arm64/traps.c

  Log Message:
  -----------
  arm64: Handle hypercalls from the cells

Plug in the core handler for hypercalls, so we can start implementing
the more interesting stuff.

Based on patches by Antonios Motakis

Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: e0ca6be878b715795f56576b73dacbb1639fa4a0
      
https://github.com/siemens/jailhouse/commit/e0ca6be878b715795f56576b73dacbb1639fa4a0
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    M hypervisor/arch/arm64/entry.S
    M hypervisor/arch/arm64/setup.c
    M hypervisor/arch/arm64/traps.c

  Log Message:
  -----------
  arm64: hypervisor disable support

Add hypervisor disable support to the Jailhouse firmware. Handle
Jailhouse disable calls from the root cell, and also disable the
hypervisor in case of an error during initialization.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
[Jan: rebase, install shutdown call in handle_hvc]
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: de5ea89f68fe1099790b3180d58395e73b3ede54
      
https://github.com/siemens/jailhouse/commit/de5ea89f68fe1099790b3180d58395e73b3ede54
  Author: Jan Kiszka <jan.kis...@siemens.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    M hypervisor/arch/arm64/control.c

  Log Message:
  -----------
  arm64: Implement cell creation/destruction

This patch implements the functionality needed to create and destroy
non-root cells.

Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: f36a6c1e004499ea7a33d59ac734fd86af9b26d4
      
https://github.com/siemens/jailhouse/commit/f36a6c1e004499ea7a33d59ac734fd86af9b26d4
  Author: Dmitry Voytik <dmitry.voy...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    A scripts/arm64-parsedump.py

  Log Message:
  -----------
  tools: arm64: add exception dump parser

Add ./scripts/arm64-parsedump.py tool. This tool decodes an ARM64
exception dump and prints human-readable stack trace like this:

[0x00000000fc008688] arch_handle_dabt mmio.c:97
[0x00000000fc009acc] arch_handle_trap traps.c:143

The tool can read dumps from files (passed via -f parameter)
or from stdin stream (which can be also piped-in).

Signed-off-by: Dmitry Voytik <dmitry.voy...@huawei.com>
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: 721e5bf257ff34bbffb07050234673fbbc464b8e
      
https://github.com/siemens/jailhouse/commit/721e5bf257ff34bbffb07050234673fbbc464b8e
  Author: Jan Kiszka <jan.kis...@siemens.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    M .travis.yml
    M ci/build-all-configs.sh
    M ci/gen-kernel-build.sh
    A ci/kernel-config-amd-seattle

  Log Message:
  -----------
  ci: Add support for arm64

This adds arm64 to CI via the AMD Seattle configuration.

Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: ca1b1aa0a393dacc235db903bc1f9976404e09b8
      
https://github.com/siemens/jailhouse/commit/ca1b1aa0a393dacc235db903bc1f9976404e09b8
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    M inmates/demos/arm/uart-demo.c
    M inmates/lib/arm/include/inmate.h

  Log Message:
  -----------
  inmates: arm: uart-demo: move heartbeat to header file

Moving the heartbeat function to a header file, so we can reuse
the uart-demo just by reimplementing the heartbeat on AArch64.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: f309cf8280e8717460f3161889e4a63f0aec2bab
      
https://github.com/siemens/jailhouse/commit/f309cf8280e8717460f3161889e4a63f0aec2bab
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    M inmates/lib/arm/gic.c
    M inmates/lib/arm/include/gic.h

  Log Message:
  -----------
  inmates: arm: lib: move IRQ stack initialization

On AArch64 we won't need to initialize an IRQ stack; just move
the functionality to a header, so we may reuse the gic library.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: 8d0eefb6a6e0ea9d8ca5145c49805876b8f7fcdb
      
https://github.com/siemens/jailhouse/commit/8d0eefb6a6e0ea9d8ca5145c49805876b8f7fcdb
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    M hypervisor/arch/arm/include/asm/sysregs.h
    M inmates/lib/arm/timer.c

  Log Message:
  -----------
  inmates: arm: prep timer library for AArch64

This patch is a minor touch up, that will allow to build the
ARM timer inmate library also on AArch64. We just need to add
the EL0 prefix to the CNTFRQ and CNTPCT sysregs, so we can
access them with the same code.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: 65c8b1abbfda3a45f504ceae6a9e83b56342b6c2
      
https://github.com/siemens/jailhouse/commit/65c8b1abbfda3a45f504ceae6a9e83b56342b6c2
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    M inmates/Makefile
    M inmates/demos/arm64/Makefile
    M inmates/lib/arm64/Makefile
    A inmates/lib/arm64/Makefile.lib
    A inmates/lib/arm64/header.S
    A inmates/lib/arm64/include/gic.h
    A inmates/lib/arm64/include/inmate.h
    A inmates/lib/arm64/include/mach-amd-seattle/mach/gic_v2.h
    A inmates/lib/arm64/include/mach-amd-seattle/mach/timer.h
    A inmates/lib/arm64/include/mach-amd-seattle/mach/uart.h
    A inmates/lib/arm64/include/mach-foundation-v8/mach/gic_v2.h
    A inmates/lib/arm64/include/mach-foundation-v8/mach/timer.h
    A inmates/lib/arm64/include/mach-foundation-v8/mach/uart.h
    A inmates/lib/arm64/inmate.lds

  Log Message:
  -----------
  inmates: arm64: port inmate demos from AArch32 to AArch64

This is a straightforward port of the inmate demos from
AArch32 to AArch64. These can now be loaded as cells onto
a Foundation ARMv8 model.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
[Jan: adjust to CONFIG_ARM_GIC_V2]
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: 39b33556788ad528322a30314bd75e875484bd30
      
https://github.com/siemens/jailhouse/commit/39b33556788ad528322a30314bd75e875484bd30
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    A configs/foundation-v8-uart-demo.c

  Log Message:
  -----------
  config: add uart demo cell config for Foundation v8

Add a cell configuration file for the foundation-v8 model, to
be used with the PL011 UART inmate demo.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
[Jan: adjust include]
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: c2bc5be6f682e12aefe79094deb680f27389a60c
      
https://github.com/siemens/jailhouse/commit/c2bc5be6f682e12aefe79094deb680f27389a60c
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    A configs/foundation-v8-gic-demo.c

  Log Message:
  -----------
  config: gic inmate cell config for foundation-v8

Add a cell configuration file for the gic inmate demo, for the
foundation-v8 model.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
[Jan: adjust include]
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: 5cba8f7e3d501b3462bfedeb1323eeb51ac26e43
      
https://github.com/siemens/jailhouse/commit/5cba8f7e3d501b3462bfedeb1323eeb51ac26e43
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    A configs/amd-seattle-uart-demo.c

  Log Message:
  -----------
  config: UART demo cell config for the AMD Seattle

Add a cell configuration file for the AMD Seattle development
board, to be used with the PL011 UART demo inmate.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
[Jan: adjust include]
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: 17faa7762d5d05bc3cb97dc569b3cdebd33513f1
      
https://github.com/siemens/jailhouse/commit/17faa7762d5d05bc3cb97dc569b3cdebd33513f1
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    A configs/amd-seattle-gic-demo.c

  Log Message:
  -----------
  config: gic demo cell config for the AMD Seattle

Add a cell configuration file to use on the AMD Seattle, to be
used with the gic demo inmate.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
[Jan: adjust include]
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: 6b71fa3247064d945313ebfbcf788da9aa38e8a6
      
https://github.com/siemens/jailhouse/commit/6b71fa3247064d945313ebfbcf788da9aa38e8a6
  Author: Dmitry Voytik <dmitry.voy...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    M inmates/tools/arm64/Makefile
    A inmates/tools/arm64/linux-loader.c

  Log Message:
  -----------
  inmates: arm64: implement non-root linux loader

This patch implements a loader, that can be used to boot a Linux
kernel in a Jailhouse cell on AArch64.

Signed-off-by: Dmitry Voytik <dmitry.voy...@huawei.com>
Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
[antonios.mota...@huawei.com:
        - split foundation-v8 configuration to a separate patch
        - small fixes in the linux loader output
        - take kernel and dtb address using cell load command line ]
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: b27a26270ef488ee55fc9e31b1d1ebdae7bf0862
      
https://github.com/siemens/jailhouse/commit/b27a26270ef488ee55fc9e31b1d1ebdae7bf0862
  Author: Dmitry Voytik <dmitry.voy...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    A configs/foundation-v8-linux-demo.c
    A samples/kernel-inmate-foundation-v8.dts

  Log Message:
  -----------
  config: add linux inmate cell config for foundation-v8

Add the cell configuration files, and some helper scripts and device
tree for the foundation-v8 model. These can be used to load a linux
inmate on a cell on that target.

Signed-off-by: Dmitry Voytik <dmitry.voy...@huawei.com>
Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
[antonios.mota...@huawei.com: split off as a separate patch,
        some minor renaming for consistency]
[Jan: adjust to new irqchip configuration, adjust include]
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: b194f27995a813a58d4315d2aced748f2a253fd9
      
https://github.com/siemens/jailhouse/commit/b194f27995a813a58d4315d2aced748f2a253fd9
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    A configs/amd-seattle-linux-demo.c
    A samples/kernel-inmate-amd-seattle.dts

  Log Message:
  -----------
  config: add linux inmate cell config for AMD Seattle

Add the cell configuration files, and some helper scripts and device
tree for the AMD Seattle development board. These can be used to
load a linux inmate on a cell on that target.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
[Jan: adjust to new irqchip configuration, adjust include]
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: ea2b62d85da537864e43c89b2f66259d26a2b324
      
https://github.com/siemens/jailhouse/commit/ea2b62d85da537864e43c89b2f66259d26a2b324
  Author: Antonios Motakis <antonios.mota...@huawei.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    A Documentation/non-root-linux-arm64.txt

  Log Message:
  -----------
  Documentation: add instructions for ARM64 Linux loader

Add a short document describing the use of the Linux loader,
used to run Linux inmates on non-root cells on ARM64.

Signed-off-by: Antonios Motakis <antonios.mota...@huawei.com>
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: 943a6a000fecb1588d6e86db1f2ad95f9bd38c6b
      
https://github.com/siemens/jailhouse/commit/943a6a000fecb1588d6e86db1f2ad95f9bd38c6b
  Author: Jan Kiszka <jan.kis...@siemens.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    M hypervisor/arch/arm64/entry.S

  Log Message:
  -----------
  arm64: Switch to kernel 4.7+ hyp-stub interface

Kernel 4.7 changed the hyp-stub interface: x0 now encodes the request,
and for SET_VECTORS, x1 holds the address.

Switch over unconditionally. We can still decide later if we want to
make legacy kernel support optional.

Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: d3ecd06b7b265f5bfd3e9a7e346e5cfdd6938f89
      
https://github.com/siemens/jailhouse/commit/d3ecd06b7b265f5bfd3e9a7e346e5cfdd6938f89
  Author: Jan Kiszka <jan.kis...@siemens.com>
  Date:   2016-10-05 (Wed, 05 Oct 2016)

  Changed paths:
    M hypervisor/arch/arm64/include/asm/paging.h

  Log Message:
  -----------
  arm64: Add dsb around EL2 TLB flush

This adds the barriers needed according to ARM DDI 0487A.j, K10.5.3.

Without them, frequent crashes can be observed on the Hi6220, e.g. on
the first access of the freshly mapped GICD.

Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


  Commit: bb984c687f2d9ede439de29125a4cd1fe9bfc8cf
      
https://github.com/siemens/jailhouse/commit/bb984c687f2d9ede439de29125a4cd1fe9bfc8cf
  Author: Jan Kiszka <jan.kis...@siemens.com>
  Date:   2016-10-09 (Sun, 09 Oct 2016)

  Changed paths:
    A configs/hikey-gic-demo.c
    A configs/hikey.c
    M inmates/lib/arm64/Makefile.lib
    A inmates/lib/arm64/include/mach-hi6220/mach/gic_v2.h
    A inmates/lib/arm64/include/mach-hi6220/mach/timer.h
    A inmates/lib/arm64/include/mach-hi6220/mach/uart.h

  Log Message:
  -----------
  configs, inmates: Add support for HiKey board

This adds the configs for inmate mach headers for the LeMaker HiKey
board, 2GB edition. Configuration is rather permissive, should be
fine-tuned later on.

Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>


Compare: 
https://github.com/siemens/jailhouse/compare/7de8a700f35e...bb984c687f2d

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to