blob: e884a25c59913401dd9c13d02fd83a98b0acbf88 [file] [log] [blame]
// Copyright 2020 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 <fuchsia/hardware/pciroot/cpp/banjo.h>
#include <lib/pci/pciroot.h>
#include <lib/zx/bti.h>
#include <zircon/status.h>
#include <memory>
#include <ddktl/device.h>
namespace board_qemu_arm64 {
class QemuArm64Pciroot : public PcirootBase {
public:
struct Context {
pci_platform_info_t info;
};
static zx_status_t Create(PciRootHost* root_host, QemuArm64Pciroot::Context ctx,
zx_device_t* parent, const char* name);
virtual zx_status_t PcirootGetBti(uint32_t bdf, uint32_t index, zx::bti* bti) final;
virtual zx_status_t PcirootGetPciPlatformInfo(pci_platform_info_t* info) final;
~QemuArm64Pciroot() override = default;
private:
Context context_;
QemuArm64Pciroot(PciRootHost* root_host, QemuArm64Pciroot::Context ctx, zx_device_t* parent,
const char* name)
: PcirootBase(root_host, parent, name), context_(ctx) {}
};
} // namespace board_qemu_arm64