SystemC Library API Reference Manual
Reference documentation for the Simics SystemC Library.
 
Loading...
Searching...
No Matches
pci_bus_interface.h
Go to the documentation of this file.
1// -*- mode: C++; c-file-style: "virtutech-c++" -*-
2
3/*
4 © 2015 Intel Corporation
5
6 This software and the related documents are Intel copyrighted materials, and
7 your use of them is governed by the express license under which they were
8 provided to you ("License"). Unless the License provides otherwise, you may
9 not use, modify, copy, publish, distribute, disclose or transmit this software
10 or the related documents without Intel's prior written permission.
11
12 This software and the related documents are provided as is, with no express or
13 implied warranties, other than those that are expressly stated in the License.
14*/
15
16#ifndef SIMICS_SYSTEMC_IFACE_PCI_BUS_INTERFACE_H
17#define SIMICS_SYSTEMC_IFACE_PCI_BUS_INTERFACE_H
18
21#include <stdint.h>
22
23namespace simics {
24namespace systemc {
25namespace iface {
26
29 public:
30 virtual void raise_interrupt(int pin) = 0;
31 virtual void lower_interrupt(int pin) = 0;
32 virtual int interrupt_acknowledge() = 0;
33 virtual int add_map(types::addr_space_t space, types::map_info_t info) = 0;
34 virtual int remove_map(types::addr_space_t space, int function) = 0;
35 virtual void set_bus_number(int bus_id) = 0;
36 virtual void set_sub_bus_number(int bus_id) = 0;
37 virtual void add_default(types::addr_space_t space,
38 types::map_info_t info) = 0;
39 virtual void remove_default(types::addr_space_t space) = 0;
40 virtual void bus_reset() = 0;
41 virtual void special_cycle(uint32_t value) = 0;
42 virtual void system_error() = 0;
43 virtual int get_bus_address() = 0;
44 virtual void set_device_status(int device, int function, int enabled) = 0;
45
46 virtual ~PciBusInterface() {}
47};
48
49} // namespace iface
50} // namespace systemc
51} // namespace simics
52
53#endif
Simics SystemC pci_bus interface.
Definition: pci_bus_interface.h:28
virtual void set_device_status(int device, int function, int enabled)=0
virtual void lower_interrupt(int pin)=0
virtual int add_map(types::addr_space_t space, types::map_info_t info)=0
virtual void set_bus_number(int bus_id)=0
virtual void raise_interrupt(int pin)=0
virtual void set_sub_bus_number(int bus_id)=0
virtual void special_cycle(uint32_t value)=0
virtual void add_default(types::addr_space_t space, types::map_info_t info)=0
virtual void remove_default(types::addr_space_t space)=0
virtual int remove_map(types::addr_space_t space, int function)=0
virtual ~PciBusInterface()
Definition: pci_bus_interface.h:46
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