blob: c0e63768eb8e25ea2a7943a4a697da2ab931377c [file] [log] [blame]
// Copyright 2018 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 ddk.protocol.acpi;
using zx;
struct AcpiMmio {
/// Offset from beginning of VMO where the mmio region begins.
zx.off offset;
/// Size of mmio region.
usize size;
handle<vmo> vmo;
};
[Layout = "ddk-protocol"]
protocol Acpi {
GetPio(uint32 index) -> (zx.status s, handle<resource> pio);
GetMmio(uint32 index) -> (zx.status s, AcpiMmio mmio);
MapInterrupt(int64 index) -> (zx.status s, handle<interrupt> @handle);
GetBti(uint32 bdf, uint32 index) -> (zx.status s, handle<bti> bti);
ConnectSysmem(handle<channel> connection) -> (zx.status s);
RegisterSysmemHeap(uint64 heap, handle<channel> connection) -> (zx.status s);
};