blob: 65c9ab7249e0aa2247c5d2420248caf1067b6a0e [file] [log] [blame]
// 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 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);
};