Many of Method(_DSM) in DSDT is to fake/inject the vendor-id, device-id, subsystem-vendor-id, subsystem-id in the device tree.
Instead of making up _DSM and patching up DSDT, I want to have a PCI ID --> vendor/device id mapping done in Chameleon.
Example:
Chameleon reads "/Extra/pci.plist" and populate the vendor-id, etc based on it. In pci.plist, it goes like
<dict>
<key>pci8086,2a34</key> <string>0000 3a34 0000 0000</string>
<key>pci8086,2a35</key> <string>0000 3a35 0000 0000</string>
<key>pci8086,2a36</key> <string>0000 3a36 0000 0000</string>
</dict>
0000 means "use the original ID".
So, for this example, "if you find the PCI device 8086 2a34, define the device ID as 3a34.
(This is a common case of ICH8/9 to pretend ICH10 USB.)
With this, many of devices which requires particular device ID for kexts to match, you no longer need to have DSDT patched for each and every motherboard. Instead, if you find a PCI device, you'll have the device-id (and probably subsystem-id) properly faked and injected.
Note that, this needs to work in conjunction with "Graphics Enabler", and other EFI injection.
Expected benefit:
Sharing pci.plist among InsanelyMac community is far easier than sharing DSDT.dsl or teaching people how to patch DSDT.
For my GA-EP35-DS4's DSDT, I no longer need 8 out of 10 _DSM methods in DSDT.dsl.