Chameleon

Chameleon Svn Source Tree

Root/branches/azimutz/Cleancut/i386/modules/ATiGraphicsEnabler/ATiGraphicsEnabler.c

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 "../modules/ATiGraphicsEnabler/pci_old.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//Azi: check "fail" code...
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("Not a ATI VGA Controller.\n"); // ---
46}
47

Archive Download this file

Revision: 868