On 6/12/19 9:27 PM, 'Vitaly Andrianov' via Jailhouse wrote:
> Hi Ralf,
> Thanks you for the quick response.
>
> On 06/12/2019 03:12 PM, Ralf Ramsauer wrote:
>> Hi Vitaly,
>>
>> On 6/12/19 8:45 PM, Vitaly Andrianov wrote:
>>> Hi Jan, Ralf,
>>>
>>> More than a year ago I was working on Jailhouse support for TI AM572x
>>> SOC. That time we used v0.8 and everything worked fine. Presently I
>>> started to port that support to v0.10 version and found a lot of new
>>> features. The mane "feature" that you removed "mach-..." and introduced
>>> "units". Because am57xx requires to have custom init and cell exit
>>> functions I think I need to create am57xx unit.
>>
>> Hehe, upstream first! :)
>
> I will as soon as I get it working. I don't want to do porting work for
> every new version :)
That's the point.
>
>>
>>>
>>> If you remember, the am57xx had its own:
>>>
>>> int mach_init(void),
>>> void mach_cell_exit(struct cell *cell) and
>>> int arch_handle_smc(struct trap_context *ctx)
>>>
>>> so, I have to implement the corresponding am57xx_init() and
>>> am57xx_cell_exit().
>>>
>>> Here is the old mach_cell_exit function, but many of the functions it
>>> uses disappeared in the v0.10 version.
>>>
>>> void mach_cell_exit(struct cell *cell)
>>> {
>>> unsigned int cpu;
>>>
>>> for_each_cpu(cpu, cell->cpu_set) {
>>> per_cpu(cpu)->cpu_on_entry =
>>> mmio_read32(wkupgen_base +
>>> OMAP_AUX_CORE_BOOT_0 +
>>> cpu * 4);
>>> per_cpu(cpu)->cpu_on_context = 0;
>>> arch_suspend_cpu(cpu);
>>> arch_reset_cpu(cpu);
>>> }
>>> }
>>>
>>> Please could you help me to find a example of similar function for other
>>> platforms I can use to implement the am57xx_cell_exit function. W/o it I
>>> cannot bring the second CPU after a cell destroy.
>>
>> Almost exactly a year ago, I removed vexpress support. Vexpress used to
>> have a similar pattern. Before I removed it, Jan converted it to a unit.
>> This should give you an example how you can use it.
>>
>> Have a look at aa9a67d63f326a89294781acb7b1562f54b0538e. Does that help?
> Actually does not. This commit removes vexpress support. It would help
> if it converts vexpress to use unit framework.
Vexpress was converted to a unit before I removed it (as an unit):
ae21d8823ef62c ("arm: Convert mach-vexpress to a unit").
>
> I think I have an issue with SMC. After I destroy a cell on CPU1 the CPU
> is sitting on wfi loop.
> But CPU0 cannot wake it up. I'm debugging that path now.
>
> In v0.10 there is no arch_suspend_cpu(). Does my am57xx_cell_exit() need
> to call some equivalent of that function @v0.10? If yes, than what is it?
units have cell_init and cell_exit hooks, cf. include/jailhouse/unit.h
Ralf
>
> Thanks,
> -Vitaly
>
>>
>> Ralf
>>
>>>
>>> Thanks,
>>> -Vitaly
>>>
>>>
>>
>
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jailhouse-dev/227b8454-0d62-ecd2-d052-7a94b4ceb8c8%40oth-regensburg.de.
For more options, visit https://groups.google.com/d/optout.