- Mar 14, 2019
-
-
Atish Patra authored
Currently, global page mappings are not flushed if start and size arguments are zero. Flush entire TLB if both size and start argument is passed as zero. Fixes : 90cb4917 (lib: Implement sfence.vma correctly) Signed-off-by:
Atish Patra <atish.patra@wdc.com>
-
Bin Meng authored
There are some spaces or mixed usage of spaces and tabs in the macro definition. Change to use tab consistently. Signed-off-by:Bin Meng <bmeng.cn@gmail.com>
-
Bin Meng authored
It's U-Boot, not U-boot. Signed-off-by:Bin Meng <bmeng.cn@gmail.com>
-
- Mar 13, 2019
-
-
Atish Patra authored
Currently, OpenSBI doesn't distinguish between sfence.vma and sfence.vm asid calls. Moreover, it ignores the page ranges and just flush entire TLB everytime. Fix the sfence implementation by keeping all the tlb flush info in scratch area. The relevant Linux kernel code was added by https://patchwork.kernel.org/project/linux-riscv/list/?series=89695 However, this patch is backward compatible with older version kernel that doesn't have the above patches as well. Fixes #87 Signed-off-by:
Atish Patra <atish.patra@wdc.com>
-
- Mar 10, 2019
-
-
Alistair Francis authored
Create a sbi_ipi_data structure that holds unpacked IPI information. At the same time remove ipi_type from the sbi_scratch struct and use a fixed offset to access it. This structure fits in behind the sbi_scratch structure. This fixes https://github.com/riscv/opensbi/issues/81 Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
- Mar 07, 2019
-
-
Atish Patra authored
A warm reset using reset button may put icache and registers in non-coherent state. Flush the icache and reset all registers for every hart. Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
Atish Patra authored
All the non-boot harts run in a tight loop which may cause a heavy load on the memory bus. This may delay the boot hart to complete the cold boot process. Introduce few nop that will ease up the traffic. Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
Atish Patra authored
This reverts commit 05602e2b. Introducing a fence causes warm reset issue to reappear. Revert it for the time being.
-
Xiang Wang authored
platform should be a read-only variable, if it is placed in the data segment, it may be exploited. Signed-off-by:Xiang Wang <wxjstz@126.com>
-
- Mar 06, 2019
-
-
Atish Patra authored
A warm reset by pressing the reset button may not initialize all the registers to zero. Do it for every hart during warm boot. Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
Atish Patra authored
Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
Atish Patra authored
Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
- Mar 05, 2019
-
-
Atish Patra authored
As per the current SBI specification, sbi_getc should return an int instead of char. In case of FIFO is empty, return -1 as per the specification. Reported-by:
Sergi Granell <xerpi.g.12@gmail.com> Suggested-by:
Thadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br> Signed-off-by:
Atish Patra <atish.patra@wdc.com>
-
Xiang Wang authored
Multi-core communication via memory requires the addition of a barrier instructions to ensure cache coherency. Signed-off-by:Xiang Wang <wxjstz@126.com>
-
Xiang Wang authored
Writable code section can cause some security problems, so move _boot_hart_done to the data section Signed-off-by:Xiang Wang <wxjstz@126.com>
-
Xiang Wang authored
Signed-off-by:Xiang Wang <wxjstz@126.com>
-
- Feb 28, 2019
-
-
Andreas Schwab authored
-
Andreas Schwab authored
-
- Feb 27, 2019
-
-
Anup Patel authored
This patch updates OpenSBI version to 0.3 as part of release preparation. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
- Feb 26, 2019
-
-
Alistair Francis authored
Ensure the platform variable PLATFORM_RISCV_XLEN is set before we parse the platform files. This fixes the 32-bit openSBI FW_JUMP_ADDR. Signed-off-by:Alistair Francis <alistair.francis@wdc.com>
-
- Feb 22, 2019
-
-
Anup Patel authored
This patch increases OpenSBI version to 0.2. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
This patch adds scripts/create-binary-archive.sh which helps us create a common tarball containing headers, static library and firmware ELFs for all platforms. This script can be used for release purpose OR for compile testing all platforms. Example usage commands are as follows: 1) Binary release archive for 32bit systems ./scripts/create-binary-archive.sh -s "bin" -x 32 -d 2) Binary release archive for 64bit systems ./scripts/create-binary-archive.sh -s "bin" -d 3) Compile test for 32bit systems ./scripts/create-binary-archive.sh -x 32 -t 4) Compile test for 64bit systems ./scripts/create-binary-archive.sh -t Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
The compile_ld() is actually used to create ELF files so the name is misleading hence this patch renames it to compile_elf(). We also rename LDFLAGS to ELFFLAGS because these will be used for ELF creation only. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Atish Patra authored
Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
- Feb 20, 2019
-
-
Anup Patel authored
This patch extends our low-level trap handler in fw_base.S for handling M-mode to M-mode traps without overwritting stack. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
The unsigned long is always machine word size. This means it is 4 bytes on 32bit system and 8 bytes on 64bit system. This patch adds PRILX define for sbi_printf() which will help us print unsigned long without worrying whether it is 32bit or 64bit system. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
- Feb 19, 2019
-
-
Sergi Granell authored
-
Sergi Granell authored
-
Sergi Granell authored
There was a space instead of '_' in the function `platform_final_init`.
-
Atish Patra authored
Following updates to fu540 platform guide. 1. Update a section about flashing the firmware binary to sdcard with correct partition identifier. 2. Refer the individual payload section. 3. Update uboot booting section. Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
Atish Patra authored
Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
Atish Patra authored
Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
Atish Patra authored
Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
This patch replaces use of awk with sed in top-level makefile to parse OpenSBI version from include/sbi/sbi_version.h. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
We get following error evaluating OPENSBI_CC_XLEN on Ubuntu-18.04: /bin/sh: 1: Bad substitution This patch fixes above error by using "awk" in string assigned to OPENSBI_CC_XLEN and it also moves "Setup compilation commands" before OPENSBI_CC_XLEN. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
- Feb 18, 2019
-
-
Anup Patel authored
The mask shift in for-loop of sbi_ipi_send_many() is broken with commit 918c1354 ("lib: Improve delivery of SBI_IPI_EVENT_HALT") This patch fix it. Signed-off-by:
Anup Patel <anup.patel@wdc.com>
-
Nick Kossifidis authored
-
Nick Kossifidis authored
When sbi_ipi_send_many gets called with the current hartid included on pmask (or when pmask is NULL), and we send a HALT event, since the for loop works sequentially over all hartids on the mask, we may send a HALT event to the current hart before the loop finishes. So we will halt the current hart before it can deliver a HALT IPI to the rest and some harts will remain active. Make sure we send an IPI to the current hart after we've finished with everybody else. Signed-off-by:Nick Kossifidis <mick@ics.forth.gr>
-
Nick Kossifidis authored
In order for QEMU to be compatible with Spike, it implements a simple protocol used for reporting back the simulation's status, through the memory-mapped "test finisher" device. We use that protocol to make QEMU exit on system shutdown. Signed-off-by:Nick Kossifidis <mick@ics.forth.gr>
-
Nick Kossifidis authored
In case the platform specific method for shutting down the system fails (or is not implemented), at least make sure that all harts hang instead of just the current hart. Signed-off-by:Nick Kossifidis <mick@ics.forth.gr>
-