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 /Documentation/filesystems/caching | |
| 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 'Documentation/filesystems/caching')
0 files changed, 0 insertions, 0 deletions