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
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
* 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
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
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.
>>>
> -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
>
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:
> -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]
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
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
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 ++-
>
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
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,
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
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
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
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
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:
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
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
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 ++-
>
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
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
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:
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,
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
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 =>
Keep dual-licensed code and/or headers shared between components at one
single place.
Signed-off-by: Ralf Ramsauer
---
configs/Makefile | 3 ++-
driver/Makefile
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
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
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
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
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
>
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
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,
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
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
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
+++
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
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%)
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
---
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
---
Keep dual-licensed code at one single place.
Signed-off-by: Ralf Ramsauer
---
driver/Makefile | 1 +
hypervisor/Makefile | 1 +
.../arch/arm/include =>
Keep dual-licensed code at one single place.
Signed-off-by: Ralf Ramsauer
---
configs/Makefile | 3 ++-
driver/Makefile | 4 +++-
hypervisor/Makefile | 3
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 @@
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.
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
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 +---
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
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
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:
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
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 +++
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.
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(-)
55 matches
Mail list logo