Re: IVSHMEM future

2017-09-06 Thread Constantin Petra
Hi, Yes, thank you, this makes the current situation more clear. We'll probably try to get around option A for a POC - and keep an eye on the development of facts, see what would suit us on long term. Best Regards, Constantin -- You received this message because you are subscribed to the

Re: (x)APIC virtualization and vmx_handle_apic_access()

2017-09-06 Thread Jan Kiszka
On 2017-09-07 02:42, Gustavo Lima Chaves wrote: > * Gustavo Lima Chaves [2017-09-06 21:42:37 > +]: > >> * Jan Kiszka [2017-09-01 18:32:54 +]: >> >>> On 2017-09-01 20:08, Gustavo Lima Chaves wrote: Hi. I'm already

Re: (x)APIC virtualization and vmx_handle_apic_access()

2017-09-06 Thread Gustavo Lima Chaves
* Jan Kiszka [2017-09-01 18:32:54 +]: > On 2017-09-01 20:08, Gustavo Lima Chaves wrote: > > Hi. > > > > I'm already experimenting with this issue, in the way of trying to get > > Zephyr + xAPIC good to go, besides x2APIC, but here goes the doubt in > > order to

[siemens/jailhouse] 90f693: core, inmates: optionally include config.mk in Mak...

2017-09-06 Thread GitHub
Branch: refs/heads/next Home: https://github.com/siemens/jailhouse Commit: 90f6931ba05c58de366b93020e7f200a805889d1 https://github.com/siemens/jailhouse/commit/90f6931ba05c58de366b93020e7f200a805889d1 Author: Ralf Ramsauer Date: 2017-09-06

Re: [EXTERNAL] Re: [PATCH v5 6/7] arm-common: control: Populate cluster_id and targets in sgi for arm_cpu_kick

2017-09-06 Thread Jan Kiszka
On 2017-09-06 18:07, Devshatwar, Nikhil wrote: >>> Hypervisor should never issues SGIs with IRM=1 Any traps for IRM=1 >>> should be divided into multiple SGIs (maximum of the total num of >>> clusters) This increases number of SGIs issued, but only the intended cores >>> get >> interrupted. >>>

RE: [EXTERNAL] Re: [PATCH v5 6/7] arm-common: control: Populate cluster_id and targets in sgi for arm_cpu_kick

2017-09-06 Thread 'Devshatwar, Nikhil' via Jailhouse
> -Original Message- > From: Jan Kiszka [mailto:jan.kis...@siemens.com] > Sent: Wednesday, September 06, 2017 9:19 PM > To: Devshatwar, Nikhil; Vutla, Lokesh; jailhouse-dev@googlegroups.com > Cc: Ralf Ramsauer > Subject: Re: [EXTERNAL] Re: [PATCH v5 6/7] arm-common: control: Populate >

Re: [EXTERNAL] Re: [PATCH v5 6/7] arm-common: control: Populate cluster_id and targets in sgi for arm_cpu_kick

2017-09-06 Thread Jan Kiszka
On 2017-09-06 17:46, Devshatwar, Nikhil wrote: > >> -Original Message- >> From: jailhouse-dev@googlegroups.com [mailto:jailhouse- >> d...@googlegroups.com] On Behalf Of Jan Kiszka >> Sent: Wednesday, September 06, 2017 9:08 PM >> To: Vutla, Lokesh; jailhouse-dev@googlegroups.com >> Cc:

RE: [EXTERNAL] Re: [PATCH v5 6/7] arm-common: control: Populate cluster_id and targets in sgi for arm_cpu_kick

2017-09-06 Thread 'Devshatwar, Nikhil' via Jailhouse
> -Original Message- > From: jailhouse-dev@googlegroups.com [mailto:jailhouse- > d...@googlegroups.com] On Behalf Of Jan Kiszka > Sent: Wednesday, September 06, 2017 9:08 PM > To: Vutla, Lokesh; jailhouse-dev@googlegroups.com > Cc: Ralf Ramsauer; Devshatwar, Nikhil > Subject: [EXTERNAL]

Re: [PATCH RFC/RFT 1/3] arm64: Add sysreg macro definitions

2017-09-06 Thread Jan Kiszka
On 2017-09-06 15:18, Lokesh Vutla wrote: > From: Nikhil Devshatwar > > Add support for arm64 specific sysreg macro definitions. > > Signed-off-by: Nikhil Devshatwar > Signed-off-by: Lokesh Vutla > --- > - SYSREG_32() definition is same

[siemens/jailhouse] 3f3766: arm: gicv3: Fix the GICD_IROUTER offset

2017-09-06 Thread GitHub
Branch: refs/heads/next Home: https://github.com/siemens/jailhouse Commit: 3f37663456c66ee4a7898c3b93c28deb9b578bce https://github.com/siemens/jailhouse/commit/3f37663456c66ee4a7898c3b93c28deb9b578bce Author: Lokesh Vutla Date: 2017-09-06 (Wed, 06 Sep

Re: [PATCH v5 4/7] arm-common: Use cluster_id instead of affinity levels

2017-09-06 Thread Jan Kiszka
On 2017-09-06 08:14, 'Lokesh Vutla' via Jailhouse wrote: > For simplicity pass cluster id derived from mpidr instead of > passing affinity levels separately. > > Signed-off-by: Lokesh Vutla > --- > hypervisor/arch/arm-common/include/asm/irqchip.h | 7 ++- >

Re: IVSHMEM future

2017-09-06 Thread Jan Kiszka
On 2017-09-06 14:03, Constantin Petra wrote: > Hi, > > I was finally able to set up an IVSHMEM connection on Ultrascale+ (basic, > using JAILHOUSE_SHMEM_PROTO_UNDEFINED, just interrupts working and access to > shared memory area between host/guest) so I have a better perspective now. > I am

Re: [PATCH v5 6/7] arm-common: control: Populate cluster_id and targets in sgi for arm_cpu_kick

2017-09-06 Thread Jan Kiszka
On 2017-09-06 16:51, Lokesh Vutla wrote: > > > On Wednesday 06 September 2017 07:42 PM, Jan Kiszka wrote: >> On 2017-09-06 15:43, Jan Kiszka wrote: >>> On 2017-09-06 14:14, Lokesh Vutla wrote: On Wednesday 06 September 2017 05:27 PM, Jan Kiszka wrote: > On 2017-09-06 08:14,

Re: [PATCH v5 6/7] arm-common: control: Populate cluster_id and targets in sgi for arm_cpu_kick

2017-09-06 Thread 'Lokesh Vutla' via Jailhouse
On Wednesday 06 September 2017 07:42 PM, Jan Kiszka wrote: > On 2017-09-06 15:43, Jan Kiszka wrote: >> On 2017-09-06 14:14, Lokesh Vutla wrote: >>> >>> >>> On Wednesday 06 September 2017 05:27 PM, Jan Kiszka wrote: On 2017-09-06 08:14, Lokesh Vutla wrote: > Logical cpu_id may not match

Re: [PATCH v5 6/7] arm-common: control: Populate cluster_id and targets in sgi for arm_cpu_kick

2017-09-06 Thread Jan Kiszka
On 2017-09-06 16:26, Lokesh Vutla wrote: > > > On Wednesday 06 September 2017 07:13 PM, Jan Kiszka wrote: >> On 2017-09-06 14:14, Lokesh Vutla wrote: >>> >>> >>> On Wednesday 06 September 2017 05:27 PM, Jan Kiszka wrote: On 2017-09-06 08:14, Lokesh Vutla wrote: > Logical cpu_id may not

Re: [PATCH v5 6/7] arm-common: control: Populate cluster_id and targets in sgi for arm_cpu_kick

2017-09-06 Thread 'Lokesh Vutla' via Jailhouse
On Wednesday 06 September 2017 07:13 PM, Jan Kiszka wrote: > On 2017-09-06 14:14, Lokesh Vutla wrote: >> >> >> On Wednesday 06 September 2017 05:27 PM, Jan Kiszka wrote: >>> On 2017-09-06 08:14, Lokesh Vutla wrote: Logical cpu_id may not match with aff0 always. So populate targets with

Re: [PATCH] core: move hypercall interface to global include directory

2017-09-06 Thread Jan Kiszka
On 2017-09-06 15:42, Ralf Ramsauer wrote: > Keep dual-licensed code and/or headers shared between components at one > single place. > > Signed-off-by: Ralf Ramsauer > Cc: Antonios Motakis > --- > Dear Antonios, > > few weeks ago we

Re: [PATCH v2 5/7] inmates, arm: provide own sysregs.h

2017-09-06 Thread Jean-Philippe Brucker
Hi Ralf, On 06/09/17 14:16, Ralf Ramsauer wrote: > ARM inmates make use of hypervisor's sysregs accessors and helpers. In > order to entirely decouple the hypervisor code from inmate code, let's > duplicate some of those definitions, but only those that are really in > use. > > Signed-off-by:

Re: [PATCH v5 6/7] arm-common: control: Populate cluster_id and targets in sgi for arm_cpu_kick

2017-09-06 Thread Jan Kiszka
On 2017-09-06 14:14, Lokesh Vutla wrote: > > > On Wednesday 06 September 2017 05:27 PM, Jan Kiszka wrote: >> On 2017-09-06 08:14, Lokesh Vutla wrote: >>> Logical cpu_id may not match with aff0 always. So populate >>> targets with aff0 and cluster_id from mpidr in sgi before >>> sending sgi in

[PATCH] core: move hypercall interface to global include directory

2017-09-06 Thread Ralf Ramsauer
Keep dual-licensed code and/or headers shared between components at one single place. Signed-off-by: Ralf Ramsauer Cc: Antonios Motakis --- Dear Antonios, few weeks ago we changed the license for Jailhouse inmates from GPL to a

Re: [PATCH v2 2/7] core: move hypercall interface to global include directory

2017-09-06 Thread Jan Kiszka
On 2017-09-06 15:16, Ralf Ramsauer wrote: > Keep dual-licensed code and/or headers shared between components at one > single place. > > Signed-off-by: Ralf Ramsauer > --- > configs/Makefile | 3 ++- >

[PATCH RFC/RFT 0/3] arm64: Add arch specific sysreg definitions

2017-09-06 Thread 'Lokesh Vutla' via Jailhouse
As promised yesterday, here is an attempt to cleanup list registers and sysreg macro definitions. Lokesh Vutla (2): arm: gic: Add arch specific List registers acccesses arm: gic: Add arch specific sgi1r_el1 register definition Nikhil Devshatwar (1): arm64: Add sysreg macro definitions

[PATCH v2 6/7] inmates, arm64: provide own sysregs.h

2017-09-06 Thread Ralf Ramsauer
ARM inmates make use of hypervisor's sysregs accessors and helpers. In order to entirely decouple the hypervisor code from inmate code, let's duplicate accessors. And that's it, we just need to define accessors, compiler makes the rest. Signed-off-by: Ralf Ramsauer

[PATCH v2 5/7] inmates, arm: provide own sysregs.h

2017-09-06 Thread Ralf Ramsauer
ARM inmates make use of hypervisor's sysregs accessors and helpers. In order to entirely decouple the hypervisor code from inmate code, let's duplicate some of those definitions, but only those that are really in use. Signed-off-by: Ralf Ramsauer Cc:

[PATCH v2 0/7] Decouple inmates from hypervisor

2017-09-06 Thread Ralf Ramsauer
Hi, this series decouples inmates from hypervisor (besides printk-core.c). To achieve that, I introduced a new global include directory in the root path of the project. Rationale is as follows: Inmates could accidentally include headers from 'hypervisor/include/jailhouse', such as utils.h,

[PATCH v2 1/7] core, inmates: optionally include config.mk in Makefiles

2017-09-06 Thread Ralf Ramsauer
Otherwise successive cleans, like make clean; make clean will fail. Signed-off-by: Ralf Ramsauer --- hypervisor/Makefile | 2 +- hypervisor/arch/arm-common/Kbuild | 2 +- inmates/lib/arm/Makefile.lib | 2 +- inmates/lib/arm64/Makefile.lib

[PATCH v2 3/7] core: move cell-config.h to global include directory

2017-09-06 Thread Ralf Ramsauer
Keep dual-licensed code and/or headers shared between components at one single place. Signed-off-by: Ralf Ramsauer --- {hypervisor/include => include}/jailhouse/cell-config.h | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {hypervisor/include =>

[PATCH v2 2/7] core: move hypercall interface to global include directory

2017-09-06 Thread Ralf Ramsauer
Keep dual-licensed code and/or headers shared between components at one single place. Signed-off-by: Ralf Ramsauer --- configs/Makefile | 3 ++- driver/Makefile

Re: [PATCH v5 6/7] arm-common: control: Populate cluster_id and targets in sgi for arm_cpu_kick

2017-09-06 Thread 'Lokesh Vutla' via Jailhouse
On Wednesday 06 September 2017 05:27 PM, Jan Kiszka wrote: > On 2017-09-06 08:14, Lokesh Vutla wrote: >> Logical cpu_id may not match with aff0 always. So populate >> targets with aff0 and cluster_id from mpidr in sgi before >> sending sgi in arm_cpu_kick(). >> >> Signed-off-by: Lokesh Vutla

IVSHMEM future

2017-09-06 Thread Constantin Petra
Hi, I was finally able to set up an IVSHMEM connection on Ultrascale+ (basic, using JAILHOUSE_SHMEM_PROTO_UNDEFINED, just interrupts working and access to shared memory area between host/guest) so I have a better perspective now. I am curious about the future development of IVSHMEM, the thread

Re: [PATCH v5 6/7] arm-common: control: Populate cluster_id and targets in sgi for arm_cpu_kick

2017-09-06 Thread Jan Kiszka
On 2017-09-06 08:14, Lokesh Vutla wrote: > Logical cpu_id may not match with aff0 always. So populate > targets with aff0 and cluster_id from mpidr in sgi before > sending sgi in arm_cpu_kick(). > > Signed-off-by: Lokesh Vutla > --- > hypervisor/arch/arm-common/control.c | 4

Re: [PATCH v5 3/7] arm: gicv3: Add support for affinity based irq routing

2017-09-06 Thread Jan Kiszka
On 2017-09-06 08:14, Lokesh Vutla wrote: > cpu_id(returned by first_cpu) may not match aff0 in mpidr. > Fix this by always using affinity values in GICD_IROUTER. Log sounds better, but I'm also changing the subject during merge now to make searching easier: "arm: gicv3: Fix irq target

Re: [PATCH 6/9] inmates: remove hypervisor-local include directory

2017-09-06 Thread Jan Kiszka
On 2017-09-06 12:29, Ralf Ramsauer wrote: > There's no more need for it. > > Signed-off-by: Ralf Ramsauer > --- > inmates/Makefile | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/inmates/Makefile b/inmates/Makefile > index 47c630da..c0509207 100644 >

Re: [PATCH 5/9] core: move jailhouse_hypercall.h to global include directory

2017-09-06 Thread Jan Kiszka
On 2017-09-06 12:29, Ralf Ramsauer wrote: > Keep dual-licensed code at one single place. > > Signed-off-by: Ralf Ramsauer > --- > driver/Makefile | 1 > + > hypervisor/Makefile

Re: [PATCH 4/9] core: move hypervisor configuration to include/jailhouse/config.h

2017-09-06 Thread Jan Kiszka
On 2017-09-06 12:29, Ralf Ramsauer wrote: > Keep dual-licensed code at one single place. Also maintain documentation > and .gitignore. The config.h is unlicensed because it does not even exist at this point. That's why we should also refer to "headers shared between components". Jan > > Both,

Re: [PATCH 2/9] core: move hypercall.h to global include directory

2017-09-06 Thread Jan Kiszka
On 2017-09-06 12:29, Ralf Ramsauer wrote: > Keep dual-licensed code at one single place. ...and/or headers shared between components. Jan > > Signed-off-by: Ralf Ramsauer > --- > configs/Makefile | 3 ++- > driver/Makefile

Re: [PATCH 1/9] core, inmates: optionally include config.mk in Makefiles

2017-09-06 Thread Jan Kiszka
On 2017-09-06 12:29, Ralf Ramsauer wrote: > Otherwise successive cleans, like > make clean; make clean > will fail. Oh, that's why it was optional before I changed that again. At least that is now properly documented by this commit... Jan > > Signed-off-by: Ralf Ramsauer

[PATCH 9/9] inmates: entirely remove hypervisor include dependency

2017-09-06 Thread Ralf Ramsauer
And that's it, inmates no more depend on pure hypervisor headers. Signed-off-by: Ralf Ramsauer --- inmates/Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/inmates/Makefile b/inmates/Makefile index c0509207..29b6236c 100644 --- a/inmates/Makefile +++

[PATCH 8/9] inmates, arm64: provide own sysregs.h

2017-09-06 Thread Ralf Ramsauer
ARM inmates make use of hypervisor's sysregs accessors and helpers. In order to entirely decouple the hypervisor code from inmate code, let's duplicate accessors. And that's it, we just need to define accessors, compiler makes the rest. Signed-off-by: Ralf Ramsauer

[PATCH 3/9] core: move cell-config.h to global include directory

2017-09-06 Thread Ralf Ramsauer
Keep dual-licensed code at one single place. Signed-off-by: Ralf Ramsauer --- {hypervisor/include => include}/jailhouse/cell-config.h | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {hypervisor/include => include}/jailhouse/cell-config.h (100%)

[PATCH 4/9] core: move hypervisor configuration to include/jailhouse/config.h

2017-09-06 Thread Ralf Ramsauer
Keep dual-licensed code at one single place. Also maintain documentation and .gitignore. Both, inmates and hypervisor need those definitions. Don't store the global config.h somewhere deep inside 'hypervisor/' any longer. Signed-off-by: Ralf Ramsauer ---

[PATCH 7/9] inmates, arm: provide own sysregs.h

2017-09-06 Thread Ralf Ramsauer
ARM inmates make use of hypervisor's sysregs accessors and helpers. In order to entirely decouple the hypervisor code from inmate code, let's duplicate some of those definitions, but only those that are really in use. Signed-off-by: Ralf Ramsauer ---

[PATCH 5/9] core: move jailhouse_hypercall.h to global include directory

2017-09-06 Thread Ralf Ramsauer
Keep dual-licensed code at one single place. Signed-off-by: Ralf Ramsauer --- driver/Makefile | 1 + hypervisor/Makefile | 1 + .../arch/arm/include =>

[PATCH 2/9] core: move hypercall.h to global include directory

2017-09-06 Thread Ralf Ramsauer
Keep dual-licensed code at one single place. Signed-off-by: Ralf Ramsauer --- configs/Makefile | 3 ++- driver/Makefile | 4 +++- hypervisor/Makefile | 3

[PATCH 6/9] inmates: remove hypervisor-local include directory

2017-09-06 Thread Ralf Ramsauer
There's no more need for it. Signed-off-by: Ralf Ramsauer --- inmates/Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/inmates/Makefile b/inmates/Makefile index 47c630da..c0509207 100644 --- a/inmates/Makefile +++ b/inmates/Makefile @@ -17,7 +17,6 @@

[PATCH 0/9] Decouple inmates from hypervisor

2017-09-06 Thread Ralf Ramsauer
Hi, this series entirely decouples inmates from hypervisor. To achieve that, I introduced a new global include directory in the root path of the project. Rationale is as follows: Inmates could accidentally include headers from 'hypervisor/include/jailhouse', such as utils.h, mmio.h or others.

Re: questions related to IVSHMEM/uio_ivshmem

2017-09-06 Thread Henning Schild
Am Tue, 5 Sep 2017 00:41:52 -0700 schrieb Constantin Petra : > Hi, > > I can now confirm that the patch 87fbf1f works and interrupts are > received correctly, /dev/uiox is accessible and works as expected. > Without it, I got a: "FATAL: forbidden access (exception

[PATCH v5 4/7] arm-common: Use cluster_id instead of affinity levels

2017-09-06 Thread 'Lokesh Vutla' via Jailhouse
For simplicity pass cluster id derived from mpidr instead of passing affinity levels separately. Signed-off-by: Lokesh Vutla --- hypervisor/arch/arm-common/include/asm/irqchip.h | 7 ++- hypervisor/arch/arm-common/irqchip.c | 4 +---

[PATCH v5 3/7] arm: gicv3: Add support for affinity based irq routing

2017-09-06 Thread 'Lokesh Vutla' via Jailhouse
cpu_id(returned by first_cpu) may not match aff0 in mpidr. Fix this by always using affinity values in GICD_IROUTER. Signed-off-by: Lokesh Vutla --- hypervisor/arch/arm/gic-v3.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git

[PATCH v5 7/7] arm-common: control: Explicitly specify routing mode for arm_cpu_kick()

2017-09-06 Thread 'Lokesh Vutla' via Jailhouse
Instead of relying on initial value, specify the routing mode of sgi for arm_cpu_kick(). Signed-off-by: Lokesh Vutla --- hypervisor/arch/arm-common/control.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hypervisor/arch/arm-common/control.c

[PATCH v5 1/7] arm: gicv3: Fix the GICD_IROUTER offset

2017-09-06 Thread 'Lokesh Vutla' via Jailhouse
Commit 61e30277199e5 ("GICv3: Fix the GICD_IROUTER offset") in ATF[1] specifies that GICv3 documention mentions the wrong offset about GICD_IROUTER and gives proper calculation for interrupt id. Importing the same here. [1] https://github.com/ARM-software/arm-trusted-firmware Signed-off-by:

[PATCH v5 0/7] arm: gic: Add affinity based routing

2017-09-06 Thread 'Lokesh Vutla' via Jailhouse
This series is based on branch "next". It has couple of bug fixes and adds affinity based routing for arm gic. This should be able to go independently from gicv3 movement to common place. Changes since v4: - Updated couple of commit messages and macro definitions as suggested by Jan. - Removed

[PATCH v5 2/7] arm: gicv3: Fix detection of redistributor

2017-09-06 Thread 'Lokesh Vutla' via Jailhouse
MPIDR can be used to compare the GICR_TYPER register for redistributor base calculation. Logic is imported from kernel. Signed-off-by: Lokesh Vutla --- hypervisor/arch/arm/gic-v3.c| 13 ++--- hypervisor/arch/arm/include/asm/sysregs.h | 7 +++

[PATCH v5 5/7] arm-common: irq-chip: Handle affinity based sgis for gic_handle_sgir_write()

2017-09-06 Thread 'Lokesh Vutla' via Jailhouse
Even though 'struct sgi' already supports for passing cluster_id, gic_handle_sgir_write() looks only for target fields and triggers sgis to its respective targets. This will fail in case of armv8 with affinity routing enabled. So parse all the affinity levels in sgi before sending sgi.

[PATCH v5 6/7] arm-common: control: Populate cluster_id and targets in sgi for arm_cpu_kick

2017-09-06 Thread 'Lokesh Vutla' via Jailhouse
Logical cpu_id may not match with aff0 always. So populate targets with aff0 and cluster_id from mpidr in sgi before sending sgi in arm_cpu_kick(). Signed-off-by: Lokesh Vutla --- hypervisor/arch/arm-common/control.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)