overdue-scratch

Author Topic: vendor-id, device-id, subsystem-vendor-id, subsystem-id from PCI ID  (Read 4885 times)

0 Members and 1 Guest are viewing this topic.

tennisgeek

  • Observer
  • Posts: 15
  • If ur age < 30, I'm programing longer than ur life
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.

konsti

  • Member
  • Posts: 32
Re: vendor-id, device-id, subsystem-vendor-id, subsystem-id from PCI ID
« Reply #1 on: July 22, 2010, 01:42:12 PM »
Hey tennisgeek, is this for real? I haven't seen this posted elsewhere... is this a future implementation or a hidden easter egg? I currently use AsereBLN bootloader and never read about this for Chameleon... Thanks

Terc

  • Forum Moderator
  • Posts: 129
Re: vendor-id, device-id, subsystem-vendor-id, subsystem-id from PCI ID
« Reply #2 on: July 22, 2010, 07:13:42 PM »
konsti,
It's not for real, it's a request (if I read that correctly)

"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."



I'm not sure about the feasibility of this, but it sure sounds great.