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/cats/cats/autoconf.c,v retrieving revision 1.9 retrieving revision 1.9.2.3 diff -u -p -r1.9 -r1.9.2.3 --- src/sys/arch/cats/cats/autoconf.c 2005/06/03 23:42:50 1.9 +++ src/sys/arch/cats/cats/autoconf.c 2008/01/21 09:35:58 1.9.2.3 @@ -1,4 +1,4 @@ -/* $NetBSD: autoconf.c,v 1.9 2005/06/03 23:42:50 chris Exp $ */ +/* $NetBSD: autoconf.c,v 1.9.2.3 2008/01/21 09:35:58 yamt Exp $ */ /* * Copyright (c) 1994-1998 Mark Brinicombe. @@ -41,7 +41,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.9 2005/06/03 23:42:50 chris Exp $"); +__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.9.2.3 2008/01/21 09:35:58 yamt Exp $"); #include "opt_md.h" @@ -55,6 +55,7 @@ __KERNEL_RCSID(0, "$NetBSD: autoconf.c,v #include #include #include +#include #include "isa.h" @@ -138,7 +139,6 @@ extern int footbridge_imask[NIPL]; void cpu_configure(void) { - softintr_init(); /* * Since various PCI interrupts could be routed via the ICU * (for PCI devices in the bridge) we need to set up the ICU @@ -150,15 +150,15 @@ cpu_configure(void) config_rootfound("mainbus", NULL); +#if defined(DEBUG) /* Debugging information */ -#ifndef TERSE printf("ipl_bio=%08x ipl_net=%08x ipl_tty=%08x ipl_vm=%08x\n", footbridge_imask[IPL_BIO], footbridge_imask[IPL_NET], footbridge_imask[IPL_TTY], footbridge_imask[IPL_VM]); printf("ipl_audio=%08x ipl_imp=%08x ipl_high=%08x ipl_serial=%08x\n", footbridge_imask[IPL_AUDIO], footbridge_imask[IPL_CLOCK], footbridge_imask[IPL_HIGH], footbridge_imask[IPL_SERIAL]); -#endif +#endif /* defined(DEBUG) */ /* Time to start taking interrupts so lets open the flood gates .... */ (void)spl0(); @@ -167,5 +167,24 @@ cpu_configure(void) void device_register(struct device *dev, void *aux) { + struct device *pdev; + if ((pdev = device_parent(dev)) != NULL && + device_is_a(pdev, "pci")) { + /* + * cats builtin aceride is on 0:16:0 + */ + struct pci_attach_args *pa = aux; + if (((pa)->pa_bus == 0 + && (pa)->pa_device == 16 + && (pa)->pa_function == 0)) { + if (prop_dictionary_set_bool(device_properties(dev), + "ali1543-ide-force-compat-mode", + true) == false) { + printf("WARNING: unable to set " + "ali1543-ide-force-compat-mode " + "property for %s\n", dev->dv_xname); + } + } + } } /* End of autoconf.c */