Page MenuHomeFreeBSD

mips: fix early kernel panic when setting up interrupt counters
ClosedPublic

Authored by gonzo on Jan 30 2021, 6:22 AM.
Tags
None
Referenced Files
F156730322: D28424.id83197.diff
Fri, May 15, 11:31 PM
F156730310: D28424.id83197.diff
Fri, May 15, 11:31 PM
F156730244: D28424.id83136.diff
Fri, May 15, 11:30 PM
F156730169: D28424.diff
Fri, May 15, 11:30 PM
Unknown Object (File)
Thu, May 7, 2:01 PM
Unknown Object (File)
Thu, May 7, 11:00 AM
Unknown Object (File)
Thu, May 7, 6:12 AM
Unknown Object (File)
Mon, Apr 27, 8:30 AM

Details

Summary

Commit 248f0ca converted intrcnt and intrnames from u_long[]
and char[] to u_long* and char* respectively, but for non-INTRNG mips
these symbols were defined in .S file as a pre-allocated static arrays,
so the problem wasn't cought at compile time. Conversion from an array
to a pointer requires pointer initialization and it wasn't done
for MIPS, so whatever happenned to be in the begginning of intcnt[]
array was used as a pointer value.

Move intrcnt/intrnames to C code and allocate them dynamically
although with a fixed size at the moment.

Test Plan

Tested on QEMU/MALTA64

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable