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_IFACE_PCI_BUS_INTERFACE_H
17#define SIMICS_IFACE_PCI_BUS_INTERFACE_H
18
22#include <stdint.h>
23
24namespace simics {
25namespace iface {
26
29 public:
30 virtual void raise_interrupt(types::AnyType dev, int pin) = 0;
31 virtual void lower_interrupt(types::AnyType dev, int pin) = 0;
32 virtual int interrupt_acknowledge() = 0;
34 types::AnyType target, types::map_info_t info) = 0;
36 int function) = 0;
37 virtual void set_bus_number(int bus_id) = 0;
38 virtual void set_sub_bus_number(int bus_id) = 0;
40 types::AnyType target, types::map_info_t info) = 0;
41 virtual void remove_default(types::addr_space_t space) = 0;
42 virtual void bus_reset() = 0;
43 virtual void special_cycle(uint32_t value) = 0;
44 virtual void system_error() = 0;
45 virtual int get_bus_address(types::AnyType dev) = 0;
46 virtual void set_device_status(int device, int function, int enabled) = 0;
47
48 /* Memory spaces */
50 virtual types::AnyType io_space() = 0;
52 virtual ~PciBusInterface() {}
53};
54
55} // namespace iface
56} // namespace simics
57
58#endif
Simics pci_bus interface.
Definition: pci_bus_interface.h:28
virtual int get_bus_address(types::AnyType dev)=0
virtual void remove_default(types::addr_space_t space)=0
virtual int add_map(types::AnyType dev, types::addr_space_t space, types::AnyType target, types::map_info_t info)=0
virtual ~PciBusInterface()
Definition: pci_bus_interface.h:52
virtual void special_cycle(uint32_t value)=0
virtual void lower_interrupt(types::AnyType dev, int pin)=0
virtual int remove_map(types::AnyType dev, types::addr_space_t space, int function)=0
virtual void set_bus_number(int bus_id)=0
virtual void raise_interrupt(types::AnyType dev, int pin)=0
virtual types::AnyType memory_space()=0
virtual void set_sub_bus_number(int bus_id)=0
virtual void set_device_status(int device, int function, int enabled)=0
virtual types::AnyType configuration_space()=0
virtual void add_default(types::AnyType dev, types::addr_space_t space, types::AnyType target, types::map_info_t info)=0
virtual int interrupt_acknowledge()=0
virtual types::AnyType io_space()=0
Generic type class.
Definition: any_type.h:25
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