SBI#

group Sbi

Defines

SBI_SPEC_VERSION_DEFAULT#
SBI_SPEC_VERSION_MAJOR_SHIFT#
SBI_SPEC_VERSION_MAJOR_MASK#
SBI_SPEC_VERSION_MINOR_MASK#

Typedefs

typedef struct sbiret sbiret_t#

Enums

enum sbi_error_t#

Values:

enumerator SBI_SUCCESS#
enumerator SBI_ERR_FAILED#
enumerator SBI_ERR_NOT_SUPPORTED#
enumerator SBI_ERR_INVALID_PARAM#
enumerator SBI_ERR_DENIED#
enumerator SBI_ERR_INVALID_ADDRESS#
enumerator SBI_ERR_ALREADY_AVAILABLE#
enumerator SBI_ERR_ALREADY_STARTED#
enumerator SBI_ERR_ALREADY_STOPPED#
enumerator SBI_ERR_NO_SHMEM#
enumerator SBI_ERR_INVALID_STATE#
enumerator SBI_ERR_BAD_RANGE#
enumerator SBI_ERR_TIMEOUT#
enumerator SBI_ERR_IO#
enumerator SBI_ERR_DENIED_LOCKED#
enum sbi_extension_id_t#

Values:

enumerator SBI_EXT_LEGACY_SET_TIMER#
enumerator SBI_EXT_LEGACY_CONSOLE_PUTCHAR#
enumerator SBI_EXT_LEGACY_CONSOLE_GETCHAR#
enumerator SBI_EXT_LEGACY_CLEAR_IPI#
enumerator SBI_EXT_LEGACY_SEND_IPI#
enumerator SBI_EXT_LEGACY_REMOTE_FENCE_I#
enumerator SBI_EXT_LEGACY_REMOTE_SFENCE_VMA#
enumerator SBI_EXT_LEGACY_REMOTE_SFENCE_VMA_ASID#
enumerator SBI_EXT_LEGACY_SHUTDOWN#
enumerator SBI_EXT_BASE#
enumerator SBI_EXT_TIME#
enumerator SBI_EXT_IPI#
enumerator SBI_EXT_RFENCE#
enumerator SBI_EXT_HSM#
enumerator SBI_EXT_SYSTEM_RESET#
enumerator SBI_EXT_PMU#
enumerator SBI_EXT_DBCN#
enumerator SBI_EXT_SUSP#
enumerator SBI_EXT_CPPC#
enumerator SBI_EXT_NACL#
enumerator SBI_EXT_STA#
enumerator SBI_EXT_SSE#
enumerator SBI_EXT_FWFT#
enumerator SBI_EXT_DBTR#
enumerator SBI_EXT_MPXY#
enum sbi_hsm_state_t#

Values:

enumerator SBI_HSM_STARTED#
enumerator SBI_HSM_STOPPED#
enumerator SBI_HSM_START_PENDING#
enumerator SBI_HSM_STOP_PENDING#
enumerator SBI_HSM_SUSPENDED#
enumerator SBI_HSM_SUSPEND_PENDING#
enumerator SBI_HSM_RESUME_PENDING#
enum sbi_hsm_suspend_type_t#

Values:

enumerator SBI_HSM_SUSPEND_DEFAULT_RETENTIVE#
enumerator SBI_HSM_SUSPEND_DEFAULT_NON_RETENTIVE#
enum sbi_reset_type_t#

Values:

enumerator SBI_RESET_TYPE_SHUTDOWN#
enumerator SBI_RESET_TYPE_COLD_REBOOT#
enumerator SBI_RESET_TYPE_WARM_REBOOT#
enum sbi_reset_reason_t#

Values:

enumerator SBI_RESET_REASON_NO_REASON#
enumerator SBI_RESET_REASON_SYSTEM_FAILURE#

Functions

struct sbiret sbi_ecall(reg_t arg0, reg_t arg1, reg_t arg2, reg_t arg3, reg_t arg4, reg_t arg5, ireg_t fid, sbi_extension_id_t ext)#
struct sbiret sbi_get_spec_version(void)#
struct sbiret sbi_get_impl_id(void)#
struct sbiret sbi_get_impl_version(void)#
struct sbiret sbi_probe_extension(sbi_extension_id_t)#
struct sbiret sbi_get_mvendorid(void)#
struct sbiret sbi_get_marchid(void)#
struct sbiret sbi_get_mimpid(void)#
struct sbiret sbi_legacy_set_timer(u64 stime_value)#
struct sbiret sbi_legacy_console_putchar(reg_t ch)#
struct sbiret sbi_legacy_console_getchar(void)#
struct sbiret sbi_legacy_clear_ipi(void)#
struct sbiret sbi_legacy_send_ipi(reg_t hart_mask)#
struct sbiret sbi_legacy_remote_fence_i(reg_t hart_mask)#
struct sbiret sbi_legacy_remote_sfence_vma(reg_t hart_mask, reg_t start_addr, reg_t size)#
struct sbiret sbi_legacy_remote_sfence_vma_asid(reg_t hart_mask, reg_t start_addr, reg_t size, reg_t asid)#
struct sbiret sbi_legacy_shutdown(void)#
struct sbiret sbi_set_timer(u64 stime_value)#
struct sbiret sbi_send_ipi(reg_t hart_mask, reg_t hart_mask_base)#
struct sbiret sbi_remote_fence_i(reg_t hart_mask, reg_t hart_mask_base)#
struct sbiret sbi_remote_sfence_vma(reg_t hart_mask, reg_t hart_mask_base, const void *start_addr, reg_t size)#
struct sbiret sbi_remote_sfence_vma_asid(reg_t hart_mask, reg_t hart_mask_base, const void *start_addr, reg_t size, reg_t asid)#
struct sbiret sbi_remote_hfence_gvma_vmid(reg_t hart_mask, reg_t hart_mask_base, const void *start_addr, reg_t size, reg_t vmid)#
struct sbiret sbi_remote_hfence_gvma(reg_t hart_mask, reg_t hart_mask_base, const void *start_addr, reg_t size)#
struct sbiret sbi_remote_hfence_vvma_asid(reg_t hart_mask, reg_t hart_mask_base, const void *start_addr, reg_t size, reg_t asid)#
struct sbiret sbi_remote_hfence_vvma(reg_t hart_mask, reg_t hart_mask_base, const void *start_addr, reg_t size)#
struct sbiret sbi_hart_start(reg_t hart_id, reg_t start_addr, reg_t opaque)#
struct sbiret sbi_hart_suspend(sbi_hsm_suspend_type_t suspend_type, reg_t resume_addr, reg_t opaque)#
struct sbiret sbi_hart_get_status(reg_t hart_id)#
struct sbiret sbi_hart_stop()#
struct sbiret sbi_hart_suspend_nonretentive(reg_t resume_addr, reg_t opaque)#
struct sbiret sbi_hart_suspend_retentive()#
struct sbiret sbi_system_reset(sbi_reset_type_t reset_type, sbi_reset_reason_t reset_reason)#
struct sbiret sbi_pmu_num_counters(void)#
struct sbiret sbi_pmu_counter_get_info(reg_t counter_idx)#
struct sbiret sbi_pmu_counter_config_matching(reg_t counter_idx_base, reg_t counter_idx_mask, reg_t config_flags, reg_t event_idx, u64 event_data)#
struct sbiret sbi_pmu_counter_start(reg_t counter_idx_base, reg_t counter_idx_mask, reg_t start_flags, u64 initial_value)#
struct sbiret sbi_pmu_counter_stop(reg_t counter_idx_base, reg_t counter_idx_mask, reg_t stop_flags)#
struct sbiret sbi_pmu_counter_fw_read(reg_t counter_idx)#
struct sbiret sbi_pmu_counter_fw_read_hi(reg_t counter_idx)#
struct sbiret sbi_pmu_snapshot_set_shmem(reg_t shmem_phys_lo, reg_t shmem_phys_hi, reg_t flags)#
struct sbiret sbi_pmu_event_get_info(reg_t shmem_phys_lo, reg_t shmem_phys_hi, reg_t num_entries, reg_t flags)#
struct sbiret sbi_debug_console_write(reg_t num_bytes, reg_t base_addr_lo, reg_t base_addr_hi)#
struct sbiret sbi_debug_console_read(reg_t num_bytes, reg_t base_addr_lo, reg_t base_addr_hi)#
struct sbiret sbi_debug_console_write_byte(u8 byte)#
struct sbiret sbi_system_suspend(u32 sleep_type, reg_t resume_addr, reg_t opaque)#
struct sbiret sbi_cppc_probe(u32 cppc_reg_id)#
struct sbiret sbi_cppc_read(u32 cppc_reg_id)#
struct sbiret sbi_cppc_read_hi(u32 cppc_reg_id)#
struct sbiret sbi_cppc_write(u32 cppc_reg_id, u64 val)#
struct sbiret sbi_nacl_probe_feature(u32 feature_id)#
struct sbiret sbi_nacl_set_shmem(reg_t shmem_phys_lo, reg_t shmem_phys_hi, reg_t flags)#
struct sbiret sbi_nacl_sync_csr(reg_t csr_num)#
struct sbiret sbi_nacl_sync_hfence(reg_t entry_index)#
struct sbiret sbi_nacl_sync_sret(void)#
struct sbiret sbi_steal_time_set_shmem(reg_t shmem_phys_lo, reg_t shmem_phys_hi, reg_t flags)#
struct sbiret sbi_sse_read_attrs(u32 event_id, u32 base_attr_id, u32 attr_count, reg_t output_phys_lo, reg_t output_phys_hi)#
struct sbiret sbi_sse_write_attrs(u32 event_id, u32 base_attr_id, u32 attr_count, reg_t input_phys_lo, reg_t input_phys_hi)#
struct sbiret sbi_sse_register(u32 event_id, reg_t handler_entry_pc, reg_t handler_entry_arg)#
struct sbiret sbi_sse_unregister(u32 event_id)#
struct sbiret sbi_sse_enable(u32 event_id)#
struct sbiret sbi_sse_disable(u32 event_id)#
struct sbiret sbi_sse_complete(void)#
struct sbiret sbi_sse_inject(u32 event_id, reg_t hart_id)#
struct sbiret sbi_sse_hart_unmask(void)#
struct sbiret sbi_sse_hart_mask(void)#
struct sbiret sbi_fwft_set(u32 feature, reg_t value, reg_t flags)#
struct sbiret sbi_fwft_get(u32 feature)#
struct sbiret sbi_debug_num_triggers(reg_t trig_tdata1)#
struct sbiret sbi_debug_set_shmem(reg_t shmem_phys_lo, reg_t shmem_phys_hi, reg_t flags)#
struct sbiret sbi_debug_read_triggers(reg_t trig_idx_base, reg_t trig_count)#
struct sbiret sbi_debug_install_triggers(reg_t trig_count)#
struct sbiret sbi_debug_update_triggers(reg_t trig_count)#
struct sbiret sbi_debug_uninstall_triggers(reg_t trig_idx_base, reg_t trig_idx_mask)#
struct sbiret sbi_debug_enable_triggers(reg_t trig_idx_base, reg_t trig_idx_mask)#
struct sbiret sbi_debug_disable_triggers(reg_t trig_idx_base, reg_t trig_idx_mask)#
struct sbiret sbi_mpxy_get_shmem_size(void)#
struct sbiret sbi_mpxy_set_shmem(reg_t shmem_phys_lo, reg_t shmem_phys_hi, reg_t flags)#
struct sbiret sbi_mpxy_get_channel_ids(u32 start_index)#
struct sbiret sbi_mpxy_read_attributes(u32 channel_id, u32 base_attribute_id, u32 attribute_count)#
struct sbiret sbi_mpxy_write_attributes(u32 channel_id, u32 base_attribute_id, u32 attribute_count)#
struct sbiret sbi_mpxy_send_message_with_response(u32 channel_id, u32 message_id, reg_t message_data_len)#
struct sbiret sbi_mpxy_send_message_without_response(u32 channel_id, u32 message_id, reg_t message_data_len)#
struct sbiret sbi_mpxy_get_notification_events(u32 channel_id)#
struct sbiret#