[PATCH v9 11/12] riscv: don't use global static vars to store alternative data

Philipp Tomsich philipp.tomsich at vrull.eu
Wed Apr 13 02:16:22 PDT 2022


On Wed, 13 Apr 2022 at 05:05, Heiko Stuebner <heiko at sntech.de> wrote:
>
> 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 <heiko at sntech.de>

Reviewed-by: Philipp Tomsich <philipp.tomsich at vrull.eu>



More information about the linux-riscv mailing list