Date: Sun, 29 Mar 2020 09:44:22 -0700 From: Thomas Skibo <thomas-bsd@skibo.net> To: Mark Millard <marklmi@yahoo.com> Cc: Conrad Meyer <cem@freebsd.org>, freebsd-arm <freebsd-arm@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org> Subject: Re: FYI: artifact-based head bisect and OPi+2e (an armv7): -r359311 fails to boot but -r359309 boots (kernel substitutions) Message-ID: <20200329164422.GA68768@bentley> In-Reply-To: <221A0E27-6A0F-4136-AB76-2D6664279363@yahoo.com> References: <221A0E27-6A0F-4136-AB76-2D6664279363.ref@yahoo.com> <221A0E27-6A0F-4136-AB76-2D6664279363@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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" \ -- ========= Thomas Skibo thomas-bsd@skibo.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200329164422.GA68768>