Chameleon Applications

Chameleon Applications Svn Source Tree

Root/branches/iFabio/Chameleon/i386/modules/NVIDIAGraphicsEnabler/NVIDIAGraphicsEnabler.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 * GraphicsEnabler Module
3 *Enabled many nvidia and ati cards to be used out of the box in
4 *OS X. This was converted from boot2 code to a boot2 module.
5 *
6 */
7
8#include "saio_internal.h"
9#include "bootstruct.h"
10#include "pci.h"
11#include "nvidia.h"
12#include "modules.h"
13
14
15#define kGraphicsEnablerKey"GraphicsEnabler"
16
17void GraphicsEnabler_hook(void* arg1, void* arg2, void* arg3, void* arg4);
18
19
20void NVIDIAGraphicsEnabler_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
37if (do_gfx_devprop && (current->vendor_id == PCI_VENDOR_ID_NVIDIA))
38{
39verbose("NVIDIA VGA Controller [%04x:%04x] :: %s \n",
40current->vendor_id, current->device_id, devicepath);
41setup_nvidia_devprop(current);
42}
43else
44verbose("[%04x:%04x] :: %s, is not a NVIDIA VGA Controller.\n",
45current->vendor_id, current->device_id, devicepath);
46}
47

Archive Download this file

Revision: 307