MSIX
----
A tool to disable MSI-X for 82599, 82575EB, and 82574L
Copyright (C) 2010 Intel Corporation

Usage
-----
msixW32 [-v] [-?]

The -v flag puts the tool into a "verbose" mode.

What it does
------------
This tool iterates through the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\PCI hive of the registry, hunting for 82599, 82575EB, and 82574L.

This utility will also work with the following subdevice IDs for 82599:
0x10B6, 0x10C6, 0x10C7, 0x10C8, 0x10DB, 0x10DC, 0x10DD, 0x10E1, 0x10EC, 0x10F1, 0x10F4, 0x1508, 0x150B

This utility will also work with the following subdevice IDs for 82574L:
0x10D3, 0x10D4, 0x10F6

This utility will also work with the following subdevice IDs for 82575EBL:
0x10D6, 0x10A7, 0x10A9, 0x10E2

When it finds a match, it looks at under each "magic number" subkey for this path: Device Parameters\Interrupt Management\MessageSignaledInterruptProperties.  In this key, it sets the DWORD values MessageNumberLimit and MSISupported to "1".  This effectively disables MSI-X for these devices.  If any changes are made to the registry, the tool advises the user that a reboot is required.

This tool requires administrator privileges.

What it doesn't do
------------------
-- Prompt the user for confirmation or permission
-- Provide an "undo" option.
-- Save the original state of the registry settings (although it does display them).

