Loading...
Searching...
No Matches
arm_smccc
Go to the documentation of this file.
// vi:set ft=cpp: -*- Mode: C++ -*-
/*
* Copyright (C) 2018, 2022, 2024 Kernkonzept GmbH.
* Author(s): Sarah Hoffmann <sarah.hoffmann@kernkonzept.com>
*
* License: see LICENSE.spdx (in this directory or the directories above)
*/
#pragma once
#include <l4/sys/capability>
#include <l4/sys/cxx/ipc_iface>
namespace L4 {
class L4_EXPORT Arm_smccc : public Kobject_0t<Arm_smccc, L4_PROTO_SMCCC>
{
public:
L4_INLINE_RPC(l4_msgtag_t, call,
(l4_umword_t func, l4_umword_t in0, l4_umword_t in1,
l4_umword_t in2, l4_umword_t in3, l4_umword_t in4,
l4_umword_t in5, l4_umword_t *out0, l4_umword_t *out1,
l4_umword_t *out2, l4_umword_t *out3,
l4_umword_t client_id));
typedef L4::Typeid::Rpc_nocode<call_t> Rpcs;
};
}
capability
L4::Cap related definitions.
L4::Arm_smccc
Wrapper for function calls that follow the ARM SMC/HVC calling convention.
Definition arm_smccc:24
L4::Arm_smccc::call
l4_msgtag_t call(l4_umword_t func, l4_umword_t in0, l4_umword_t in1, l4_umword_t in2, l4_umword_t in3, l4_umword_t in4, l4_umword_t in5, l4_umword_t *out0, l4_umword_t *out1, l4_umword_t *out2, l4_umword_t *out3, l4_umword_t client_id)
ARM SMC/HVC function call.
l4_umword_t
unsigned long l4_umword_t
Unsigned machine word.
Definition l4int.h:40
L4_EXPORT
#define L4_EXPORT
Attribute to mark functions, variables, and data types as being exported from a library.
Definition compiler.h:214
ipc_iface
Interface Definition Language.
L4_INLINE_RPC
#define L4_INLINE_RPC(res, name, args, attr...)
Define an inline RPC call (type and callable).
Definition ipc_iface:482
L4
L4 low-level kernel interface.
Definition l4sys-l4f-groups.dox:50
L4::Typeid::Rpc_nocode
List of RPCs of an interface using a single operation without an opcode.
Definition __typeinfo.h:454
l4_msgtag_t
Message tag data structure.
Definition types.h:154