Re: [kvm-unit-tests PATCH v4 3/4] s390x: topology: Check the Perform Topology Function

Pierre Morel
2022-02-15T09:42:07Z

On 2/15/22 10:21, Pierre Morel wrote:
>
>
> On 2/15/22 09:50, Pierre Morel wrote:
>>
>>
>> On 2/9/22 12:37, Nico Boehr wrote:
>>> On Tue, 2022-02-08 at 14:27 +0100, Pierre Morel wrote:
>>>> We check the PTF instruction.
>>>
>>> You could test some very basic things as well:
>>>
>>> - you get a privileged pgm int in problem state,
>>> - reserved bits in first operand cause specification pgm int,
>>> - reserved FC values result in a specification pgm int,
>>> - second operand is ignored.
>>
>> Which second operand?
>
> Sorry got it

I was a little fast in my answer, twice.
If the second operand is ignored, how would you like to check something
like that?
We can check that the result of the instruction is identical for the
known effects the user can check what ever we put in there but how can
we know if it is really ignored?

>>
>>>
>>>>
>>>> - We do not expect to support vertical polarization.
>>>>
>>>> - We do not expect the Modified Topology Change Report to be
>>> [...]
>>>
>>> Forgive me if I'm missing something, but why _Modified_ Topology Change
>>> Report?
>>>
>>>> diff --git a/s390x/topology.c b/s390x/topology.c
>>>> new file mode 100644
>>>> index 00000000..a1f9ce51
>>>> --- /dev/null
>>>> +++ b/s390x/topology.c
>>>
>>> [...]
>>>
>>>> +static int ptf(unsigned long fc, unsigned long *rc)
>>>> +{
>>>> +       int cc;
>>>> +
>>>> +       asm volatile(
>>>> +               "       .insn   rre,0xb9a20000,%1,0\n"
>>>> +               "       ipm     %0\n"
>>>> +               "       srl     %0,28\n"
>>>> +               : "=d" (cc), "+d" (fc)
>>>> +               : "d" (fc)
>>>
>>> Why list fc here again?
>>>
>>>
>>
>

--
Pierre Morel
IBM Lab Boeblingen