Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/sys/arch/powerpc/oea/ofw_autoconf.c,v rcsdiff: /ftp/cvs/cvsroot/src/sys/arch/powerpc/oea/ofw_autoconf.c,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.2.8.3 retrieving revision 1.2.8.4 diff -u -p -r1.2.8.3 -r1.2.8.4 --- src/sys/arch/powerpc/oea/ofw_autoconf.c 2007/12/08 18:17:39 1.2.8.3 +++ src/sys/arch/powerpc/oea/ofw_autoconf.c 2007/12/27 00:43:15 1.2.8.4 @@ -1,4 +1,4 @@ -/* $NetBSD: ofw_autoconf.c,v 1.2.8.3 2007/12/08 18:17:39 mjf Exp $ */ +/* $NetBSD: ofw_autoconf.c,v 1.2.8.4 2007/12/27 00:43:15 mjf Exp $ */ /* * Copyright (C) 1995, 1996 Wolfgang Solfrank. * Copyright (C) 1995, 1996 TooLs GmbH. @@ -31,7 +31,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ofw_autoconf.c,v 1.2.8.3 2007/12/08 18:17:39 mjf Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ofw_autoconf.c,v 1.2.8.4 2007/12/27 00:43:15 mjf Exp $"); #include #include @@ -214,18 +214,29 @@ device_register(dev, aux) return; if (device_is_a(device_parent(dev), "pci")) { - /* see if this is going to be console */ struct pci_attach_args *pa = aux; prop_dictionary_t dict; + prop_bool_t b; int node; char name[32]; dict = device_properties(dev); node = pcidev_to_ofdev(pa->pa_pc, pa->pa_tag); + /* enable configuration of irq 14/15 for VIA native IDE */ + if (device_is_a(dev, "viaide") && + strncmp(model_name, "Pegasos", 7) == 0) { + b = prop_bool_create(true); + KASSERT(b != NULL); + (void)prop_dictionary_set(dict, + "use-compat-native-irq", b); + prop_object_release(b); + } + if (node != 0) { prop_dictionary_set_uint32(dict, "device_node", node); + /* see if this is going to be console */ memset(name, 0, sizeof(name)); OF_getprop(node, "device_type", name, sizeof(name)); if (strcmp(name, "display") == 0) {