16#ifndef SIMICS_SYSTEMC_IFACE_PCI_EXPRESS_EXTENSION_H
17#define SIMICS_SYSTEMC_IFACE_PCI_EXPRESS_EXTENSION_H
19#if defined SIMICS_5_API || defined SIMICS_6_API
31class PciExpressExtension :
public Extension<PciExpressExtension,
32 PciExpressInterface> {
34 virtual void call(PciExpressInterface *device) {
35 switch (method_.value<Method>()) {
37 method_return_ = device->send_message(
38 method_input_[0].value<int>(),
39 method_input_[1].value<
const std::vector<uint8_t> >());
43 virtual int send_message(
int type,
const std::vector<uint8_t> &payload) {
44 method_ = SEND_MESSAGE;
45 method_input_.push_back(type);
46 method_input_.push_back(payload);
48 return method_return_.value<
int>();
Definition: pci_bus_interface.h:24