Chameleon

Chameleon Svn Source Tree

Root/tags/2.0/i386/libsaio/pci_setup.c

Source at commit 1793 created 12 years 5 months ago.
By blackosx, Attempt to overcome issue 211 by revising the code to remove all package .svn files before function makeSubstitutions() is called. The line it replaces should work but I can't figure out why it doesn't...
1#include "libsaio.h"
2#include "boot.h"
3#include "bootstruct.h"
4#include "pci.h"
5#include "gma.h"
6#include "nvidia.h"
7#include "modules.h"
8
9
10extern bool setup_ati_devprop(pci_dt_t *ati_dev);
11extern void set_eth_builtin(pci_dt_t *eth_dev);
12extern void notify_usb_dev(pci_dt_t *pci_dev);
13extern void force_enable_hpet(pci_dt_t *lpc_dev);
14
15extern pci_dt_t *dram_controller_dev;
16
17void setup_pci_devs(pci_dt_t *pci_dt)
18{
19char *devicepath;
20bool do_eth_devprop, do_gfx_devprop, do_enable_hpet;
21pci_dt_t *current = pci_dt;
22
23do_eth_devprop = do_gfx_devprop = do_enable_hpet = false;
24
25getBoolForKey(kEthernetBuiltIn, &do_eth_devprop, &bootInfo->chameleonConfig);
26getBoolForKey(kGraphicsEnabler, &do_gfx_devprop, &bootInfo->chameleonConfig);
27getBoolForKey(kForceHPET, &do_enable_hpet, &bootInfo->chameleonConfig);
28
29while (current)
30{
31devicepath = get_pci_dev_path(current);
32
33switch (current->class_id)
34{
35case PCI_CLASS_BRIDGE_HOST:
36if (current->dev.addr == PCIADDR(0, 0, 0))
37dram_controller_dev = current;
38break;
39
40case PCI_CLASS_NETWORK_ETHERNET:
41if (do_eth_devprop)
42set_eth_builtin(current);
43break;
44
45case PCI_CLASS_DISPLAY_VGA:
46if (do_gfx_devprop)
47switch (current->vendor_id)
48{
49case PCI_VENDOR_ID_ATI:
50setup_ati_devprop(current);
51break;
52
53case PCI_VENDOR_ID_INTEL:
54setup_gma_devprop(current);
55break;
56
57case PCI_VENDOR_ID_NVIDIA:
58setup_nvidia_devprop(current);
59break;
60}
61break;
62
63case PCI_CLASS_SERIAL_USB:
64notify_usb_dev(current);
65break;
66
67case PCI_CLASS_BRIDGE_ISA:
68if (do_enable_hpet)
69force_enable_hpet(current);
70break;
71}
72
73execute_hook("PCIDevice", current, NULL, NULL, NULL);
74
75setup_pci_devs(current->children);
76current = current->next;
77}
78}
79

Archive Download this file

Revision: 1793