Chameleon

Chameleon Svn Source Tree

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

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 "libsaio.h"
9#include "bootstruct.h"
10#include "boot.h"
11#include "pci.h"
12#include "nvidia.h"
13#include "ati.h"
14#include "gma.h"
15#include "modules.h"
16
17
18
19void GraphicsEnabler_hook(void* arg1, void* arg2, void* arg3, void* arg4);
20
21void GraphicsEnablerLegacy_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 = false;
36getBoolForKey(kGraphicsEnabler, &do_gfx_devprop, &bootInfo->bootConfig);
37
38if (do_gfx_devprop)
39{
40switch (current->vendor_id)
41{
42case PCI_VENDOR_ID_ATI:
43verbose("ATI VGA Controller [%04x:%04x] :: %s \n",
44current->vendor_id, current->device_id, devicepath);
45setup_ati_devprop(current);
46break;
47
48case PCI_VENDOR_ID_INTEL: // AutoResolution
49verbose("Intel Graphics Controller [%04x:%04x] :: %s \n",
50current->vendor_id, current->device_id, devicepath);
51setup_gma_devprop(current);
52break;
53//message to be removed once support for these cards is added
54//verbose("Intel VGA Controller [%04x:%04x] :: %s (currently NOT SUPPORTED)\n",
55//current->vendor_id, current->device_id, devicepath);
56//break;
57
58case PCI_VENDOR_ID_NVIDIA:
59setup_nvidia_devprop(current);
60break;
61}
62}
63}
64

Archive Download this file

Revision: 813