SystemC Library API Reference Manual
Reference documentation for the Simics SystemC Library.
 
Loading...
Searching...
No Matches
pcie_type.h
Go to the documentation of this file.
1// -*- mode: C++; c-file-style: "virtutech-c++" -*-
2
3/*
4 © 2024 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_TYPES_PCIE_TYPE_H
17#define SIMICS_TYPES_PCIE_TYPE_H
18
19namespace simics {
20namespace types {
21
22typedef enum {
30
31typedef enum {
32 /* Address Translation */
37
40
41 /* INTx emulation */
50
51 /* Power Management */
56
57 /* Error Messages */
61
62 /* Locked Transaction */
64
65 /* Slot Power Limit */
67
69
70 /* Hot Plug Messages */
78
81
82 PCIE_Locked_Transaction = 0x00, // legacy name for PCIE_Unlock
83
84 /* Data Link Layer (virtual) Messages
85
86 NOTE: these messages only exist on Simics simulator, as they are
87 normally part of the Data Link Layer which is below the level of
88 abstraction for Simics PCIe models
89
90 According to PCIe rev 2.0, when a target receives a message that it
91 does not recognize or support, except for the "Vendor Defined Type
92 1" message, it should treat the request as an "Unsupported Request"
93 and report it accordingly (see sec 2.3.1 for reference).
94
95 Hence models that comply with rev 2.0 must be updated to either
96 1) handle these messages or 2) ignore these messages.
97
98 Ideally we would like to use a new pcie_link interface to transmit
99 this information - see bug 17849 for more info. */
103
105 bool t;
106 bool k;
107 bool m;
108 bool p;
109 uint8_t sub_stream;
110 uint8_t stream_id;
112};
113
114} // namespace types
115} // namespace simics
116
117#endif
pcie_message_type_t
Definition: pcie_type.h:31
@ PCIE_HP_Attention_Indicator_Off
Definition: pcie_type.h:77
@ PCIE_Unlock
Definition: pcie_type.h:63
@ PCIE_ERR_FATAL
Definition: pcie_type.h:60
@ PCIE_PRS_Request
Definition: pcie_type.h:35
@ PCIE_Vendor_Defined_Type_0
Definition: pcie_type.h:79
@ PCIE_Precision_Time_Measurement
Definition: pcie_type.h:68
@ PCIE_Msg_Assert_INTB
Definition: pcie_type.h:43
@ PCIE_Msg_Deassert_INTA
Definition: pcie_type.h:46
@ PCIE_PM_Active_State_Nak
Definition: pcie_type.h:52
@ PCIE_HP_Attention_Indicator_On
Definition: pcie_type.h:75
@ PCIE_ATS_Invalidate_Completion
Definition: pcie_type.h:34
@ PCIE_DLL_Link_Up
Definition: pcie_type.h:101
@ PCIE_ERR_COR
Definition: pcie_type.h:58
@ PCIE_Msg_Deassert_INTD
Definition: pcie_type.h:49
@ PCIE_ERR_NONFATAL
Definition: pcie_type.h:59
@ PCIE_Optimized_Buffer_Flush_Fill
Definition: pcie_type.h:39
@ PCIE_PM_PME_TO_Ack
Definition: pcie_type.h:55
@ PCIE_DLL_Link_Down
Definition: pcie_type.h:100
@ PCIE_Locked_Transaction
Definition: pcie_type.h:82
@ PCIE_Msg_Deassert_INTC
Definition: pcie_type.h:48
@ PCIE_Latency_Tolerance_Reporting
Definition: pcie_type.h:38
@ PCIE_HP_Attention_Button_Pressed
Definition: pcie_type.h:74
@ PCIE_HP_Power_Indicator_Off
Definition: pcie_type.h:73
@ PCIE_ATS_Invalidate
Definition: pcie_type.h:33
@ PCIE_PM_PME
Definition: pcie_type.h:53
@ PCIE_HP_Attention_Indicator_Blink
Definition: pcie_type.h:76
@ PCIE_HP_Power_Indicator_Blink
Definition: pcie_type.h:72
@ PCIE_Msg_Deassert_INTB
Definition: pcie_type.h:47
@ PCIE_Set_Slot_Power_Limit
Definition: pcie_type.h:66
@ PCIE_PRS_Response
Definition: pcie_type.h:36
@ PCIE_PM_Turn_Off
Definition: pcie_type.h:54
@ PCIE_Msg_Assert_INTA
Definition: pcie_type.h:42
@ PCIE_Msg_Assert_INTC
Definition: pcie_type.h:44
@ PCIE_Msg_Assert_INTD
Definition: pcie_type.h:45
@ PCIE_Vendor_Defined_Type_1
Definition: pcie_type.h:80
@ PCIE_HP_Power_Indicator_On
Definition: pcie_type.h:71
pcie_type_t
Definition: pcie_type.h:22
@ PCIE_Type_Cfg
Definition: pcie_type.h:26
@ PCIE_Type_Mem
Definition: pcie_type.h:24
@ PCIE_Type_Msg
Definition: pcie_type.h:27
@ PCIE_Type_Not_Set
Definition: pcie_type.h:23
@ PCIE_Type_Other
Definition: pcie_type.h:28
@ PCIE_Type_IO
Definition: pcie_type.h:25
Definition: adapter.h:80
Definition: pcie_type.h:104
bool t
Definition: pcie_type.h:105
uint8_t stream_id
Definition: pcie_type.h:110
bool k
Definition: pcie_type.h:106
uint8_t sub_stream
Definition: pcie_type.h:109
uint8_t pr_sent_counter
Definition: pcie_type.h:111
bool m
Definition: pcie_type.h:107
bool p
Definition: pcie_type.h:108