14#ifndef SIMICS_SYSTEMC_SIMICS2TLM_PCI_EXPRESS_GASKET_ADAPTER_H
15#define SIMICS_SYSTEMC_SIMICS2TLM_PCI_EXPRESS_GASKET_ADAPTER_H
17#if defined SIMICS_6_API || defined SHOW_OBSOLETE_API
33class PciExpressGasketAdapter
34 :
public iface::PciExpressInterface,
35 public GasketAdapter<iface::PciExpressInterface> {
37 PciExpressGasketAdapter(PciExpressInterface *pci_express,
38 iface::SimulationInterface *simulation)
39 : pci_express_(pci_express), simulation_(simulation) {
41 int send_message(
int type,
const std::vector<uint8_t> &payload)
override {
42 Context context(simulation_);
43 return pci_express_->send_message(type, payload);
45 simics2tlm::GasketOwner *gasket_owner()
const override {
46 return dynamic_cast<simics2tlm::GasketOwner *
>(pci_express_);
50 PciExpressInterface *pci_express_;
51 iface::SimulationInterface *simulation_;