blob: 81cb35e2cd205d8d53ae0de3ef2b03809eccca1c [file] [log] [blame] [edit]
// 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.
deprecated_syntax;
library fuchsia.hardware.securemem;
using zx;
/// This protocol currently is a temporary measure to allow for services to get the physical address
/// of a previously pinned VMO until trusted services can be handed BTI handles.
protocol Device {
/// Gets the physical address of a previously pinned VMO.
///
/// Note:
/// * The VMO must be contiguous.
/// * `secure_mem` is expected to have a stable physical address that is pinned by some other
/// entity. The protocol implementation should not be expected to keep the VMO pinned.
/// * The server implementation must not use an IOMMU-backed BTI handle, as the physical
/// address of the VMO being pinned must be stable.
GetSecureMemoryPhysicalAddress(zx.handle:VMO secure_mem) -> (zx.status s, zx.paddr paddr);
};