- Dec 26, 2018
-
-
Anup Patel authored
This patch moves all instruction encoding macros to riscv_encoding.h. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
The name CROSS_COMPILE is an industry standard used across open-source project to specify cross-compiler prefix. In fact, distro build systems such as buildroot and yocto assume CROSS_COMPILE to be supported by projects added as packages to these build systems. This patch rename back CROSS_COMPILE_PREFIX to CROSS_COMPILE. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
- Dec 25, 2018
-
-
Damien Le Moal authored
Some rewrite with a more formal style. Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
Damien Le Moal authored
Clean was doing nothing. Fix it to remove all compiled files, leaving only dependency files. Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
Damien Le Moal authored
Make it clear what this environment variable defines and update the README.md file to explain that. Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
- Dec 23, 2018
-
-
Atish Patra authored
Remove PLAT_<xyz> defines from platform and firmwares
-
- Dec 22, 2018
-
-
Anup Patel authored
The platform specific options will be PLATFORM_<xyz> and not PLAT_<xyz> hence this patch fixes typo in top-level README.md. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
The PLAT_HART_COUNT and PLAT_HART_STACK_SIZE are only used by platform code so no need of exposing these to everyone by adding it to platform-cppflags-y. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
The hart_count and hart_stack_size information is already available in "struct sbi_platform" so we use that instead of depending on PLAT_HART_COUNT and PLAT_HART_STACK_SIZE. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
We don't need a separate stack section for per-HART stack instead we create per-HART stack at the end of firmware (i.e. after _fw_end symbol). Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
The PLAT_NAME is used only in platform.c for all platforms hence remove it. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
Unleashed working 12 21
-
Atish Patra authored
M mode is not expected to recieve any interrupts. S mode interrupts shouldn't be enabled in M mode. Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
Atish Patra authored
As of now, uboot doesn't have support for SMP. Moreover, unleashed board has a E51 hart which doesn't not support S mode. We should only boot only 1 non-zero hart. Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
Anup Patel authored
Pass S-Mode and M-mode context id separately to common warm init. Signed-off-by:
Atish Patra <atish.patra@wdc.com> Signed-off-by:
Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
Unleashed doesn't have S mode for hart 0. PLIC register base calculation is current wrong because of that. Signed-off-by:
Atish Patra <atish.patra@wdc.com> Signed-off-by:
Anup Patel <anup.patel@wdc.com>
-
Atish Patra authored
Signed-off-by:Atish Patra <atish.patra@wdc.com>
-
- Dec 21, 2018
-
-
Damien Le Moal authored
Conditionnally delegate page fault exceptions from M mode to S mode based on the platform features. Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
Anup Patel authored
The math.h is not required anymore and it also gives compile error for certain toolchains hence thsi patch removes math.h include from kendryte/k210/sysctl.c. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
The mideleg and medeleg are already programmed in delegate_traps() so no need to set it here. Any CSR setup in our reference firmware becomes a requirement for bootloader linking to libsbi.a so we should have minimum possible CSR setup in our reference firmware. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
This patch reverts "Fix FDT relocation" because it breaks fw_jump firmware. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
The sbi_hart_switch_mode() will be used by CPU hotplug. This means if we have prints in sbi_hart_switch_mode() then these prints will mix with Linux prints. Being a runtime firmware, we should be verbose only at coldboot time and error situations. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
commit d403c70f breaks Linux booting because of fewer exceptions delegated to S-mode. This patch fixes Linux booting by having all required exceptions delegated to S-mode. Signed-off-by:
Anup Patel <anup.patel@wdc.com>
-
Damien Le Moal authored
Avoid getting messages from multiple harts mingled into garbage text with a spinlock serializing calls to sbi_puts() and sbi_printf(). Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
Damien Le Moal authored
Use functions defined in sbi/riscv_asm.h. Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
Damien Le Moal authored
Use this helper instead of hardcoding csr_read(mhartid). Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
Damien Le Moal authored
Cleanup sbi_hart_boot_nexti() code, adding messages for clarity and rename the function to sbi_hart_switch_mode() to reflect what the function actually does. Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
Damien Le Moal authored
Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
Damien Le Moal authored
Booting now. Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
Damien Le Moal authored
When S mode is not supported, simply clear mideleg and medeleg. Otherwise, set delegation from M-mode to S-mode, removing the page fault exceptions as those would not happen in M-mode. Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
Damien Le Moal authored
Make it clear that the end of the FW execution was reached without the hand being passed to any payload. Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
Damien Le Moal authored
Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
Damien Le Moal authored
Also disable interrupts and exceptions delegation when clearing mie and mip. Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
Damien Le Moal authored
Or rather, disable it if FW_PAYLOAD_FDT_ADDR is not defined. This correspond to cases where the underlying FW that loaded and started opensbi did not provide any FDT. In such case, the platform code will need to prepare one. Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
Damien Le Moal authored
Allow a platform to report its supported features in more details. The new features defined are: * SBI_PLATFORM_HAS_PMP * SBI_PLATFORM_HAS_SCOUNTEREN * SBI_PLATFORM_HAS_MCOUNTEREN In addition, define the macro SBI_PLATFORM_DEFAULT_FEATURES as the set of features that are generally expected to be supported by a Linux capable platform. Operations touching the features controlled with these falgs are not executed if the platform does not set the corresponding feature flags. Signed-off-by:Damien Le Moal <damien.lemoal@wdc.com>
-
Atish Patra authored
We should not jump to next stage if next mode (S-mode or U-mode) is not supported by HART. Signed-off-by:
Atish Patra <atish.patra@wdc.com> Signed-off-by:
Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
This patch renames "plat" to "platform" everywhere for better readablility. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
On QEMU Virt, max supported HARTs are 8 but number of HARTs actually depend on "-smp" command-line parameter passed to QEMU. This creates problems in sbi_hart_wake_coldboot_harts() because when number of HARTs are less than 8. To tackle this, we introduce a bitmap to track HARTs waiting for coldboot to finish. We wake only those HARTs who have set their bit in coldboot bitmap. Signed-off-by:Anup Patel <anup.patel@wdc.com>
-
Anup Patel authored
This patch renames "blob" to "firmware" everywhere for better and intutive naming. Signed-off-by:Anup Patel <anup@brainfault.org>
-
Anup Patel authored
This patch removes unwanted sbi_printf() from sbi_hart_wait_for_coldboot(). Signed-off-by:Anup Patel <anup.patel@wdc.com>
-