KVM
|
#include <linux/arm-smccc.h>
#include <linux/arm_ffa.h>
#include <asm/kvm_pkvm.h>
#include <nvhe/ffa.h>
#include <nvhe/mem_protect.h>
#include <nvhe/memory.h>
#include <nvhe/trap_handler.h>
#include <nvhe/spinlock.h>
Go to the source code of this file.
Classes | |
struct | kvm_ffa_descriptor_buffer |
struct | kvm_ffa_buffers |
Macros | |
#define | HOST_FFA_ID 0 |
Functions | |
static void | ffa_to_smccc_error (struct arm_smccc_res *res, u64 ffa_errno) |
static void | ffa_to_smccc_res_prop (struct arm_smccc_res *res, int ret, u64 prop) |
static void | ffa_to_smccc_res (struct arm_smccc_res *res, int ret) |
static void | ffa_set_retval (struct kvm_cpu_context *ctxt, struct arm_smccc_res *res) |
static bool | is_ffa_call (u64 func_id) |
static int | ffa_map_hyp_buffers (u64 ffa_page_count) |
static int | ffa_unmap_hyp_buffers (void) |
static void | ffa_mem_frag_tx (struct arm_smccc_res *res, u32 handle_lo, u32 handle_hi, u32 fraglen, u32 endpoint_id) |
static void | ffa_mem_frag_rx (struct arm_smccc_res *res, u32 handle_lo, u32 handle_hi, u32 fragoff) |
static void | ffa_mem_xfer (struct arm_smccc_res *res, u64 func_id, u32 len, u32 fraglen) |
static void | ffa_mem_reclaim (struct arm_smccc_res *res, u32 handle_lo, u32 handle_hi, u32 flags) |
static void | ffa_retrieve_req (struct arm_smccc_res *res, u32 len) |
static void | do_ffa_rxtx_map (struct arm_smccc_res *res, struct kvm_cpu_context *ctxt) |
static void | do_ffa_rxtx_unmap (struct arm_smccc_res *res, struct kvm_cpu_context *ctxt) |
static u32 | __ffa_host_share_ranges (struct ffa_mem_region_addr_range *ranges, u32 nranges) |
static u32 | __ffa_host_unshare_ranges (struct ffa_mem_region_addr_range *ranges, u32 nranges) |
static int | ffa_host_share_ranges (struct ffa_mem_region_addr_range *ranges, u32 nranges) |
static int | ffa_host_unshare_ranges (struct ffa_mem_region_addr_range *ranges, u32 nranges) |
static void | do_ffa_mem_frag_tx (struct arm_smccc_res *res, struct kvm_cpu_context *ctxt) |
static __always_inline void | do_ffa_mem_xfer (const u64 func_id, struct arm_smccc_res *res, struct kvm_cpu_context *ctxt) |
static void | do_ffa_mem_reclaim (struct arm_smccc_res *res, struct kvm_cpu_context *ctxt) |
static bool | ffa_call_supported (u64 func_id) |
static bool | do_ffa_features (struct arm_smccc_res *res, struct kvm_cpu_context *ctxt) |
bool | kvm_host_ffa_handler (struct kvm_cpu_context *host_ctxt, u32 func_id) |
int | hyp_ffa_init (void *pages) |
Variables | |
static struct kvm_ffa_descriptor_buffer | ffa_desc_buf |
static struct kvm_ffa_buffers | hyp_buffers |
static struct kvm_ffa_buffers | host_buffers |
|
static |
|
static |
Definition at line 312 of file ffa.c.
|
static |
|
static |
Definition at line 360 of file ffa.c.
|
static |
Definition at line 504 of file ffa.c.
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 332 of file ffa.c.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
int hyp_ffa_init | ( | void * | pages | ) |
Definition at line 700 of file ffa.c.
|
static |
bool kvm_host_ffa_handler | ( | struct kvm_cpu_context * | host_ctxt, |
u32 | func_id | ||
) |
Definition at line 643 of file ffa.c.
|
static |
|
static |
|
static |