Messages in this thread | | | Subject | Re: [PATCH v4 1/7] s390: ap: kvm: add PQAP interception for AQIC | From | Pierre Morel <> | Date | Fri, 1 Mar 2019 16:32:30 +0100 |
| |
On 01/03/2019 13:36, Cornelia Huck wrote: > On Fri, 1 Mar 2019 13:05:54 +0100 > Christian Borntraeger <borntraeger@de.ibm.com> wrote: > >> On 01.03.2019 13:03, Pierre Morel wrote: >>> On 28/02/2019 15:14, Pierre Morel wrote: >>>> On 28/02/2019 14:52, Cornelia Huck wrote: >>>>> On Thu, 28 Feb 2019 14:16:09 +0100 >>>>> Pierre Morel <pmorel@linux.ibm.com> wrote: >>>>> >>>>>> On 28/02/2019 12:22, Cornelia Huck wrote: >>>>> >>>>>>> So, to summarize, the function should do: >>>>>>> - Is userspace supposed to emulate everything (!ECA_APIE)? Return >>>>>>> -EOPNOTSUPP to hand control to it. >>>>>>> - We are now interpreting the instruction in KVM. Do common checks >>>>>>> (PSTATE etc.) and inject exceptions, if needed. >>>>>>> - Now look at the fc; if there's a handler for it, call that; if not >>>>>>> (case does not attempt to call a specific handler, or no handler >>>>>>> registered), inject a specification exception. (Do we want pre-checks >>>>>>> like for facility 65 here, or in the handler?) >>>>>>> >>>>>>> That response code 0x01 thingy probably needs to go into the specific >>>>>>> handler function, if anywhere (don't know the semantics, sorry). >>>>>> >>>>>> What do you mean with specific handler function? >>>>>> >>>>>> If you mean a switch around the FC with static function's call, I agree, >>>>>> if you mean a jump into a hook I do not agree. >>>>> >>>>> Ah, ok; so each case (that we want to handle) should call into a >>>>> subhandler that does >>>>> { >>>>> (... check things like facilities ...) >>>>> if (!specific_hook) >>>>> inject_specif_excp_and_return(); >>>>> ret = specific_hook(); >>>>> if (ret) >>>>> set_resp_code_0x01(); // or in specific_hook()? >>>>> } >>>>> >>>>> ? >>>> >>>> Yes something in this direction. >>> >>> Sorry, after reflection, no, we do not want to change the previous behavior so we only handle the AQIC case. >> >> I think what you wanted to say is the following: >> Today (without the patch set) we will answer PQAP with an exception. >> With this patch set we want to handle FC==3, but nothing else. So for anything FC!=3 we >> will continue to return an exception? >> >> Correct?
Yes correct. Thanks for the much preciser explanation.
>> > > That sounds reasonable; but I don't see how this conflicts with my > proposal? Just don't introduce a subfunction for fc != 3... >
Correct too, it does not conflict, as you said it is just not introduce subfunctions.
Regards, Pierre
-- Pierre Morel Linux/KVM/QEMU in Böblingen - Germany
| |