forked from vsrinivas/fuchsia
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsmc.fidl
35 lines (30 loc) · 856 Bytes
/
smc.fidl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library zx;
// TODO(scottmg): ARM_SMC_xyz.
struct SmcParameters {
uint32 func_id;
uint64 arg1;
uint64 arg2;
uint64 arg3;
uint64 arg4;
uint64 arg5;
uint64 arg6;
uint16 client_id;
uint16 secure_os_id;
};
struct SmcResult {
uint64 arg0;
uint64 arg1;
uint64 arg2;
uint64 arg3;
uint64 arg6; // at least one implementation uses it as a way to return session_id.
};
[Transport = "Syscall"]
protocol smc {
// TODO(fxbug.dev/32803): handle No rights required?
/// Make Secure Monitor Call (SMC) from user space.
smc_call(handle:RESOURCE handle, SmcParameters parameters)
-> (status status, SmcResult out_smc_result);
};