14#ifndef SIMICS_SYSTEMC_IFACE_PCI_EXPRESS_EXTENSION_H
15#define SIMICS_SYSTEMC_IFACE_PCI_EXPRESS_EXTENSION_H
17#if defined SIMICS_6_API || defined SHOW_OBSOLETE_API
29class PciExpressExtension :
public Extension<PciExpressExtension,
30 PciExpressInterface> {
32 void call(PciExpressInterface *device)
override {
33 switch (method_.value<Method>()) {
35 method_return_ = device->send_message(
36 method_input_[0].value<int>(),
37 method_input_[1].value<
const std::vector<uint8_t> >());
41 int send_message(
int type,
const std::vector<uint8_t> &payload)
override {
42 method_ = SEND_MESSAGE;
43 method_input_.push_back(type);
44 method_input_.push_back(payload);
46 return method_return_.value<
int>();