Date: Thu, 09 Jul 2015 07:30:36 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-arm@FreeBSD.org Subject: [Bug 201434] [PATCH] Bad management of PSR_A bit Message-ID: <bug-201434-7@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=201434 Bug ID: 201434 Summary: [PATCH] Bad management of PSR_A bit Product: Base System Version: 11.0-CURRENT Hardware: arm OS: Any Status: New Keywords: patch Severity: Affects Some People Priority: --- Component: arm Assignee: freebsd-arm@FreeBSD.org Reporter: soutade@gmail.com Keywords: patch Created attachment 158557 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=158557&action=edit Clear PSR_A bit at startup (initarm) Sometimes at reboot, the PSR_A bit (CPSR register) is set. This bit mask further hardware bad accesses until it's cleared (going into userspace for me) leaving "Asynchronous External Abort" very late. In the ARM_NEW_PMAP code, we call enable_interrupts() in initarm() to force clearing this bit. Nevertheless, enable_interrupts() does a mask with ARM_CPSR_I32 and ARM_CPSR_F32 bits making the call useless. The attached patch correct it in ARM_NEW_PMAP and non ARM_NEW_PMAP code. -- You are receiving this mail because: You are the assignee for the bug.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-201434-7>