16#ifndef SIMICS_SYSTEMC_TLM2SIMICS_PCI_BUS_H
17#define SIMICS_SYSTEMC_TLM2SIMICS_PCI_BUS_H
39 iface::PciBusExtension::createIgnoreReceiver(),
40 &dmi_interface_provider_),
41 dmi_interface_provider_(
"memory_space"),
44 upstream_provider_(
"pci_upstream_operation") {
52 tlm::tlm_generic_payload &trans,
53 tlm::tlm_dmi& dmi_data)
override;
90 tlm::tlm_response_status simics_transaction(
91 ConfObjectRef &simics_obj,
92 tlm::tlm_generic_payload *trans)
override;
94 conf_object_t *device_;
95 tlm::tlm_generic_payload *payload_;
Returns the interface provided by the associated Simics object.
Definition: interface_provider.h:32
virtual void set_target(const ConfObjectRef &obj)
Definition: interface_provider.h:58
Utility class that can unmarshal a Simics interface embedded as an Extension in the tlm::tlm_generic_...
Definition: extension_dispatcher.h:33
void subscribe(ReceiverInterface *receiver)
Definition: extension_dispatcher.h:35
static ReceiverInterface * createReceiver(PciBusInterface *device)
Definition: extension.h:105
Simics SystemC pci_bus interface.
Definition: pci_bus_interface.h:28
Simics SystemC pci_upstream_operation interface.
Definition: pci_upstream_operation_interface.h:28
Interface implemented by the ExtensionReceiver class, used by the ExtensionDispatcher.
Definition: receiver_interface.h:29
Base class for transaction handlers that support DMI.
Definition: dmi_transaction_handler.h:32
Protocol specific transaction handler for Simics pci_bus interface.
Definition: pci_bus.h:35
void system_error() override
void remove_default(types::addr_space_t space) override
int remove_map(types::addr_space_t space, int function) override
int interrupt_acknowledge() override
void set_device_status(int device, int function, int enabled) override
int add_map(types::addr_space_t space, types::map_info_t info) override
iface::ReceiverInterface * receiver() override
void set_bus_number(int bus_id) override
void bus_reset() override
void lower_interrupt(int pin) override
void set_target(const ConfObjectRef &obj) override
Definition: pci_bus.h:79
PciBus()
Definition: pci_bus.h:37
void add_default(types::addr_space_t space, types::map_info_t info) override
void set_sub_bus_number(int bus_id) override
bool get_direct_mem_ptr(ConfObjectRef &simics_obj, tlm::tlm_generic_payload &trans, tlm::tlm_dmi &dmi_data) override
int get_bus_address() override
types::pci_bus_exception_type_t write(uint16_t rid, types::addr_space_t space) override
void special_cycle(uint32_t value) override
void set_device(conf_object_t *device)
Definition: pci_bus.h:83
void raise_interrupt(int pin) override
types::pci_bus_exception_type_t read(uint16_t rid, types::addr_space_t space) override
pci_bus_exception_type_t
Reduced, stand-alone, version of the Simics exception_type_t enum.
Definition: pci_bus_exception_type.h:23
addr_space_t
Stand-alone, version of the Simics addr_space_t enum.
Definition: addr_space.h:23
Definition: pci_bus_interface.h:24
Reduced, stand-alone, version of the Simics map_info_t struct.
Definition: map_info.h:25