- Jan 24, 2020
-
-
Jiuyang Liu (Sequencer) authored
This patch does minor typo fix in system reboot/shutdown names in platform operations. Signed-off-by:
Jiuyang Liu (Sequencer) <liujiuyang1994@gmail.com> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Signed-off-by:
Anup Patel <anup.patel@wdc.com>
-
- Jan 22, 2020
-
-
Anup Patel authored
This patch factor-out SBI base extension into its own source for better modularity of SBI implementation. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
This patch factor-out SBI vendor extension into its own source for better modularity of SBI implementation. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
This patch factor-out SBI replacement extensions (such as RFENCE, IPI, and TIME) into its own source for better modularity of SBI implementation. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
This patch factor-out SBI legacy extension into its own source for better modularity of SBI implementation. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
This patch extends our SBI ecall implementation to allow dynamic registration of various SBI extensions. Using this dynamic registration we can break-up SBI ecall implementation into multiple files and even register experimental/custom SBI extensions from platform code. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
This patch adds generic and simple list handling APIs adapted from Xvisor sources. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
Currently, the remote TLB management is initialized via IPI init which is counter intuitive. This patch initializes remote TLB management directly from init_coldboot() and init_warmboot() after IPI init is done. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
This patch drops _fifo from the name of various sbi_tlb_fifo_xyz() functions because all these functions deal with remote TLB managment and FIFO is the per-HART data structure used internally by remote TLB implementation. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
This patch introduces sbi_ipi_event_create/destroy() APIs and struct sbi_ipi_event_ops for creating/destroying IPI events at runtime based of event operations. This new APIs will help platform code and utils code to create custom IPI events which are not part of generic OpenSBI library. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
Instead of directly calling sbi_ipi_send_many(), we introduce sbi_tlb_fifo_request() for halting a set of HARTs. This way in future we can assign any IPI event number for remote FENCE within sbi_tlb.c only. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
Instead of directly calling sbi_ipi_send_many(), we introduce sbi_ipi_send_halt() for halting a set of HARTs. This way in future we can assign any IPI event number for HART halting within sbi_ipi.c only. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
Instead of directly calling sbi_ipi_send_many(), we introduce sbi_ipi_send_smode() for injecting S-mode software interrupts. This way in future we can assign any IPI event number for S-mode IPIs within sbi_ipi.c only. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
The struct sbi_ipi_data is only used in sbi_ipi.c so move it to sbi_ipi.c from sbi_ipi.h. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
This patch fixes a minor typo in comment for SBI_SCRATCH_SIZE define. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
- Jan 20, 2020
-
-
Liu Yibin authored
This patch adds T-HEAD C910 to RV64 platform list in the binary archive script. Signed-off-by:
Liu Yibin <yibin_liu@c-sky.com> Reviewed-by:
Anup Patel <anup.patel@wdc.com>
-
- Jan 15, 2020
-
-
Liu Yibin authored
Since all harts share the same plic/clint address now, setting them during cold boot is just fine. Signed-off-by:
Liu Yibin <yibin_liu@c-sky.com> Reviewed-by:
Anup Patel <anup.patel@wdc.com>
-
Liu Yibin authored
Since all harts share the same L2 cache now, there's no need to Enable L2 cache in warm boot. Signed-off-by:
Liu Yibin <yibin_liu@c-sky.com> Reviewed-by:
Anup Patel <anup.patel@wdc.com>
-
- Jan 10, 2020
-
-
Andreas Schwab authored
Move the .align directives after switching the section. We want to align the start of the current section, not the end of the previous section. This also obsoletes the misguided workaround of disabling relaxation. Signed-off-by:
Andreas Schwab <schwab@suse.de> Reviewed-by:
Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
With U-Boot v2020.01, the SiFive FU540 DTB required by U-Boot is embedded in U-Boot binary itself so we don't need to do anything special for U-Boot v2020.01 as payload to OpenSBI firmware. This patch updates SiFive FU540 documenation assuming we use latest U-Boot v2020.01 release. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
- Jan 09, 2020
-
-
Liu Yibin authored
T-head c910 is a generic FPGA platform so we cannot define PMP configuration for it in OpenSBI because PMP configuration tend to be SOC specific. Signed-off-by:
Liu Yibin <yibin_liu@c-sky.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
Abner Chang authored
Add description of using OPENSBI_EXTERNAL_SBI_TYPES in external firmware code base. Signed-off-by:
Abner Chang <abner.chang@hpe.com> Cc: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by:
Anup Patel <anup.patel@wdc.com>
-
Abner Chang authored
Add OPENSBI_EXTERNAL_SBI_TYPES macro to allow external definitions of data types and common macros. Also move some common definitions from sbi_bits.h to sbi_types.h. Signed-off-by:
Abner Chang <abner.chang@hpe.com> Cc: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by:
Anup Patel <anup.patel@wdc.com>
-
- Jan 08, 2020
-
-
Khem Raj authored
this is a stand-alone/baremetal application, therefore demanding -ffreestanding would help it compile with hosted toolchains e.g. ( linux toolchains ), it also ensures that it won't be using platform optimizations like inlining mem* str* functions which gcc might decide especially with wrapper string functions in opensbi code Signed-off-by:
Khem Raj <raj.khem@gmail.com> Reviewed-by:
Anup Patel <anup.patel@wdc.com>
-
- Jan 07, 2020
-
-
Anup Patel authored
We add sbi_init_count() API which provides number of times a given HART completed init sequence (warmboot/coldboot). This will be very useful in debugging. With upcoming SBI HSM extension, it will also help in implementing one-time init code for each HART. Signed-off-by:
Anup Patel <anup@brainfault.org> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
We should zero-out memory allocated from extra scratch space using sbi_scratch_alloc_offset() API hence this patch. This will not impact performance because we mostly allocate from extra scratch space only at cold boot time. Signed-off-by:
Anup Patel <anup@brainfault.org> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
We improve sbi_system_reboot() an sbi_system_shutdown() by: 1. Calling halt IPI to all harts (except current HART) before calling platform reboot/shutdown hook. 2. Calling sbi_exit() instead of sbi_hang() in-case platform reboot/shutdown hook failed. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
Instead of doing sbi_hang() we should do sbi_exit() upon halt IPI. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
Currently, sbi_hart_wait_for_coldboot() leaves MIE.MSIP bit set when it returns which is not correct because MIE.MSIP should be left enabled only by sbi_ipi_init(). This patch does save/restore of MIE CSR to ensure that MIE CSR is in original state after sbi_hart_wait_for_coldboot() returns. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
We add an optional platform irqchip exit hook for exit path handling in sbi_exit() implementation. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
We add sbi_ipi_exit() API for exit path handling in sbi_exit() implementation. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
We add sbi_timer_exit() API for OpenSBI exit path handling in sbi_exit() implementation. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
This patch adds system-level early_exit and final_exit APIs with corresponding platform hooks. These new APIs will be primarily used by sbi_exit() in OpenSBI exit path. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
This patch adds initial implementation of sbi_exit() API which can be used to perform OpenSBI exit sequence for current HART. The sbi_exit() implementation will be further extended by subsequent patches. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
We remove unnecessary checks related to hart hotplug and disabled hart in coldboot and warmboot init path. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com>
-
- Jan 02, 2020
-
-
Liu Yibin authored
This commit provides basic support for the Thead/C910 platform. Signed-off-by:
Liu Yibin <yibin_liu@c-sky.com> Reviewed-by:
Atish Patra <atish.patra@wdc.com> Reviewed-by:
Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
It is possible to have a CLINT implementation which supports only 32bit MMIO accesses on RV64 system so this patch extends our CLINT driver such that platform code can specify whether CLINT supports 64bit MMIO access. Signed-off-by:
Anup Patel <anup.patel@wdc.com> Reviewed-by:
Atish <Patra<atish.patra@wdc.com> Reviewed-by:
Zong Li <zong.li@sifive.com>
-
- Dec 30, 2019
-
-
Liu Yibin authored
This patch updates FW_JUMP and FW_PAYLOAD documentation for the case where FW_xyz_FDT_ADDR is not specified. Signed-off-by:
Liu Yibin <yibin_liu@c-sky.com> Reviewed-by:
Anup Patel <anup.patel@wdc.com>
-
- Dec 27, 2019
-
-
Anup Patel authored
The state of a0, a1, and a2 registers in fw_prev_arg1() and fw_next_arg1() is same as passed by previous booting stage so we add this info in comments for both these functions. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Liu Yibin authored
Function fw_next_arg1 in firmware/fw_jump.S:59 and firmware/fw_payload.S:63 should return real dtb address(if specified in a1) in a0, in case we don't want to specify FW_xyz_FDT_ADDR when compiling. Signed-off-by:
Liu Yibin <yibin_liu@c-sky.com> Reviewed-by:
Anup Patel <anup.patel@wdc.com>
-