Re: FYI: artifact-based head bisect and OPi+2e (an armv7): -r359311 fails to boot but -r359309 boots (kernel substitutions)

From: Ian Lepore <ian_at_freebsd.org>
Date: Sun, 29 Mar 2020 11:58:25 -0600
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)
> _at__at_ -196,7 +196,7 _at__at_
>                                                                \
>  	__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!

-- Ian
Received on Sun Mar 29 2020 - 15:58:47 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:23 UTC