| /* SPDX-License-Identifier: GPL-2.0+ */ |
| * Wolfgang Denk, DENX Software Engineering, wd@denx.de. |
| * Copyright (c) 2017 Microsemi Corporation. |
| * Padmarao Begari, Microsemi Corporation <padmarao.begari@microsemi.com> |
| /* Architecture-specific global data */ |
| struct arch_global_data { |
| long boot_hart; /* boot hart id */ |
| phys_addr_t firmware_fdt_addr; |
| #if CONFIG_IS_ENABLED(SIFIVE_CLINT) |
| void __iomem *clint; /* clint base address */ |
| void __iomem *plic; /* plic base address */ |
| #if CONFIG_IS_ENABLED(SMP) |
| struct ipi_data ipi[CONFIG_NR_CPUS]; |
| #include <asm-generic/global_data.h> |
| #define DECLARE_GLOBAL_DATA_PTR register gd_t *gd asm ("gp") |
| static inline void set_gd(volatile gd_t *gd_ptr) |
| asm volatile("ld gp, %0\n" : : "m"(gd_ptr)); |
| asm volatile("lw gp, %0\n" : : "m"(gd_ptr)); |
| #endif /* __ASM_GBL_DATA_H */ |