Re: [PATCH 09/17] m68k: Implement xor_unlock_is_negative_byte

Greg Ungerer
2023-09-20T07:22:42Z

On 20/9/23 01:14, Matthew Wilcox wrote:
> On Tue, Sep 19, 2023 at 02:35:25PM +0000, David Laight wrote:
>> From: Matthew Wilcox <willy@infradead.org>
>>> Sent: 19 September 2023 15:26
>>>
>>> On Tue, Sep 19, 2023 at 01:23:08PM +0000, David Laight wrote:
>>>>> Well, that sucks. What do you suggest for Coldfire?
>>>>
>>>> Can you just do a 32bit xor ?
>>>> Unless you've got smp m68k I'd presume it is ok?
>>>> (And assuming you aren't falling off a page.)
>>>
>>> Patch welcome.
>>
>> My 68020 book seems to be at work and I'm at home.
>> (The 286, 386 and cy7c600 (sparc 32) books don't help).
>>
>> But if the code is trying to do *ptr ^= 0x80 and check the
>> sign flag then you just need to use eor.l with 0x80000000
>> on the same address.
>
> I have a 68020 book; what I don't have is a Coldfire manual.

You can find it here: https://www.nxp.com/docs/en/reference-manual/CFPRM.pdf

Regards
Greg

> Anyway, that's not the brief. We're looking to (eg) clear bit 0
> and test whether bit 7 was set. So it's the sign bit of the byte,
> not the sign bit of the int.