Skip site navigation (1)Skip section navigation (2)
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>