14#ifndef SIMICS_SYSTEMC_TLM2SIMICS_PCI_EXPRESS_H
15#define SIMICS_SYSTEMC_TLM2SIMICS_PCI_EXPRESS_H
17#if defined SIMICS_6_API || defined SHOW_OBSOLETE_API
31class PciExpress :
public InterfaceProvider,
32 public TransactionHandler,
33 public iface::PciExpressInterface {
36 : InterfaceProvider(
"pci_express"),
39 iface::PciExpressExtension::createIgnoreReceiver()),
40 receiver_(iface::PciExpressExtension::createReceiver(this)),
43 virtual ~PciExpress();
45 int send_message(
int type,
const std::vector<uint8_t> &payload)
override;
47 iface::ReceiverInterface *receiver()
override;
50 tlm::tlm_response_status simics_transaction(
51 ConfObjectRef &simics_obj,
52 tlm::tlm_generic_payload *trans)
override;
53 iface::ReceiverInterface *receiver_;
55 conf_object_t *device_;