blob: 08b1cff53554690fc83f0b662617a7d72ff1d211 [file] [log] [blame]
/*
* Copyright 2024 The Hafnium Authors.
*
* Use of this source code is governed by a BSD-style
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/BSD-3-Clause.
*/
#include "hf/vm.h"
bool ffa_vm_supports_indirect_messages(struct vm *vm)
{
return vm->ffa_version >= FFA_VERSION_1_1 &&
vm_supports_messaging_method(vm, FFA_PARTITION_INDIRECT_MSG);
}
bool ffa_vm_managed_exit_supported(struct vm *vm)
{
(void)vm;
return false;
}
struct vm_locked ffa_vm_find_locked(ffa_id_t vm_id)
{
if (vm_id_is_current_world(vm_id) || vm_id == HF_OTHER_WORLD_ID) {
return vm_find_locked(vm_id);
}
return (struct vm_locked){.vm = NULL};
}
struct vm_locked ffa_vm_find_locked_create(ffa_id_t vm_id)
{
return ffa_vm_find_locked(vm_id);
}
bool ffa_vm_notifications_info_get( // NOLINTNEXTLINE
uint16_t *ids, uint32_t *ids_count, // NOLINTNEXTLINE
uint32_t *lists_sizes, // NOLINTNEXTLINE
uint32_t *lists_count, const uint32_t ids_count_max)
{
(void)ids;
(void)ids_count;
(void)lists_sizes;
(void)lists_count;
(void)ids_count_max;
return false;
}
void ffa_vm_destroy(struct vm_locked to_destroy_locked)
{
/* Hypervisor never frees VM structs. */
(void)to_destroy_locked;
}
void ffa_vm_free_resources(struct vm_locked vm_locked)
{
(void)vm_locked;
}