# Copyright 2019 The Fuchsia Authors
#
# Use of this source code is governed by a MIT-style
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/MIT

import("//build/zircon/migrated_targets.gni")

zx_library("intel") {
  kernel = true
  sources = [
    "context_table_state.cc",
    "device_context.cc",
    "domain_allocator.cc",
    "intel_iommu.cc",
    "iommu_impl.cc",
    "iommu_page.cc",
    "second_level_pt.cc",
  ]
  deps = [
    "//zircon/kernel/arch/x86/page_tables",
    "//zircon/kernel/dev/interrupt",
    "//zircon/kernel/dev/pcie",
    "//zircon/kernel/lib/fbl",
    "//zircon/kernel/lib/ktl",
    "//zircon/kernel/lib/root_resource_filter",
    "//zircon/kernel/lib/user_copy",
    "//zircon/kernel/vm:headers",
    "//zircon/system/ulib/bitmap",
    "//zircon/system/ulib/hwreg",
    "//zircon/system/ulib/region-alloc",
  ]
  public_deps = [
    # dev/iommu/intel.h has #include <fbl/ref_ptr.h>.
    "//zircon/kernel/lib/fbl:headers",
  ]
}
