Jump to content

Implementing Name _CID using “PCI\VEN_vvvv&DEV_dddd” format.


Kuebeker
 Share

8 posts in this topic

Recommended Posts

Has anybody ever done this? 

 

I'm trying to get a driver to load, but no mater what I do Mac always gets the official device PCI Vendor ID and Device ID.

 

From ACPI 4.0 manual

6.1.2 _CID (Compatible ID)

This optional object is used to supply OSPM with a device’s Plug and Play-Compatible Device ID. Use _CID objects when a device has no other defined hardware standard method to report its compatible IDs.

Arguments: None

Return Value:
An
Integer or String containing a single CID or a Package containing a list of CIDs

A _CID object evaluates to either:

  •   A single Compatible Device ID

  •   A package of Compatible Device IDs for the device — in the order of preference, highest preference first.

    Each Compatible Device ID must be either:

  •   A valid HID value (a 32-bit compressed EISA type ID or a string such as “ACPI0004”).

  •   A string that uses a bus-specific nomenclature. For example, _CID can be used to specify the PCI ID. The format of a PCI ID string is one of the following:

    “PCI\CC_ccss”
    “PCI\CC_ccsspp” “PCI\VEN_vvvv&DEV_dddd&SUBSYS_ssssssss&REV_rr” “PCI\VEN_vvvv&DEV_dddd&SUBSYS_ssssssss” “PCI\VEN_vvvv&DEV_dddd&REV_rr” “PCI\VEN_vvvv&DEV_dddd”

    Where:

cc – hexadecimal representation of the Class Code byte
ss – hexadecimal representation of the Subclass Code byte
pp – hexadecimal representation of the Programming Interface byte vvvv – hexadecimal representation of the Vendor ID
dddd – hexadecimal representation of the Device ID
ssssssss – hexadecimal representation of the Subsystem ID
rr – hexadecimal representation of the Revision byte

A compatible ID retrieved from a _CID object is only meaningful if it is a non-NULL value. Example ASL:

    Device (XYZ) {        Name (_HID, EISAID ("PNP0303"))        Name (_CID, EISAID ("PNP030B")) 

 

Link to comment
Share on other sites

Has anybody ever done this? 

 

I'm trying to get a driver to load, but no mater what I do Mac always gets the official device PCI Vendor ID and Device ID.

 

From ACPI 4.0 manual

6.1.2 _CID (Compatible ID)

This optional object is used to supply OSPM with a device’s Plug and Play-Compatible Device ID. Use _CID objects when a device has no other defined hardware standard method to report its compatible IDs.

Arguments: None

Return Value:

An Integer or String containing a single CID or a Package containing a list of CIDs

A _CID object evaluates to either:

  •   A single Compatible Device ID

  •   A package of Compatible Device IDs for the device — in the order of preference, highest preference first.

    Each Compatible Device ID must be either:

  •   A valid HID value (a 32-bit compressed EISA type ID or a string such as “ACPI0004”).

  •   A string that uses a bus-specific nomenclature. For example, _CID can be used to specify the PCI ID. The format of a PCI ID string is one of the following:

    “PCI\CC_ccss”

    “PCI\CC_ccsspp” “PCI\VEN_vvvv&DEV_dddd&SUBSYS_ssssssss&REV_rr” “PCI\VEN_vvvv&DEV_dddd&SUBSYS_ssssssss” “PCI\VEN_vvvv&DEV_dddd&REV_rr” “PCI\VEN_vvvv&DEV_dddd”

    Where:

cc – hexadecimal representation of the Class Code byte

ss – hexadecimal representation of the Subclass Code byte

pp – hexadecimal representation of the Programming Interface byte vvvv – hexadecimal representation of the Vendor ID

dddd – hexadecimal representation of the Device ID

ssssssss – hexadecimal representation of the Subsystem ID

rr – hexadecimal representation of the Revision byte

A compatible ID retrieved from a _CID object is only meaningful if it is a non-NULL value. Example ASL:

    Device (XYZ) {        Name (_HID, EISAID ("PNP0303"))        Name (_CID, EISAID ("PNP030B")) 

What driver are you trying to make load?

Link to comment
Share on other sites

My drives work fine. I have 2 drives in my laptop and a 3'd on the way. With 3 hard drives always spinning the battery will not last long.  So I would like to make 2 of the sata ports ejectable.  


A yes! I'll give that a try tomorrow. 

 

Frack me! There is way more to ACPI then meets the eye. 

 

_HPP (Hot Plug Parameters) 

 

_EJx : _EJx (Eject) 

 

Maybe I'll also find a way to get those USB devices ejected before  sleep  :)

Link to comment
Share on other sites

Tried and it does not work. 

 

I've read other posts that have tried _HPP and _EJx and none have reported success.

 

So much hope and little success :(

 

I'v put ACPIDebug output in all _HPP and _EJ0 methods and not one is being called.

 

_HPP and _EJ0 is just snake oil. It does not work with Mac OSPM!

Link to comment
Share on other sites

  • 4 weeks later...
 Share

×
×
  • Create New...