Chameleon Applications

Chameleon Applications Svn Source Tree

Root/branches/iFabio/Chameleon/i386/modules/ATiGraphicsEnabler/ATiGraphicsEnabler.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 "legacy ??" 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 "ati.h"
12#include "modules.h"
13
14
15#define kGraphicsEnablerKey"GraphicsEnabler" // change?
16
17void GraphicsEnabler_hook(void* arg1, void* arg2, void* arg3, void* arg4);
18
19
20void ATiGraphicsEnabler_start()
21{
22register_hook_callback("PCIDevice", &GraphicsEnabler_hook);
23}
24
25
26void GraphicsEnabler_hook(void* arg1, void* arg2, void* arg3, void* arg4)
27{
28pci_dt_t* current = arg1;
29
30if (current->class_id != PCI_CLASS_DISPLAY_VGA) return;
31
32char *devicepath = get_pci_dev_path(current);
33
34bool do_gfx_devprop = true;
35getBoolForKey(kGraphicsEnablerKey, &do_gfx_devprop, &bootInfo->bootConfig);
36
37// AMD ?? i don't find any vga 1022 vendor!.. thou ATI isn't used anymore!
38if (do_gfx_devprop && (current->vendor_id == PCI_VENDOR_ID_ATI))
39{
40verbose("ATI VGA Controller [%04x:%04x] :: %s \n",
41current->vendor_id, current->device_id, devicepath);
42setup_ati_devprop(current);
43}
44else
45verbose("[%04x:%04x] :: %s, is not a AMD/ATI VGA Controller.\n",// amd ??
46current->vendor_id, current->device_id, devicepath);
47}
48

Archive Download this file

Revision: 307