| .. | .. |
|---|
| 232 | 232 | #define CRAT_IOLINK_FLAGS_NO_ATOMICS_32_BIT (1 << 2) |
|---|
| 233 | 233 | #define CRAT_IOLINK_FLAGS_NO_ATOMICS_64_BIT (1 << 3) |
|---|
| 234 | 234 | #define CRAT_IOLINK_FLAGS_NO_PEER_TO_PEER_DMA (1 << 4) |
|---|
| 235 | | -#define CRAT_IOLINK_FLAGS_RESERVED_MASK 0xffffffe0 |
|---|
| 235 | +#define CRAT_IOLINK_FLAGS_BI_DIRECTIONAL (1 << 31) |
|---|
| 236 | +#define CRAT_IOLINK_FLAGS_RESERVED_MASK 0x7fffffe0 |
|---|
| 236 | 237 | |
|---|
| 237 | 238 | /* |
|---|
| 238 | 239 | * IO interface types |
|---|
| .. | .. |
|---|
| 248 | 249 | #define CRAT_IOLINK_TYPE_RAPID_IO 8 |
|---|
| 249 | 250 | #define CRAT_IOLINK_TYPE_INFINIBAND 9 |
|---|
| 250 | 251 | #define CRAT_IOLINK_TYPE_RESERVED3 10 |
|---|
| 251 | | -#define CRAT_IOLINK_TYPE_OTHER 11 |
|---|
| 252 | +#define CRAT_IOLINK_TYPE_XGMI 11 |
|---|
| 253 | +#define CRAT_IOLINK_TYPE_XGOP 12 |
|---|
| 254 | +#define CRAT_IOLINK_TYPE_GZ 13 |
|---|
| 255 | +#define CRAT_IOLINK_TYPE_ETHERNET_RDMA 14 |
|---|
| 256 | +#define CRAT_IOLINK_TYPE_RDMA_OTHER 15 |
|---|
| 257 | +#define CRAT_IOLINK_TYPE_OTHER 16 |
|---|
| 252 | 258 | #define CRAT_IOLINK_TYPE_MAX 255 |
|---|
| 253 | 259 | |
|---|
| 254 | 260 | #define CRAT_IOLINK_RESERVED_LENGTH 24 |
|---|
| .. | .. |
|---|
| 268 | 274 | uint32_t minimum_bandwidth_mbs; |
|---|
| 269 | 275 | uint32_t maximum_bandwidth_mbs; |
|---|
| 270 | 276 | uint32_t recommended_transfer_size; |
|---|
| 271 | | - uint8_t reserved2[CRAT_IOLINK_RESERVED_LENGTH]; |
|---|
| 277 | + uint8_t reserved2[CRAT_IOLINK_RESERVED_LENGTH - 1]; |
|---|
| 278 | + uint8_t num_hops_xgmi; |
|---|
| 272 | 279 | }; |
|---|
| 273 | 280 | |
|---|
| 274 | 281 | /* |
|---|