My goal is to launch root cell from RTOS. And in inmate cell must run linux.
I use jailhouse driver as reference code.
Now I works not on real board (with RTOS) but on another ARMV8 based board
with Linux. As I understood PSCI in configured in Linux on this board.

Thanks,
Vladimir

-----Original Message-----
From: Jan Kiszka [mailto:jan.kis...@siemens.com]
Sent: Tuesday, November 6, 2018 4:58 PM
To: Vladimir Neyelov <vladimir.neye...@broadcom.com>;
jailhouse-dev@googlegroups.com
Subject: Re: JAILHOUSE_HC_CELL_CREATE stuck

On 06.11.18 15:36, Vladimir Neyelov wrote:
> Hi Jan,
>
> Simply I use same function that you use in jailhouse driver - cpu_down
> for inmate CPU before hypercall JAILHOUSE_HC_CELL_CREATE.

Hmm, are you reimplementing the driver module? Anyway, my comment was rather
targeting at the effect of that function: Normally, the kernel would put the
CPU into power-down state after offlining it, e.g. via PSCI. PSCI is
properly intercepted by Jailhouse and this command will not execute
physically once Jailhouse is active. If offlining should work differently on
your board (we had a couple of cases on legacy ARMv7), this assumption may
break.

Jan

>
> Thanks,
> Vladimir
>
> -----Original Message-----
> From: Jan Kiszka [mailto:jan.kis...@siemens.com]
> Sent: Tuesday, November 6, 2018 3:34 PM
> To: Vladimir Neyelov <vladimir.neye...@broadcom.com>;
> jailhouse-dev@googlegroups.com
> Subject: Re: JAILHOUSE_HC_CELL_CREATE stuck
>
> On 06.11.18 13:29, 'Vladimir Neyelov' via Jailhouse wrote:
>> Hello all,
>>
>> I am trying to porting jailhouse on our arm64 base board. I created
>> configuration for inmate cell and
>>
>> trying to launch it. I have cpu bit mask 0xf for root cell and 0x8
>> for inmate.
>>
>> This is my log:
>>
>>
>>
>> NONROOT: handle_hvc
>>
>> NONROOT: bitmap f, max_cpu_id 63
>>
>> NONROOT: suspend CPU 1
>>
>> NONROOT: cpu 1 try suspend
>>
>> SGI_EVENT
>>
>> NONROOT: cpu 1 suspended
>>
>> NONROOT: suspend CPU 2
>>
>> NONROOT: cpu 2 try suspend
>>
>> SGI_EVENT
>>
>> NONROOT: cpu 2 suspended
>>
>> NONROOT: suspend CPU 3
>>
>> NONROOT: cpu 3 try suspend
>>
>>
>>
>> In function cell_create called cell_suspend(&root_cell) and  stuck.
>>
>> As you can see code performed on CPU 0 and it try suspend CPU 1,2 and
>> 3. 1 and 2 suspended successfully.
>>
>> But in  case of CPU 3 it stuck in function arch_suspend_cpu on line:
>>
>> while (!target_data->cpu_suspended)
>>
>>               cpu_relax();
>>
>>
>>
>> SGI_EVENT sent to CPU 3 but doesn’t reach  to exception routine.
>>
>> CPU 3 is in down state in linux. Why we need suspend CPU 3 that now
>> belong to inmate cell ?
>>
>
> Could it be that this "down state" was actually physically executed?
> Then the hypervisor lost control over the CPU, and it would explain
> why the SGI does not make.
>
> As we do not know the board nor the patches to wrote, it's hard to be
> more concrete.
>
> Jan
>
> --
> Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate
> Competence Center Embedded Linux
>


--
Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate Competence
Center Embedded Linux

-- 
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