tree dcc85313ae3d46db31358c07a1fcff9513804287
parent b684001a5eb79d9bf36f655547bc226dedc8bc03
author Heiko Stuebner <heiko@sntech.de> 1653598606 +0200
committer Palmer Dabbelt <palmer@rivosinc.com> 1655419661 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEKzw3R0RoQ7JKlDp6LhMZ81+7GIkFAmKrsw0THHBhbG1lckBk
 YWJiZWx0LmNvbQAKCRAuExnzX7sYifI+D/9dCWj1qhlPyUkAGJCtWyWq4OXu1aiS
 436g/AI125zhlp1A8zL/hWFqhnXAm6Z64hXMa5w128OsQ49FDlDFdTTmn2koxO4n
 WbkSlJF1bJzE2c++slVQlwU6Jj79Xqfqb6tP34G0mSioh6otBtgwtfRRRDWTwjb+
 nSNC4G/M94lCPpjKzfsNFs/0f7zXOCbbwwwqndVEJjRbR2ZDqKLp4D8Hu/V22/B9
 L3de48mb/2gxSc58UX06lWHIXjVvwXBmsG4/J3aiYmRfikVQ2ItLP439R/B9oGox
 3KyUj+D6UkVpc/Bj57Op/3JgBU2VoMUP/1Ln2AFxR9oCr7OF5gFGKUFbhgsT1Mh2
 dt4AKHRnJyvQPR5rPvfNbCiRVBFCPOjhFOfNMJBkxJfESnqLa1m0x+DPxoVdlskT
 +7QoFy6rpHNRiu6dt3b3XmiMhyyqplXjANDuooqDIpZ5ZUGIMVXNpeoEYGZHUF+z
 iuCWlcV99KxstYklK+SX5pA9mv5heuvslvOGbEMhUquU0QgkSAJpHqpCOaXsZN6x
 KIvE6tTwX51n1TSGtvV1Y8aUwprK45l4119kWShqv19RMzkMkWnp39yQAYGhIoT6
 rPF8TnHqtzrYVUx32QOlSQkgb0cJvup6c2NN4GhybPfX8olHYbd/OIOqS7ZQFqe3
 Yu23D6ImoXamnQ==
 =38Qv
 -----END PGP SIGNATURE-----

riscv: remove usage of function-pointers from cpufeatures and t-head errata

Having a list of alternatives to check with a per-entry function pointer
to a check function is nice style-wise. But in case of early-alternatives
it can clash with the non-relocated kernel and the function pointer in
the list pointing to a completely wrong location.

This isn't an issue with one or two list entries, as in that case the
compiler seems to unroll the loop and even usage of the list structure
and then only does relative jumps into the check functions based on this.

When adding a third entry to either list though, the issue that was
hiding there from the beginning is triggered resulting a jump to a
memory address that isn't part of the kernel at all.

The list of features/erratas only contained an unused name and the
pointer to the check function, so an easy solution for the problem
is to just unroll the loop in code, dismantle the whole list structure
and just call the relevant check functions one by one ourself.

For the T-Head errata this includes moving the stage-check inside
the check functions.

The issue is only relevant for things that might be called for early-
alternatives (T-Head and possible future main extensions), so the
SiFive erratas were not affected from the beginning, as they got
an early return for early-alternatives in the original patchset.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Samuel Holland <samuel@sholland.org>
Link: https://lore.kernel.org/r/20220526205646.258337-6-heiko@sntech.de
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
