Fix PPC nographic mode

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@481 f158a5a8-5612-0410-a976-696ce0be7e32
This commit is contained in:
Blue Swirl
2009-03-22 16:49:34 +00:00
parent 4ac211438c
commit e44d994605

View File

@@ -36,7 +36,8 @@
/* DECLARE data structures for the nodes. */
DECLARE_UNNAMED_NODE( ob_pci_node, INSTALL_OPEN, 2*sizeof(int) );
DECLARE_UNNAMED_NODE( ob_pci_bus_node, INSTALL_OPEN, 2*sizeof(int) );
DECLARE_UNNAMED_NODE( ob_pci_simple_node, INSTALL_OPEN, 2*sizeof(int) );
const pci_arch_t *arch;
@@ -156,7 +157,7 @@ ob_pci_encode_unit(int *idx)
push_str(buf);
}
NODE_METHODS(ob_pci_node) = {
NODE_METHODS(ob_pci_bus_node) = {
{ NULL, ob_pci_initialize },
{ "open", ob_pci_open },
{ "close", ob_pci_close },
@@ -164,6 +165,12 @@ NODE_METHODS(ob_pci_node) = {
{ "encode-unit", ob_pci_encode_unit },
};
NODE_METHODS(ob_pci_simple_node) = {
{ NULL, ob_pci_initialize },
{ "open", ob_pci_open },
{ "close", ob_pci_close },
};
static void pci_set_bus_range(const pci_config_t *config)
{
phandle_t dev = get_cur_dev();
@@ -737,7 +744,12 @@ static void ob_scan_pci_bus(int bus, unsigned long *mem_base,
#endif
config.dev = addr & 0x00FFFFFF;
REGISTER_NAMED_NODE(ob_pci_node, config.path);
if (class == PCI_BASE_CLASS_BRIDGE &&
(subclass == PCI_SUBCLASS_BRIDGE_HOST ||
subclass == PCI_SUBCLASS_BRIDGE_PCI))
REGISTER_NAMED_NODE(ob_pci_bus_node, config.path);
else
REGISTER_NAMED_NODE(ob_pci_simple_node, config.path);
activate_device(config.path);