blob: a8043ba0cc1ff6dc165309388824c059cff1a4fd [file] [log] [blame]
// Copyright 2022 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.
#include "src/devices/lib/iommu/iommu.h"
#ifndef SRC_DEVICES_LIB_IOMMU_IOMMU_ARM_H_
#define SRC_DEVICES_LIB_IOMMU_IOMMU_ARM_H_
namespace iommu {
// IOMMU manager implementation for ARM.
// This class does not yet do anything, but one day it should read from the IORT to determine IOMMU
// information.
class ArmIommuManager : public iommu::IommuManagerBase {
public:
zx_status_t Init(zx::unowned_resource root_resource);
zx::unowned_iommu IommuForBdf(uint32_t bdf) override { return dummy_iommu_.borrow(); }
zx::unowned_iommu IommuForAcpiDevice(const char* path) override { return dummy_iommu_.borrow(); }
private:
zx::iommu dummy_iommu_;
};
} // namespace iommu
#endif