diff options
author | Heiko Stuebner <[email protected]> | 2022-05-11 21:29:20 +0200 |
---|---|---|
committer | Palmer Dabbelt <[email protected]> | 2022-05-11 21:36:33 -0700 |
commit | 1745cfafebdfb017f6871c80f9894910a76373a4 (patch) | |
tree | 73c951e40ffc2899d38d9a8c9511e505838cdc5e /include/linux/fpga/fpga-mgr.h | |
parent | e1026505c1a9c5abd61f6afdf396b9cf467834c7 (diff) |
riscv: don't use global static vars to store alternative data
Right now the code uses a global struct to store vendor-ids
and another global variable to store the vendor-patch-function.
There exist specific cases where we'll need to patch the kernel
at an even earlier stage, where trying to write to a static
variable might actually result in hangs.
Also collecting the vendor-information consists of 3 sbi-ecalls
(or csr-reads) which is pretty negligible in the context of
booting a kernel.
So rework the code to not rely on static variables and instead
collect the vendor-information when a round of alternatives is
to be applied.
Signed-off-by: Heiko Stuebner <[email protected]>
Reviewed-by: Guo Ren <[email protected]>
Reviewed-by: Philipp Tomsich <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Palmer Dabbelt <[email protected]>
Diffstat (limited to 'include/linux/fpga/fpga-mgr.h')
0 files changed, 0 insertions, 0 deletions