[siemens/jailhouse] df3720: arm64: add sysregs helper macros

3 views
Skip to first unread message

GitHub

unread,
Jun 27, 2016, 6:57:28 AM6/27/16
to jailho...@googlegroups.com
Branch: refs/heads/wip/arm64
Home: https://github.com/siemens/jailhouse
Commit: df3720852b93363e518157b3e8212d54f268b530
https://github.com/siemens/jailhouse/commit/df3720852b93363e518157b3e8212d54f268b530
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>


Commit: 2348297273466fc861fb8ca4677aa4a628643689
https://github.com/siemens/jailhouse/commit/2348297273466fc861fb8ca4677aa4a628643689
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>


Commit: 880f0893ec84286564ad937dd3a5268f98c33d7f
https://github.com/siemens/jailhouse/commit/880f0893ec84286564ad937dd3a5268f98c33d7f
Author: Dmitry Voytik <dmitry...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>
Signed-off-by: Antonios Motakis <antonios...@huawei.com>
[antonios...@huawei.com: split off as a separate patch]


Commit: 781299a5d5c87dae0d01223b0300dfc5e9203de1
https://github.com/siemens/jailhouse/commit/781299a5d5c87dae0d01223b0300dfc5e9203de1
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>


Commit: be298a80890aad0d78b256757eff0cf174a205dc
https://github.com/siemens/jailhouse/commit/be298a80890aad0d78b256757eff0cf174a205dc
Author: Dmitry Voytik <dmitry...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>


Commit: 9053c780d7ca9eee6e9c42481013f4ec0eb42f11
https://github.com/siemens/jailhouse/commit/9053c780d7ca9eee6e9c42481013f4ec0eb42f11
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>


Commit: 4fe6d3fa4a52dbbb73931410682168b0cb3396bf
https://github.com/siemens/jailhouse/commit/4fe6d3fa4a52dbbb73931410682168b0cb3396bf
Author: Claudio Fontana <claudio...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>


Commit: cf75f76771eab146c9ea2b2f3dca17250ad2ca74
https://github.com/siemens/jailhouse/commit/cf75f76771eab146c9ea2b2f3dca17250ad2ca74
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>


Commit: 12429e36ccf4b9f902daf8e2d7a40171222ab734
https://github.com/siemens/jailhouse/commit/12429e36ccf4b9f902daf8e2d7a40171222ab734
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>


Commit: 194bc1faf45792461415239eb62411d7ab457753
https://github.com/siemens/jailhouse/commit/194bc1faf45792461415239eb62411d7ab457753
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>


Commit: a26595f38a5b3a46b6780dd8e998e9c313009b12
https://github.com/siemens/jailhouse/commit/a26595f38a5b3a46b6780dd8e998e9c313009b12
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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
A hypervisor/arch/arm64/include/asm/head.h
M hypervisor/arch/arm64/include/asm/percpu.h
A hypervisor/arch/arm64/include/asm/platform.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: minimum stubs to allow building on AArch64

Add the minimum stub functions expected by the rest of the codebase
to enable building on AArch64. We may implement the missing AArch64
functionality from here.

Signed-off-by: Antonios Motakis <antonios...@huawei.com>


Commit: 21c77f003bd83e4edd8417804aa35d8b08bff479
https://github.com/siemens/jailhouse/commit/21c77f003bd83e4edd8417804aa35d8b08bff479
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 2016)

Changed paths:
A configs/foundation-v8.c
M hypervisor/arch/arm64/include/asm/platform.h

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...@huawei.com>
[Jan: Adjust to new irqchip configuration]


Commit: 44aed325a81963a8126328454e84484dde9de5ed
https://github.com/siemens/jailhouse/commit/44aed325a81963a8126328454e84484dde9de5ed
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 2016)

Changed paths:
A ci/jailhouse-config-amd-seattle.h
A configs/amd-seattle.c
M hypervisor/arch/arm/include/asm/uart_pl011.h
M hypervisor/arch/arm64/include/asm/platform.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...@huawei.com>
[Jan: Adjust to new irqchip configuration]


Commit: f4d2e57fa4f9ba4882916fed33ab8fd861ccc4d0
https://github.com/siemens/jailhouse/commit/f4d2e57fa4f9ba4882916fed33ab8fd861ccc4d0
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 2016)

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

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

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

Signed-off-by: Antonios Motakis <antonios...@huawei.com>


Commit: ff8edd65f2c2ee14b37bc70e59755a78b0d6ee25
https://github.com/siemens/jailhouse/commit/ff8edd65f2c2ee14b37bc70e59755a78b0d6ee25
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 2016)

Changed paths:
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...@huawei.com>
Signed-off-by: Dmitry Voytik <dmitry...@huawei.com>


Commit: 4f9aa2f513e3e3291d58345e75f505e96e6c9c31
https://github.com/siemens/jailhouse/commit/4f9aa2f513e3e3291d58345e75f505e96e6c9c31
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 2016)

Changed paths:
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...@huawei.com>


Commit: 5d8d89edf9ca5dfc2eea89879439b27ce399bd61
https://github.com/siemens/jailhouse/commit/5d8d89edf9ca5dfc2eea89879439b27ce399bd61
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>
Signed-off-by: Dmitry Voytik <dmitry...@huawei.com>


Commit: c0e4825edbf96f817d8dee2607c08a0a82662597
https://github.com/siemens/jailhouse/commit/c0e4825edbf96f817d8dee2607c08a0a82662597
Author: Dmitry Voytik <dmitry...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>


Commit: ab654c9661f7b5eb7da2e084e493c0b184eb343a
https://github.com/siemens/jailhouse/commit/ab654c9661f7b5eb7da2e084e493c0b184eb343a
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>


Commit: 4b3b76621fcb5dea795923f5ac2957bfb48777d7
https://github.com/siemens/jailhouse/commit/4b3b76621fcb5dea795923f5ac2957bfb48777d7
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>
Signed-off-by: Dmitry Voytik <dmitry...@huawei.com>


Commit: 09808fe2e63c6ea326f30c2cafd48c8ca4a7db44
https://github.com/siemens/jailhouse/commit/09808fe2e63c6ea326f30c2cafd48c8ca4a7db44
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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.

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.

Signed-off-by: Antonios Motakis <antonios...@huawei.com>
[Jan: Adjust to new irq_bitmap]


Commit: 64db54190b4fd61f458cba55c33c446f993d1d5e
https://github.com/siemens/jailhouse/commit/64db54190b4fd61f458cba55c33c446f993d1d5e
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 2016)

Changed paths:
M hypervisor/arch/arm/include/asm/psci.h
M hypervisor/arch/arm/psci.c
M hypervisor/arch/arm64/Makefile
M hypervisor/arch/arm64/control.c
M hypervisor/arch/arm64/include/asm/percpu.h
A hypervisor/arch/arm64/psci_low.S
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 SVC64 hypercalls as well,
contrary to AArch32 which uses SVC32 calls only. We add the changes
necessary to support the hypercalls that are used by a Linux root
cell. CPU hotplug now is still working after we enable Jailhouse.

Signed-off-by: Antonios Motakis <antonios...@huawei.com>


Commit: 8c28b5af46bda6629542e54e7b6f64b7c71bff31
https://github.com/siemens/jailhouse/commit/8c28b5af46bda6629542e54e7b6f64b7c71bff31
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>


Commit: b6b91ee8ca5cb490cb4ce14e4e44e3d5495b23fb
https://github.com/siemens/jailhouse/commit/b6b91ee8ca5cb490cb4ce14e4e44e3d5495b23fb
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 2016)

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

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

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

Signed-off-by: Antonios Motakis <antonios...@huawei.com>


Commit: 15c6d0e9104ab653e69776167e0c253a82964366
https://github.com/siemens/jailhouse/commit/15c6d0e9104ab653e69776167e0c253a82964366
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 2016)

Changed paths:
M hypervisor/arch/arm64/control.c
M hypervisor/arch/arm64/entry.S
M hypervisor/arch/arm64/include/asm/percpu.h
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...@huawei.com>


Commit: 7e95a2769cfc5dbe993791ff9cdd750996a0fb7f
https://github.com/siemens/jailhouse/commit/7e95a2769cfc5dbe993791ff9cdd750996a0fb7f
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 2016)

Changed paths:
M hypervisor/arch/arm64/control.c
M hypervisor/include/jailhouse/control.h

Log Message:
-----------
arm64: implement cell control infrastructure

This patch mostly implements the functionality needed to create
and control new cells. The functionality is very similar to the
one from AArch32, and there is potential to unify some code in
the future between the architectures.

Signed-off-by: Antonios Motakis <antonios...@huawei.com>
[Jan: remove obsolete irqchip_root_cell_shrink]


Commit: 2328aa06fbedbf04366b8d64a3e5276c6b44efeb
https://github.com/siemens/jailhouse/commit/2328aa06fbedbf04366b8d64a3e5276c6b44efeb
Author: Dmitry Voytik <dmitry...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>


Commit: ef558a58b57aa98a1930cbd2f4b5bd672fa6518b
https://github.com/siemens/jailhouse/commit/ef558a58b57aa98a1930cbd2f4b5bd672fa6518b
Author: Jan Kiszka <jan.k...@siemens.com>
Date: 2016-06-27 (Mon, 27 Jun 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.k...@siemens.com>


Commit: eedef645b1b94a594f526ddf80486f6b9e454f15
https://github.com/siemens/jailhouse/commit/eedef645b1b94a594f526ddf80486f6b9e454f15
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>


Commit: d2b73ed6f3c26ee18dc84bd8811dc38bbcfd6d1c
https://github.com/siemens/jailhouse/commit/d2b73ed6f3c26ee18dc84bd8811dc38bbcfd6d1c
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>


Commit: 36238582ea32b3e7f4c6397737e137baf5fa9e47
https://github.com/siemens/jailhouse/commit/36238582ea32b3e7f4c6397737e137baf5fa9e47
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>


Commit: 3383571dd775f6d95ea97ee65d815b260851bcda
https://github.com/siemens/jailhouse/commit/3383571dd775f6d95ea97ee65d815b260851bcda
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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 imate 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...@huawei.com>


Commit: edd1c65c04148f7a167ab7f726db453be060bc4d
https://github.com/siemens/jailhouse/commit/edd1c65c04148f7a167ab7f726db453be060bc4d
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>


Commit: b7929d664ffe93474c9379f0877dbc456d5149f4
https://github.com/siemens/jailhouse/commit/b7929d664ffe93474c9379f0877dbc456d5149f4
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>


Commit: 91b03a99bb4b44c4db504ca0744388b88c1611a7
https://github.com/siemens/jailhouse/commit/91b03a99bb4b44c4db504ca0744388b88c1611a7
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>


Commit: 8fcb2c3154c12d055c4a738a642a2af4d0ce796c
https://github.com/siemens/jailhouse/commit/8fcb2c3154c12d055c4a738a642a2af4d0ce796c
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>


Commit: 86fc87e682b1354dd51afdfbe85075b197f55938
https://github.com/siemens/jailhouse/commit/86fc87e682b1354dd51afdfbe85075b197f55938
Author: Dmitry Voytik <dmitry...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>
Signed-off-by: Antonios Motakis <antonios...@huawei.com>
[antonios...@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 ]


Commit: f88b8c48fa0ad3e16c6d4e8fcbc578a62f073777
https://github.com/siemens/jailhouse/commit/f88b8c48fa0ad3e16c6d4e8fcbc578a62f073777
Author: Dmitry Voytik <dmitry...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>
Signed-off-by: Antonios Motakis <antonios...@huawei.com>
[antonios...@huawei.com: split off as a separate patch,
some minor renaming for consistency]
[Jan: Adjust to new irqchip configuration]


Commit: d748987eb90109cad405094d0989cf7e87229ec7
https://github.com/siemens/jailhouse/commit/d748987eb90109cad405094d0989cf7e87229ec7
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>
[Jan: Adjust to new irqchip configuration]


Commit: a39da6f77e6b74a2e517b7e321108fd405edc68a
https://github.com/siemens/jailhouse/commit/a39da6f77e6b74a2e517b7e321108fd405edc68a
Author: Antonios Motakis <antonios...@huawei.com>
Date: 2016-06-27 (Mon, 27 Jun 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...@huawei.com>


Compare: https://github.com/siemens/jailhouse/compare/ad6b6ad71932...a39da6f77e6b
Reply all
Reply to author
Forward
0 new messages