mirror of
https://github.com/Fishwaldo/opensbi.git
synced 2025-03-15 19:31:32 +00:00
platform: generic: Generate platform override module list at compile-time
Instead of having platform override module list hard-coded in the C source, we generate it using carray.sh at compile-time. Signed-off-by: Anup Patel <apatel@ventanamicro.com> Reviewed-by: Atish Patra <atishp@rivosinc.com>
This commit is contained in:
parent
4eacd8229b
commit
a3a3c60b66
3 changed files with 13 additions and 9 deletions
|
@ -8,5 +8,10 @@
|
|||
#
|
||||
|
||||
platform-objs-y += platform.o
|
||||
platform-objs-y += platform_override_modules.o
|
||||
|
||||
carray-platform_override_modules-y += sifive_fu540
|
||||
platform-objs-y += sifive_fu540.o
|
||||
|
||||
carray-platform_override_modules-y += sifive_fu740
|
||||
platform-objs-y += sifive_fu740.o
|
||||
|
|
|
@ -24,13 +24,9 @@
|
|||
#include <sbi_utils/ipi/fdt_ipi.h>
|
||||
#include <sbi_utils/reset/fdt_reset.h>
|
||||
|
||||
extern const struct platform_override sifive_fu540;
|
||||
extern const struct platform_override sifive_fu740;
|
||||
|
||||
static const struct platform_override *special_platforms[] = {
|
||||
&sifive_fu540,
|
||||
&sifive_fu740,
|
||||
};
|
||||
/* List of platform override modules generated at compile time */
|
||||
extern const struct platform_override *platform_override_modules[];
|
||||
extern unsigned long platform_override_modules_size;
|
||||
|
||||
static const struct platform_override *generic_plat = NULL;
|
||||
static const struct fdt_match *generic_plat_match = NULL;
|
||||
|
@ -41,8 +37,8 @@ static void fw_platform_lookup_special(void *fdt, int root_offset)
|
|||
const struct platform_override *plat;
|
||||
const struct fdt_match *match;
|
||||
|
||||
for (pos = 0; pos < array_size(special_platforms); pos++) {
|
||||
plat = special_platforms[pos];
|
||||
for (pos = 0; pos < platform_override_modules_size; pos++) {
|
||||
plat = platform_override_modules[pos];
|
||||
if (!plat->match_table)
|
||||
continue;
|
||||
|
||||
|
|
3
platform/generic/platform_override_modules.carray
Normal file
3
platform/generic/platform_override_modules.carray
Normal file
|
@ -0,0 +1,3 @@
|
|||
HEADER: platform_override.h
|
||||
TYPE: const struct platform_override
|
||||
NAME: platform_override_modules
|
Loading…
Add table
Reference in a new issue