Chameleon Applications

Chameleon Applications Svn Source Tree

Root/branches/iFabio/Chameleon/i386/modules/AMDGraphicsEnabler/AMDGraphicsEnabler.c

Source at commit 307 created 12 years 11 months ago.
By ifabio, merge changes from trunk (929). Also merge the module changes from Azimutz branche (fix compile error) Also edited the info.plist into AHCIPortInjector.kext: http://forum.voodooprojects.org/index.php/topic,1170.0.html
1/*
2 * ATIGraphicsEnabler Module ---
3 * Enables many ati "HD ??" cards to be used out of the box in OS X.
4 * This was converted from ( > r784) boot2 code to a boot2 module.
5 *
6 */
7
8#include "saio_internal.h"
9#include "bootstruct.h"
10#include "pci.h"
11#include "modules.h"
12
13
14#define kGraphicsEnablerKey"GraphicsEnabler"
15
16extern bool setup_ati_devprop(pci_dt_t *ati_dev);
17
18void GraphicsEnabler_hook(void* arg1, void* arg2, void* arg3, void* arg4);
19
20
21void AMDGraphicsEnabler_start()
22{
23register_hook_callback("PCIDevice", &GraphicsEnabler_hook);
24}
25
26
27void GraphicsEnabler_hook(void* arg1, void* arg2, void* arg3, void* arg4)
28{
29pci_dt_t* current = arg1;
30
31if (current->class_id != PCI_CLASS_DISPLAY_VGA) return;
32
33char *devicepath = get_pci_dev_path(current);
34
35bool do_gfx_devprop = true;
36getBoolForKey(kGraphicsEnablerKey, &do_gfx_devprop, &bootInfo->bootConfig);
37
38// AMD ?? i don't find any vga 1022 vendor!.. thou ATI isn't used anymore!
39if (do_gfx_devprop && (current->vendor_id == PCI_VENDOR_ID_ATI))
40{
41verbose("ATI VGA Controller [%04x:%04x] :: %s \n",
42current->vendor_id, current->device_id, devicepath);
43setup_ati_devprop(current);
44}
45else
46verbose("[%04x:%04x] :: %s, is not a AMD/ATI VGA Controller.\n",// amd ??
47current->vendor_id, current->device_id, devicepath);
48}
49

Archive Download this file

Revision: 307