mirror of
https://github.com/riscv-software-src/opensbi.git
synced 2025-08-24 15:31:22 +01:00

This extension [1] allows to deliver events from SBI to supervisor via a software mechanism. This extension defines events (either local or global) which are signaled by the SBI on specific signal sources (IRQ, exceptions, etc) and are injected to be executed in supervisor mode. [1] https://lists.riscv.org/g/tech-prs/message/798 Signed-off-by: Clément Léger <cleger@rivosinc.com> Reviewed-by: Himanshu Chauhan <hchauhan@ventanamicro.com> Reviewed-by: Anup Patel <anup@brainfault.org>
88 lines
2.8 KiB
Makefile
88 lines
2.8 KiB
Makefile
#
|
|
# SPDX-License-Identifier: BSD-2-Clause
|
|
#
|
|
# Copyright (c) 2019 Western Digital Corporation or its affiliates.
|
|
#
|
|
# Authors:
|
|
# Anup Patel <anup.patel@wdc.com>
|
|
#
|
|
|
|
libsbi-objs-y += riscv_asm.o
|
|
libsbi-objs-y += riscv_atomic.o
|
|
libsbi-objs-y += riscv_hardfp.o
|
|
libsbi-objs-y += riscv_locks.o
|
|
|
|
libsbi-objs-y += sbi_ecall.o
|
|
libsbi-objs-y += sbi_ecall_exts.o
|
|
|
|
# The order of below extensions is performance optimized
|
|
carray-sbi_ecall_exts-$(CONFIG_SBI_ECALL_TIME) += ecall_time
|
|
libsbi-objs-$(CONFIG_SBI_ECALL_TIME) += sbi_ecall_time.o
|
|
|
|
carray-sbi_ecall_exts-$(CONFIG_SBI_ECALL_RFENCE) += ecall_rfence
|
|
libsbi-objs-$(CONFIG_SBI_ECALL_RFENCE) += sbi_ecall_rfence.o
|
|
|
|
carray-sbi_ecall_exts-$(CONFIG_SBI_ECALL_IPI) += ecall_ipi
|
|
libsbi-objs-$(CONFIG_SBI_ECALL_IPI) += sbi_ecall_ipi.o
|
|
|
|
carray-sbi_ecall_exts-y += ecall_base
|
|
libsbi-objs-y += sbi_ecall_base.o
|
|
|
|
carray-sbi_ecall_exts-$(CONFIG_SBI_ECALL_HSM) += ecall_hsm
|
|
libsbi-objs-$(CONFIG_SBI_ECALL_HSM) += sbi_ecall_hsm.o
|
|
|
|
carray-sbi_ecall_exts-$(CONFIG_SBI_ECALL_SRST) += ecall_srst
|
|
libsbi-objs-$(CONFIG_SBI_ECALL_SRST) += sbi_ecall_srst.o
|
|
|
|
carray-sbi_ecall_exts-$(CONFIG_SBI_ECALL_SUSP) += ecall_susp
|
|
libsbi-objs-$(CONFIG_SBI_ECALL_SUSP) += sbi_ecall_susp.o
|
|
|
|
carray-sbi_ecall_exts-$(CONFIG_SBI_ECALL_PMU) += ecall_pmu
|
|
libsbi-objs-$(CONFIG_SBI_ECALL_PMU) += sbi_ecall_pmu.o
|
|
|
|
carray-sbi_ecall_exts-$(CONFIG_SBI_ECALL_DBCN) += ecall_dbcn
|
|
libsbi-objs-$(CONFIG_SBI_ECALL_DBCN) += sbi_ecall_dbcn.o
|
|
|
|
carray-sbi_ecall_exts-$(CONFIG_SBI_ECALL_CPPC) += ecall_cppc
|
|
libsbi-objs-$(CONFIG_SBI_ECALL_CPPC) += sbi_ecall_cppc.o
|
|
|
|
carray-sbi_ecall_exts-$(CONFIG_SBI_ECALL_LEGACY) += ecall_legacy
|
|
libsbi-objs-$(CONFIG_SBI_ECALL_LEGACY) += sbi_ecall_legacy.o
|
|
|
|
carray-sbi_ecall_exts-$(CONFIG_SBI_ECALL_VENDOR) += ecall_vendor
|
|
libsbi-objs-$(CONFIG_SBI_ECALL_VENDOR) += sbi_ecall_vendor.o
|
|
|
|
carray-sbi_ecall_exts-$(CONFIG_SBI_ECALL_DBTR) += ecall_dbtr
|
|
libsbi-objs-$(CONFIG_SBI_ECALL_DBTR) += sbi_ecall_dbtr.o
|
|
|
|
libsbi-objs-y += sbi_bitmap.o
|
|
libsbi-objs-y += sbi_bitops.o
|
|
libsbi-objs-y += sbi_console.o
|
|
libsbi-objs-y += sbi_domain_context.o
|
|
libsbi-objs-y += sbi_domain.o
|
|
libsbi-objs-y += sbi_emulate_csr.o
|
|
libsbi-objs-y += sbi_fifo.o
|
|
libsbi-objs-y += sbi_hart.o
|
|
libsbi-objs-y += sbi_heap.o
|
|
libsbi-objs-y += sbi_math.o
|
|
libsbi-objs-y += sbi_hfence.o
|
|
libsbi-objs-y += sbi_hsm.o
|
|
libsbi-objs-y += sbi_illegal_insn.o
|
|
libsbi-objs-y += sbi_init.o
|
|
libsbi-objs-y += sbi_ipi.o
|
|
libsbi-objs-y += sbi_irqchip.o
|
|
libsbi-objs-y += sbi_platform.o
|
|
libsbi-objs-y += sbi_pmu.o
|
|
libsbi-objs-y += sbi_dbtr.o
|
|
libsbi-objs-y += sbi_scratch.o
|
|
libsbi-objs-y += sbi_sse.o
|
|
libsbi-objs-y += sbi_string.o
|
|
libsbi-objs-y += sbi_system.o
|
|
libsbi-objs-y += sbi_timer.o
|
|
libsbi-objs-y += sbi_tlb.o
|
|
libsbi-objs-y += sbi_trap.o
|
|
libsbi-objs-y += sbi_trap_ldst.o
|
|
libsbi-objs-y += sbi_unpriv.o
|
|
libsbi-objs-y += sbi_expected_trap.o
|
|
libsbi-objs-y += sbi_cppc.o
|