[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freebsd-arm
Subject:    Re: FYI: artifact-based head bisect and OPi+2e (an armv7): -r359311 fails to boot but -r359309 boots
From:       Mark Millard via freebsd-arm <freebsd-arm () freebsd ! org>
Date:       2020-04-02 3:03:25
Message-ID: F4EBDF0F-24DC-47FD-9177-5BC407AFA39F () yahoo ! com
[Download RAW message or body]



On 2020-Mar-29, at 10:58, Ian Lepore <ian@freebsd.org> wrote:

> On Sun, 2020-03-29 at 09:44 -0700, Thomas Skibo wrote:
>> On Sun, Mar 29, 2020 at 12:29:00AM -0700, Mark Millard via freebsd-
>> arm wrote:
>>> While trying to update the head version
>>> in use I ran into boot hangups on the
>>> OrangePi+ 2e and did an approximate
>>> bisect of artificact.freebsd.org kernels
>>> to find approximately which kernel
>>> version the issue started at.
>>> 
>>> I found that head -r359309 boots and
>>> -r359311 fails (shown later below).
>>> The original update attempt was from
>>> -r359966 to -r359376 and -r359376
>>> stopped there as well. (I kept world
>>> there and varied the kernel version
>>> for the approximate bisect activity.)
>>> 
>>> It seems that at least one of the
>>> "MI-namespace" atomics added do not work
>>> in all its usage-contexts on the cortexA7
>>> (armv7) involved.
>> 
>> It looks like my previous reply didn't go to the mailing lists.  I'm
>> new to
>> mutt.
>> 
>> Anyway, I looked at this problem yesterday and it seems r359311
>> enables
>> using some atomic operations that were not being used until now.  In
>> particular, atomic_fcmpset_8() seems broken and hangs up
>> in vm_page_bits_swap().  I think I have a fix but I want to run it
>> by Ian.
>> 
>> --Thomas
>> 
>> Index: sys/arm/include/atomic-v6.h
>> ===================================================================
>> --- sys/arm/include/atomic-v6.h	(revision 359412)
>> +++ sys/arm/include/atomic-v6.h	(working copy)
>> @@ -196,7 +196,7 @@
>>                                                               \
>> 	__asm __volatile(                                     \
>> 	    "1: ldrex" SUF "   %[tmp], [%[ptr]]          \n"  \
>> -	    "   ldr            %[ret], [%[oldv]]         \n"  \
>> +	    "   ldr" SUF "     %[ret], [%[oldv]]         \n"  \
>> 	    "   teq            %[tmp], %[ret]            \n"  \
>> 	    "   ittee          ne                        \n"  \
>> 	    "   str" SUF "ne   %[tmp], [%[oldv]]         \n"  \
>> 
> 
> 
> I've committed this fix as r359423, thanks!

Thanks to both of you: the OPi+2e boots just fine
now and has been operating like it used to (head
-r359427 in use).


===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)

_______________________________________________
freebsd-arm@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-arm
To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org"
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic