blob: 24e0db5e027af7a283499c65e5191940d81c62fe [file] [log] [blame]
Jason M. Billsd1e40602019-05-09 11:43:51 -07001/*
2// Copyright (c) 2019 intel Corporation
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15*/
16
17#pragma once
18#include <boost/container/flat_map.hpp>
19
Jae Hyun Yoo1e17d332021-06-11 11:42:02 -070020#include <string>
21
Patrick Williams42a9ac82023-05-10 07:51:22 -050022static constexpr const char* coprocessorSubClass = "Coprocessor";
23static constexpr const char* otherClass = "Other";
Jason M. Billsd1e40602019-05-09 11:43:51 -070024
25static boost::container::flat_map<int, std::string> pciDeviceClasses{
26 {0x00, "UnclassifiedDevice"},
27 {0x01, "MassStorageController"},
28 {0x02, "NetworkController"},
29 {0x03, "DisplayController"},
30 {0x04, "MultimediaController"},
31 {0x05, "MemoryController"},
32 {0x06, "Bridge"},
33 {0x07, "CommunicationController"},
34 {0x08, "GenericSystemPeripheral"},
35 {0x09, "InputDeviceController"},
36 {0x0a, "DockingStation"},
37 {0x0b, "Processor"},
38 {0x0c, "SerialBusController"},
39 {0x0d, "WirelessController"},
40 {0x0e, "IntelligentController"},
41 {0x0f, "SatelliteCommunicationsController"},
42 {0x10, "EncryptionController"},
43 {0x11, "SignalProcessingController"},
44 {0x12, "ProcessingAccelerators"},
45 {0x13, "NonEssentialInstrumentation"},
46 {0xff, "UnassignedClass"},
47};