Re: ASM flags in general

From: Andy Lutomirski
Date: Mon Jul 27 2015 - 19:50:15 EST


On Mon, Jul 27, 2015 at 4:46 PM, H. Peter Anvin <hpa@xxxxxxxxx> wrote:
> Sure, but that is different than getting rid of the _ex forms.
>

If we did that and got rid of the _ex forms, though, then the code
that matters (the no-fault case) would just be a bunch of movs, right?
That's basically the same as the current _ex code.

--Andy

> On July 27, 2015 4:36:26 PM PDT, Andy Lutomirski <luto@xxxxxxxxxxxxxx>
> wrote:
>>
>> On Mon, Jul 27, 2015 at 4:22 PM, H. Peter Anvin <hpa@xxxxxxxxx> wrote:
>>>
>>> For that to work, gcc would have to know about the extable.
>>
>>
>> It could, I think:
>>
>> asm goto (
>> "1: mov ...\n\t"
>> _ASM_EXTABLE(1b, %l2) /* or whatever index it is */
>> : ... : ... : ... : efault);
>>
>> return 0;
>>
>> efault:
>> return -EFAULT;
>>
>> I think that wrmsr_safe could get this treatment with current GCC.
>> put_user plausibly could, too, if we were willing to mark it volatile
>> and accept that we're lying a little bit about the lack of an output
>> constraint. get_user would need GCC to understand output constraints
>> for real.
>>
>> --Andy
>
>
> --
> Sent from my Android device with K-9 Mail. Please excuse my brevity.



--
Andy Lutomirski
AMA Capital Management, LLC
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/