On 2016-09-21 07:46, Jan Kiszka wrote: > The root cell can't be using HVC dispatching as it can't be running a > hypervisor prior to Jailhouse. And we can tell our non-root cells to use > the SMC method for PSCI services. > > Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> > --- > hypervisor/arch/arm/traps.c | 10 +++------- > 1 file changed, 3 insertions(+), 7 deletions(-) > > diff --git a/hypervisor/arch/arm/traps.c b/hypervisor/arch/arm/traps.c > index ab5b3a0..4b2cd21 100644 > --- a/hypervisor/arch/arm/traps.c > +++ b/hypervisor/arch/arm/traps.c > @@ -264,14 +264,10 @@ static int arch_handle_hvc(struct trap_context *ctx) > unsigned long *regs = ctx->regs; > unsigned long code = regs[0]; > > - if (IS_PSCI_32(code) || IS_PSCI_UBOOT(code)) { > - regs[0] = psci_dispatch(ctx); > - } else { > - regs[0] = hypercall(code, regs[1], regs[2]); > + regs[0] = hypercall(code, regs[1], regs[2]); > > - if (code == JAILHOUSE_HC_DISABLE && regs[0] == 0) > - arch_shutdown_self(this_cpu_data()); > - } > + if (code == JAILHOUSE_HC_DISABLE && regs[0] == 0) > + arch_shutdown_self(this_cpu_data()); > > return TRAP_HANDLED; > } >
I just found this in the AArch64 patches: "On AArch64 PSCI calls can be issued via SVC64 hypercalls as well, contrary to AArch32 which uses SVC32 calls only." What makes that arch different von 32-bit? In both cases, the root cell only has a primitive hypervisor stub installed prior to enabling Jailhouse, and that stub does not handle PSCI hypercalls. Looking at linux/drivers/firmware/psci.c seems to confirm this: it's shared by both archs. Jan -- Siemens AG, Corporate Technology, CT RDA ITP 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.