Add PCIe scan option to BMC Feature Control command

This adds an option to enable and disable the PCIe scan feature using
the MTM BMC Feature Control command.

Changes to request bytes for PCIe scan feature:
Byte 1 – Supported features
    01h - PCIe scan
Byte 2 – Enable/Disable feature
    00h – Stops the given feature
    01h – Starts the given feature
    02h – Disables the given feature
    03h – Enables the given feature
Byte 3:5 – reserved

Tested:
Verified PCIe scan feature can be enabled/disabled as expected in MTM mode

Disable PCIe scan:
ipmitool raw 0x30 0xa4 1 2 0 0 0

Enable PCIe scan:
ipmitool raw 0x30 0xa4 1 3 0 0 0

Change-Id: I90be0b10469542bba80d3b29ff0c727b8a817dfe
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
diff --git a/include/manufacturingcommands.hpp b/include/manufacturingcommands.hpp
index 03ef9a9..82039f5 100644
--- a/include/manufacturingcommands.hpp
+++ b/include/manufacturingcommands.hpp
@@ -152,6 +152,7 @@
 enum SupportedFeatureControls : uint8_t
 {
     mctp = 0,
+    pcieScan,
 };
 
 enum SupportedFeatureActions : uint8_t
diff --git a/src/manufacturingcommands.cpp b/src/manufacturingcommands.cpp
index d502d6a..9f677b1 100644
--- a/src/manufacturingcommands.cpp
+++ b/src/manufacturingcommands.cpp
@@ -1165,6 +1165,13 @@
                     return ipmi::responseInvalidFieldRequest();
             }
             break;
+        case ipmi::SupportedFeatureControls::pcieScan:
+            if (featureArg != 0)
+            {
+                return ipmi::responseInvalidFieldRequest();
+            }
+            startOrStopService(ctx, enable, "xyz.openbmc_project.PCIe.service");
+            break;
         default:
             return ipmi::responseInvalidFieldRequest();
     }