Chameleon

Chameleon Svn Source Tree

Root/branches/meklort/i386/modules/GraphicsEnabler/GraphicsEnabler.c

Source at commit 559 created 13 years 6 months ago.
By meklort, Added GMA enabler to Graphics Enabler module.
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 "pci.h"
10#include "bootstruct.h"
11#include "nvidia.h"
12#include "ati.h"
13#include "gma.h"
14#include "modules.h"
15
16
17#define kGraphicsEnabler"GraphicsEnabler"
18
19
20void GraphicsEnabler_hook(pci_dt_t* current, void* arg2, void* arg3, void* arg4);
21
22void GraphicsEnabler_start()
23{
24register_hook_callback("PCIDevice", &GraphicsEnabler_hook);
25}
26
27
28void GraphicsEnabler_hook(pci_dt_t* current, void* arg2, void* arg3, void* arg4)
29{
30if(current && current->class_id == PCI_CLASS_DISPLAY_VGA)
31{
32char *devicepath = get_pci_dev_path(current);
33
34bool do_gfx_devprop = true;
35getBoolForKey(kGraphicsEnabler, &do_gfx_devprop, &bootInfo->bootConfig);
36
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:
49setup_gma_devprop(current);
50break;
51
52case PCI_VENDOR_ID_NVIDIA:
53setup_nvidia_devprop(current);
54break;
55}
56}
57
58}
59}
60

Archive Download this file

Revision: 559