Date: Sat, 20 Apr 2013 23:50:53 +0200 From: Damjan Marion <damjan.marion@gmail.com> To: Thomas Skibo <ThomasSkibo@sbcglobal.net> Cc: freebsd-arm@freebsd.org Subject: Re: gic.c and interrupt priority mask register (GICC_PMR) Message-ID: <17C7A0BE-43E4-422C-8E0F-11897DBB188E@gmail.com> In-Reply-To: <5171C5C6.7080907@sbcglobal.net> References: <5171C5C6.7080907@sbcglobal.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Apr 20, 2013, at 12:31 AM, Thomas Skibo <ThomasSkibo@sbcglobal.net> = wrote: >=20 > Hello. >=20 > I mentioned this as an aside in another email but I'd like to revisit = it. >=20 > My Zynq port doesn't work unless I initialize the GIC interrupt = priority mask register (GICC_PMR) which I do in a hack in zy7_machdep.c. = The GICC_PMR register is never touched in gic.c and I wonder how other = ARM ports work without having it initialized. I figure either they use = a different interrupt controller, their GIC implementation has a = different reset value for the PMR, or a boot-loader sets up the register = before the kernel is entered. >=20 > The ARM Generic Interrupt Controller Architecture Specification = (version 2.0) states that the reset value of GICC_PMR is 0 which masks = all interrupts. So shouldn't gic.c initialize it to 0xff if the PMR = functionality isn't used? >=20 > --Thomas Hi Thomas, Makes sense. GIC is used on several platforms so i guess those = implementations have different reset value. I can commit this if nobody objects. Damjan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?17C7A0BE-43E4-422C-8E0F-11897DBB188E>