[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.21.2204220029590.9383@angie.orcam.me.uk>
Date: Sun, 24 Apr 2022 00:33:44 +0100 (BST)
From: "Maciej W. Rozycki" <macro@...am.me.uk>
To: Thomas Bogendoerfer <tsbogend@...ha.franken.de>
cc: "Jason A. Donenfeld" <Jason@...c4.com>,
LKML <linux-kernel@...r.kernel.org>,
Linux Crypto Mailing List <linux-crypto@...r.kernel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Arnd Bergmann <arnd@...db.de>, Theodore Ts'o <tytso@....edu>,
Dominik Brodowski <linux@...inikbrodowski.net>,
Russell King <linux@...linux.org.uk>,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
Paul Walmsley <paul.walmsley@...ive.com>,
Palmer Dabbelt <palmer@...belt.com>,
Albert Ou <aou@...s.berkeley.edu>,
"David S . Miller" <davem@...emloft.net>,
Richard Weinberger <richard@....at>,
Anton Ivanov <anton.ivanov@...bridgegreys.com>,
Johannes Berg <johannes@...solutions.net>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
Dave Hansen <dave.hansen@...ux.intel.com>,
"H . Peter Anvin" <hpa@...or.com>, Chris Zankel <chris@...kel.net>,
Max Filippov <jcmvbkbc@...il.com>,
John Stultz <john.stultz@...aro.org>,
Stephen Boyd <sboyd@...nel.org>,
Dinh Nguyen <dinguyen@...nel.org>,
linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>,
linux-m68k <linux-m68k@...ts.linux-m68k.org>,
"open list:BROADCOM NVRAM DRIVER" <linux-mips@...r.kernel.org>,
linux-riscv <linux-riscv@...ts.infradead.org>,
sparclinux@...r.kernel.org, linux-um@...ts.infradead.org,
X86 ML <x86@...nel.org>, linux-xtensa@...ux-xtensa.org
Subject: Re: [PATCH v4 04/11] mips: use fallback for random_get_entropy()
instead of zero
On Mon, 18 Apr 2022, Thomas Bogendoerfer wrote:
> > Also the systems I have in mind and that lack a counter in the chipset
> > actually can make use of the buggy CP0 timer, because it's only when CP0
> > timer interrupts are used that the erratum matters, but they use a DS1287
> > RTC interrupt instead unconditionally as the clock event (see the comment
> > at the bottom of arch/mips/dec/time.c). But this has not been factored in
> > with `can_use_mips_counter' (should it just check for `mips_hpt_frequency'
> > being zero perhaps, meaning the timer interrupt not being used?).
> >
> > Thomas, do you happen to know if any of the SGI systems that we support
> > had buggy early R4k chips?
>
> IP22 has probably seen all buggy MIPS chips produced, so yes I even own
> Indy/Indigo2 CPU boards with early R4k chips.
Do they actually use the CP0 timer as a clock event device? Do they have
an alternative high-precision timer available?
In the course of verifying this change I have noticed my DECstation
5000/260, which has a high-precision timer in the chipset available as a
clock source device, does register the CP0 timer as a clock source device
regardless. Upon a closer inspection I have noticed that the CP0 timer
interrupt is non-functional in this machine, which I have then confirmed
as a valid CPU hardware configuration via the TimIntDis/TimerIntDis (the
R4k CPU manual is inconsistent in naming here) boot-mode bit. It allows
IP7 to be used as an external interrupt source instead. I used not to be
aware of the presence of this boot-mode bit.
I find this arrangement odd, because IP7 used to be wired internally as
the FPU interrupt with the 5000/240's CPU module, so it's not usable as an
external interrupt anyway with this system's mainboard.
That means however that this machine (and possibly the 5000/150 as well,
but I'll have to verify that once I get at the KN04 CPU module I have in a
drawer at my other place) can use the CP0 timer as a clock source device
unconditionally. I think this discovery asks for code optimisation, which
I'll try to cook up sometime.
I don't expect the IP22 to have a similar arrangement with the CP0 timer
interrupt given that the CPU was an in-house design at SGI, but who knows?
Do you?
Maciej
Powered by blists - more mailing lists