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/*
2 © 2024 Intel Corporation
3
4 This software and the related documents are Intel copyrighted materials, and
5 your use of them is governed by the express license under which they were
6 provided to you ("License"). Unless the License provides otherwise, you may
7 not use, modify, copy, publish, distribute, disclose or transmit this software
8 or the related documents without Intel's prior written permission.
9
10 This software and the related documents are provided as is, with no express or
11 implied warranties, other than those that are expressly stated in the License.
12*/
13
14#ifndef SIMICS_TYPES_PCIE_TYPE_H
15#define SIMICS_TYPES_PCIE_TYPE_H
16
17namespace simics {
18namespace types {
19
20typedef enum {
28
29typedef enum {
30 /* Address Translation */
35
38
39 /* INTx emulation */
48
49 /* Power Management */
54
55 /* Error Messages */
59
60 /* Locked Transaction */
62
63 /* Slot Power Limit */
65
67
68 /* Hot Plug Messages */
76
79
80 PCIE_Locked_Transaction = 0x00, // legacy name for PCIE_Unlock
81
82 /* Data Link Layer (virtual) Messages
83
84 NOTE: these messages only exist on Simics simulator, as they are
85 normally part of the Data Link Layer which is below the level of
86 abstraction for Simics PCIe models
87
88 According to PCIe rev 2.0, when a target receives a message that it
89 does not recognize or support, except for the "Vendor Defined Type
90 1" message, it should treat the request as an "Unsupported Request"
91 and report it accordingly (see sec 2.3.1 for reference).
92
93 Hence models that comply with rev 2.0 must be updated to either
94 1) handle these messages or 2) ignore these messages.
95
96 Ideally we would like to use a new pcie_link interface to transmit
97 this information - see bug 17849 for more info. */
101
103 bool t;
104 bool k;
105 bool m;
106 bool p;
107 uint8_t sub_stream;
108 uint8_t stream_id;
110};
111
112} // namespace types
113} // namespace simics
114
115#endif
pcie_message_type_t
Definition: pcie_type.h:29
@ PCIE_HP_Attention_Indicator_Off
Definition: pcie_type.h:75
@ PCIE_Unlock
Definition: pcie_type.h:61
@ PCIE_ERR_FATAL
Definition: pcie_type.h:58
@ PCIE_PRS_Request
Definition: pcie_type.h:33
@ PCIE_Vendor_Defined_Type_0
Definition: pcie_type.h:77
@ PCIE_Precision_Time_Measurement
Definition: pcie_type.h:66
@ PCIE_Msg_Assert_INTB
Definition: pcie_type.h:41
@ PCIE_Msg_Deassert_INTA
Definition: pcie_type.h:44
@ PCIE_PM_Active_State_Nak
Definition: pcie_type.h:50
@ PCIE_HP_Attention_Indicator_On
Definition: pcie_type.h:73
@ PCIE_ATS_Invalidate_Completion
Definition: pcie_type.h:32
@ PCIE_DLL_Link_Up
Definition: pcie_type.h:99
@ PCIE_ERR_COR
Definition: pcie_type.h:56
@ PCIE_Msg_Deassert_INTD
Definition: pcie_type.h:47
@ PCIE_ERR_NONFATAL
Definition: pcie_type.h:57
@ PCIE_Optimized_Buffer_Flush_Fill
Definition: pcie_type.h:37
@ PCIE_PM_PME_TO_Ack
Definition: pcie_type.h:53
@ PCIE_DLL_Link_Down
Definition: pcie_type.h:98
@ PCIE_Locked_Transaction
Definition: pcie_type.h:80
@ PCIE_Msg_Deassert_INTC
Definition: pcie_type.h:46
@ PCIE_Latency_Tolerance_Reporting
Definition: pcie_type.h:36
@ PCIE_HP_Attention_Button_Pressed
Definition: pcie_type.h:72
@ PCIE_HP_Power_Indicator_Off
Definition: pcie_type.h:71
@ PCIE_ATS_Invalidate
Definition: pcie_type.h:31
@ PCIE_PM_PME
Definition: pcie_type.h:51
@ PCIE_HP_Attention_Indicator_Blink
Definition: pcie_type.h:74
@ PCIE_HP_Power_Indicator_Blink
Definition: pcie_type.h:70
@ PCIE_Msg_Deassert_INTB
Definition: pcie_type.h:45
@ PCIE_Set_Slot_Power_Limit
Definition: pcie_type.h:64
@ PCIE_PRS_Response
Definition: pcie_type.h:34
@ PCIE_PM_Turn_Off
Definition: pcie_type.h:52
@ PCIE_Msg_Assert_INTA
Definition: pcie_type.h:40
@ PCIE_Msg_Assert_INTC
Definition: pcie_type.h:42
@ PCIE_Msg_Assert_INTD
Definition: pcie_type.h:43
@ PCIE_Vendor_Defined_Type_1
Definition: pcie_type.h:78
@ PCIE_HP_Power_Indicator_On
Definition: pcie_type.h:69
pcie_type_t
Definition: pcie_type.h:20
@ PCIE_Type_Cfg
Definition: pcie_type.h:24
@ PCIE_Type_Mem
Definition: pcie_type.h:22
@ PCIE_Type_Msg
Definition: pcie_type.h:25
@ PCIE_Type_Not_Set
Definition: pcie_type.h:21
@ PCIE_Type_Other
Definition: pcie_type.h:26
@ PCIE_Type_IO
Definition: pcie_type.h:23
Definition: adapter.h:79
Definition: pcie_type.h:102
bool t
Definition: pcie_type.h:103
uint8_t stream_id
Definition: pcie_type.h:108
bool k
Definition: pcie_type.h:104
uint8_t sub_stream
Definition: pcie_type.h:107
uint8_t pr_sent_counter
Definition: pcie_type.h:109
bool m
Definition: pcie_type.h:105
bool p
Definition: pcie_type.h:106