- Jan 23, 2019
-
-
Anup Patel authored
The hartid parameter in IRQCHIP callbacks of sbi_platform is not required because current hartid can be determined using sbi_current_hartid() API. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup patel authored
The source_hart and hartid parameter is really not required in IPI callbacks of sbi_platform because current hartid can always be obtained by calling sbi_current_hartid() API. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
We simplify early_init() and final_init() callbacks of sbi_platform by removing "hartid" parameter. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
- Jan 22, 2019
-
-
Atish Patra authored
Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
Bin Meng authored
Add a space before (FW_JUMP) to make it more readable. This also fixes "No newline at end of file" warning. Signed-off-by:Bin Meng <bmeng.cn@gmail.com>
-
Bin Meng authored
There are 2 markdown links that are currently broken in top-level README.md. Fix them so that github could render the URL correctly. This also fixes "No newline at end of file" warning. Signed-off-by:Bin Meng <bmeng.cn@gmail.com>
-
Anup Patel authored
This patch adds doxygen style documenation for struct sbi_platform and related functions/macros/defines. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
We don't need to pre-enable MSIP in MIE CSR when calling sbi_init() from firmware. This patch updates documentation accordingly. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
We don't need to install generic headers separately for every platforn under <install_dir>/platform. It is unnecessary duplication of files hence updating install_libplatsbi in top-level makefile. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
The PDF document generated by doxygen should have OpenSBI version hence this patch adds OpenSBI version to doxygen.cfg. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Atish Patra authored
As per the RISC-V ISA, mideleg and medeleg registers should not exist if S-mode is not present for a hart. We shouldn't access these CSRs if non S-mode harts. Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
Atish Patra authored
S-mode software may send IPI to self. For example, tlbflush may be executed for the same hart. Let the hart send IPI to itself. It's an overhead but doesn't break anything. However, if we don't allow it, it breaks if S-mode keep sending IPIs. Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
Atish Patra authored
IPIs are updated in scratch space by source hart. However, different harts or same hart may want to send different IPIs before previous IPI was read by the target hart. Currently, previous IPI type is overwritten in that case. Use atomic bit set/clear operations to update IPIs. Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
Atish Patra authored
Add addtional functionlities for set/clear bits atomically. Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
Atish Patra authored
The secondary hart waits for an IPI signal from the boot hart to executing boot code (hot boot). As a result, software generated interrupts have to be enabled for secondary harts before waiting for the boot hart boot completion IPI signal. Enabling software generated interrupts (IPI) can be done independently of the firmware code and moved to libsbi code so that the different firmware do not have to implement this. Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
- Jan 21, 2019
-
-
Anup Patel authored
We should use AMO instructions whenever __riscv_atomic is defined (i.e. atomics are supported). We use LR/SC only when __riscv_atomic is not defined. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Damien Le Moal authored
Define sbi_ecall_console_puts() using sbi_ecall_console_putchar() renamed as sbi_ecall_console_putc() and remove the hardcoded version of the same funtion in the test payload code. Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
Damien Le Moal authored
Use a more neutral term more representative of this payload intent. Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
Damien Le Moal authored
The Kendryte k210 board initial loader does not provide a device tree for the firmware and subsequent payload. Add the k210.dts device tree description file to solve this. This file describes only the SoC core components: CPUs, memory and PLIC. Automatically compile and add this file to the firmware generated using the FW_PAYLOAD_FDT_PATH configuration parameter. Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
Damien Le Moal authored
Clear console input when intializing it. Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
Damien Le Moal authored
Repeating "ifdef CROSS_COMPILE" multiple times does not help with readability. Simplify by grouping compilation command setup under a single ifdef statement. Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
Damien Le Moal authored
Add rules to compile dts files into dtb files using the device tree compiler (dtc). A platform can specify the DTS file to compile using the platform-dtb-y variable. The flattened device tree binary file to be used for building the final polatform firmware can be specified using the new FW_PAYLOAD_FDT firmware configuration option to point to the automatically compiled FDT file. Using the existing FW_PAYLOAD_FDT_PATH configuration option is still possible and will take precedence over the FW_PAYLOAD_FDT definition. Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
Damien Le Moal authored
Use commonly accepted styles: newlines after declarations and before return to make the code more readable. Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
Damien Le Moal authored
Define the "OpenSBI" logo string as a macro renamed BANNER, since it is one rather than a logo. Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
Damien Le Moal authored
The firmware payload offset defined by FW_PAYLOAD_OFFSET must specify a value large enough so the the payload does not overlap with the base firmware data, bss and text. For platforms without any strong requirement on the payload address, introduce the FW_PAYLOAD_ALIGN build parameter to automatically place the payload right after the base firmware at an address aligned with the defined value. Either FW_PAYLOAD_OFFSET or FW_PAYLOAD_ALIGN should be defined by a platform configuration. If both FW_PAYLOAD_OFFSET and FW_PAYLOAD_ALIGN are defined by a platform, FW_PAYLOAD_OFFSET has precedence and is used for building the final firmawre image. Using FW_PAYLOAD_ALIGN=4096 with the Kendryte platform rather than the abitrary FW_PAYLOAD_OFFSET=0x10000 value reduces the final firmware image size by about 20KB. Add a description of the FW_PAYLOAD_ALIGN configuration parameter in the fw_payload documentation file as well. And while at it, also fix various grammar and style issues in that file.. Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
- Jan 18, 2019
-
-
Anup Patel authored
Avoid using standard includes namely stdint.h, string.h, stdlib.h, etc. All standard include except stddef.h give compilation error due to differences in RISC-V toolchain configuration. Typically, the compilation error is related to "gnu-stubs-lp64.h". This patch fixes compile error caused by standard includes by providing substitutes of definetions provided by standard includes wherever required. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Atish Patra authored
PLIC DT entry fixup can be done by comparing external interrupt number instead of context id. No need to invoke fixup for each plic context. Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
Atish Patra authored
Perform following DT updates. 1. Mask hart if mmu is not supported. 2. Add stdout-path under chosen node. Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
Atish Patra authored
Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
Atish Patra authored
There are couple of string function defined in platform code. We no longer need them as we can directly link minimal libc. Every platform required to inclde this as PLIC driver required libc functions. Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
Atish Patra authored
Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
Atish Patra authored
Libfdt already have fdt.c and fdt.h. Rename both fdt.* present in openSBI to tinyfdt.* Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
Atish Patra authored
Some of the platform (i.e. SiFive FU540) requires Device Tree modification before it is passed to higher stages. Add libfdt support now to help this process. Libfdt should only be included per platform basis. Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
Atish Patra authored
libfdt requires minimal libc support. Absoultely minimum functions are added in libc. Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
- Jan 16, 2019
-
-
Anup Patel authored
This patch adds doxygen style documentation for struct sbi_trap_regs and related macros/defines/functions. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
This patch adds __packed define for specifying packed attribute of structures. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
This patch adds doxygen style documentation for struct sbi_scratch and related helper macros/defines. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
This patch adds doxygen style documentation for sbi_init() API. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
There are quite a few noreturn functions in OpenSBI hence we add commong __noreturn define for noreturn functin attribute. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
The patch updates title in contributing.md to match other .md files under docs/ directory. Signed-off-by:Anup Patel <anup.pate@wdc.com>
-