blob: 6a6895c2df92bb3c1adfdf8c5e5779c9786b0b88 [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
20static constexpr char const* coprocessorSubClass = "Coprocessor";
21static constexpr char const* otherClass = "Other";
22
23static boost::container::flat_map<int, std::string> pciDeviceClasses{
24 {0x00, "UnclassifiedDevice"},
25 {0x01, "MassStorageController"},
26 {0x02, "NetworkController"},
27 {0x03, "DisplayController"},
28 {0x04, "MultimediaController"},
29 {0x05, "MemoryController"},
30 {0x06, "Bridge"},
31 {0x07, "CommunicationController"},
32 {0x08, "GenericSystemPeripheral"},
33 {0x09, "InputDeviceController"},
34 {0x0a, "DockingStation"},
35 {0x0b, "Processor"},
36 {0x0c, "SerialBusController"},
37 {0x0d, "WirelessController"},
38 {0x0e, "IntelligentController"},
39 {0x0f, "SatelliteCommunicationsController"},
40 {0x10, "EncryptionController"},
41 {0x11, "SignalProcessingController"},
42 {0x12, "ProcessingAccelerators"},
43 {0x13, "NonEssentialInstrumentation"},
44 {0xff, "UnassignedClass"},
45};