Re: [PATCH v9 11/12] riscv: don't use global static vars to store alternative data
From: Philipp Tomsich
Date: Wed Apr 13 2022 - 05:16:41 EST
On Wed, 13 Apr 2022 at 05:05, Heiko Stuebner <heiko@xxxxxxxxx> 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@xxxxxxxxx>
Reviewed-by: Philipp Tomsich <philipp.tomsich@xxxxxxxx>