qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [Qemu-ppc] [PATCH v4] ppc: spapr-rtas - implement os-te


From: Nikunj A Dadhania
Subject: Re: [Qemu-devel] [Qemu-ppc] [PATCH v4] ppc: spapr-rtas - implement os-term rtas call
Date: Mon, 30 Jun 2014 10:35:21 +0530
User-agent: Notmuch/0.17+27~gae47d61 (http://notmuchmail.org) Emacs/24.3.1 (x86_64-redhat-linux-gnu)

Tyrel Datwyler <address@hidden> writes:

> On 06/27/2014 12:37 AM, Nikunj A Dadhania wrote:
>> PAPR compliant guest calls this in absence of kdump. This finally
>> reaches the guest and can be handled according to the policies set by
>> higher level tools(like taking dump) for further analysis by tools like
>> crash.
>> 
>> Linux kernel calls this only when the extended version of os,term is
>> implemented to make sure that a return to the linux kernel is gauranteed.
>> 
>> CC: Benjamin Herrenschmidt <address@hidden>
>> CC: Anton Blanchard <address@hidden>
>> CC: Alexander Graf <address@hidden>
>> Signed-off-by: Nikunj A Dadhania <address@hidden>
>> 
>> ---
>> 
>> v2: rebase to ppcnext
>> v3: Do not stop the VM, and update comments
>> v4: update spapr_register_rtas and qapi_event changes
>> ---
>>  hw/ppc/spapr_rtas.c | 36 ++++++++++++++++++++++++++++++++++++
>>  1 file changed, 36 insertions(+)
>> 
>> diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c
>> index 9ba1ba6..b11de41 100644
>> --- a/hw/ppc/spapr_rtas.c
>> +++ b/hw/ppc/spapr_rtas.c
>> @@ -277,6 +277,38 @@ static void rtas_ibm_set_system_parameter(PowerPCCPU 
>> *cpu,
>>      rtas_st(rets, 0, ret);
>>  }
>>  
>> +static void rtas_ibm_os_term(PowerPCCPU *cpu,
>> +                            sPAPREnvironment *spapr,
>> +                            uint32_t token, uint32_t nargs,
>> +                            target_ulong args,
>> +                            uint32_t nret, target_ulong rets)
>> +{
>> +    target_ulong ret = 0;
>> +
>> +    qapi_event_send_guest_panicked(GUEST_PANIC_ACTION_PAUSE, &error_abort);
>> +
>> +    rtas_st(rets, 0, ret);
>> +}
>> +
>> +/*
>> + * According to PAPR, rtas ibm,os-term, does not gaurantee a return
>> + * back to the guest cpu.
>> + *
>> + * While an additional ibm,extended-os-term property indicates that
>> + * rtas call return will always occur. Below function implements a
>> + * place holder for the same.
>> + */
>
> PAPR defines ibm,extended-os-term as a null encoded property not a rtas
> function. It should be added to the device tree in the
> spapr_create_fdt_skel function under the "rtas" node. The following
> should suffice.
>
> _FDT((fdt_property(fdt, "ibm,extended-os-term", NULL, 0)));
>

Sure, I can do that, much better.

Regards
Nikunj




reply via email to

[Prev in Thread] Current Thread [Next in Thread]