Date: Sat, 7 Apr 2007 17:27:14 GMT From: Matt Jacob <mjacob@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 117599 for review Message-ID: <200704071727.l37HREJx090214@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=117599 Change 117599 by mjacob@mjexp_6 on 2007/04/07 17:27:04 Integrate from vendor branch. Affected files ... .. //depot/projects/mjexp_6/sys/amd64/amd64/io_apic.c#2 integrate .. //depot/projects/mjexp_6/sys/amd64/amd64/local_apic.c#2 integrate .. //depot/projects/mjexp_6/sys/amd64/amd64/mptable_pci.c#3 integrate .. //depot/projects/mjexp_6/sys/amd64/amd64/msi.c#1 branch .. //depot/projects/mjexp_6/sys/amd64/amd64/nexus.c#2 integrate .. //depot/projects/mjexp_6/sys/amd64/conf/GENERIC#2 integrate .. //depot/projects/mjexp_6/sys/amd64/include/apicvar.h#2 integrate .. //depot/projects/mjexp_6/sys/amd64/include/intr_machdep.h#2 integrate .. //depot/projects/mjexp_6/sys/amd64/pci/pci_bus.c#3 integrate .. //depot/projects/mjexp_6/sys/arm/arm/identcpu.c#2 integrate .. //depot/projects/mjexp_6/sys/arm/xscale/i80321/i80321_wdog.c#3 integrate .. //depot/projects/mjexp_6/sys/arm/xscale/ixp425/ixp425_wdog.c#2 integrate .. //depot/projects/mjexp_6/sys/boot/forth/loader.conf#3 integrate .. //depot/projects/mjexp_6/sys/boot/pc98/cdboot/cdboot.s#2 integrate .. //depot/projects/mjexp_6/sys/cam/cam_xpt.c#4 integrate .. //depot/projects/mjexp_6/sys/cam/cam_xpt.h#3 integrate .. //depot/projects/mjexp_6/sys/conf/NOTES#5 integrate .. //depot/projects/mjexp_6/sys/conf/files#6 integrate .. //depot/projects/mjexp_6/sys/conf/files.amd64#2 integrate .. //depot/projects/mjexp_6/sys/conf/files.arm#4 integrate .. //depot/projects/mjexp_6/sys/conf/files.i386#2 integrate .. //depot/projects/mjexp_6/sys/conf/files.pc98#2 integrate .. //depot/projects/mjexp_6/sys/dev/acpica/Osd/OsdDebug.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/acpica/acpi_battery.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/acpica/acpi_dock.c#1 branch .. //depot/projects/mjexp_6/sys/dev/acpica/acpi_hpet.c#1 branch .. //depot/projects/mjexp_6/sys/dev/acpica/acpi_pcib_acpi.c#3 integrate .. //depot/projects/mjexp_6/sys/dev/acpica/acpi_pcib_pci.c#3 integrate .. //depot/projects/mjexp_6/sys/dev/acpica/acpi_thermal.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/arcmsr/arcmsr.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/arcmsr/arcmsr.h#2 integrate .. //depot/projects/mjexp_6/sys/dev/ata/ata-queue.c#3 integrate .. //depot/projects/mjexp_6/sys/dev/ata/atapi-cam.c#3 integrate .. //depot/projects/mjexp_6/sys/dev/ath/if_ath.c#4 integrate .. //depot/projects/mjexp_6/sys/dev/ath/if_athvar.h#3 integrate .. //depot/projects/mjexp_6/sys/dev/bce/if_bce.c#5 integrate .. //depot/projects/mjexp_6/sys/dev/bge/if_bge.c#4 integrate .. //depot/projects/mjexp_6/sys/dev/bge/if_bgereg.h#3 integrate .. //depot/projects/mjexp_6/sys/dev/cxgb/common/cxgb_ael1002.c#1 branch .. //depot/projects/mjexp_6/sys/dev/cxgb/common/cxgb_common.h#1 branch .. //depot/projects/mjexp_6/sys/dev/cxgb/common/cxgb_firmware_exports.h#1 branch .. //depot/projects/mjexp_6/sys/dev/cxgb/common/cxgb_mc5.c#1 branch .. //depot/projects/mjexp_6/sys/dev/cxgb/common/cxgb_mv88e1xxx.c#1 branch .. //depot/projects/mjexp_6/sys/dev/cxgb/common/cxgb_regs.h#1 branch .. //depot/projects/mjexp_6/sys/dev/cxgb/common/cxgb_sge_defs.h#1 branch .. //depot/projects/mjexp_6/sys/dev/cxgb/common/cxgb_t3_cpl.h#1 branch .. //depot/projects/mjexp_6/sys/dev/cxgb/common/cxgb_t3_hw.c#1 branch .. //depot/projects/mjexp_6/sys/dev/cxgb/common/cxgb_tcb.h#1 branch .. //depot/projects/mjexp_6/sys/dev/cxgb/common/cxgb_version.h#1 branch .. //depot/projects/mjexp_6/sys/dev/cxgb/common/cxgb_vsc8211.c#1 branch .. //depot/projects/mjexp_6/sys/dev/cxgb/common/cxgb_xgmac.c#1 branch .. //depot/projects/mjexp_6/sys/dev/cxgb/cxgb_adapter.h#1 branch .. //depot/projects/mjexp_6/sys/dev/cxgb/cxgb_config.h#1 branch .. //depot/projects/mjexp_6/sys/dev/cxgb/cxgb_ioctl.h#1 branch .. //depot/projects/mjexp_6/sys/dev/cxgb/cxgb_lro.c#1 branch .. //depot/projects/mjexp_6/sys/dev/cxgb/cxgb_main.c#1 branch .. //depot/projects/mjexp_6/sys/dev/cxgb/cxgb_osdep.h#1 branch .. //depot/projects/mjexp_6/sys/dev/cxgb/cxgb_sge.c#1 branch .. //depot/projects/mjexp_6/sys/dev/cxgb/t3fw-3.2.bin.gz.uu#1 branch .. //depot/projects/mjexp_6/sys/dev/firewire/firewire.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/firewire/fwohci.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/firewire/fwohci_pci.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/firewire/sbp.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/ichwd/ichwd.c#3 integrate .. //depot/projects/mjexp_6/sys/dev/ipw/if_ipw.c#3 integrate .. //depot/projects/mjexp_6/sys/dev/isp/isp.c#5 integrate .. //depot/projects/mjexp_6/sys/dev/isp/isp_freebsd.c#5 integrate .. //depot/projects/mjexp_6/sys/dev/isp/isp_freebsd.h#6 integrate .. //depot/projects/mjexp_6/sys/dev/isp/isp_ioctl.h#3 integrate .. //depot/projects/mjexp_6/sys/dev/isp/isp_library.c#3 integrate .. //depot/projects/mjexp_6/sys/dev/isp/isp_library.h#3 integrate .. //depot/projects/mjexp_6/sys/dev/isp/isp_pci.c#4 integrate .. //depot/projects/mjexp_6/sys/dev/isp/isp_sbus.c#3 integrate .. //depot/projects/mjexp_6/sys/dev/isp/isp_target.c#5 integrate .. //depot/projects/mjexp_6/sys/dev/isp/isp_target.h#4 integrate .. //depot/projects/mjexp_6/sys/dev/isp/isp_tpublic.h#4 integrate .. //depot/projects/mjexp_6/sys/dev/isp/ispmbox.h#3 integrate .. //depot/projects/mjexp_6/sys/dev/isp/ispreg.h#3 integrate .. //depot/projects/mjexp_6/sys/dev/isp/ispvar.h#4 integrate .. //depot/projects/mjexp_6/sys/dev/ispfw/asm_2300.h#2 integrate .. //depot/projects/mjexp_6/sys/dev/ispfw/ispfw.c#3 integrate .. //depot/projects/mjexp_6/sys/dev/iwi/if_iwi.c#5 integrate .. //depot/projects/mjexp_6/sys/dev/mii/brgphy.c#4 integrate .. //depot/projects/mjexp_6/sys/dev/mii/brgphyreg.h#2 integrate .. //depot/projects/mjexp_6/sys/dev/mii/e1000phy.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/mii/e1000phyreg.h#2 integrate .. //depot/projects/mjexp_6/sys/dev/mii/miidevs#3 integrate .. //depot/projects/mjexp_6/sys/dev/mk48txx/mk48txx.c#3 integrate .. //depot/projects/mjexp_6/sys/dev/mpt/mpt.c#4 integrate .. //depot/projects/mjexp_6/sys/dev/mpt/mpt.h#4 integrate .. //depot/projects/mjexp_6/sys/dev/mpt/mpt_cam.c#4 integrate .. //depot/projects/mjexp_6/sys/dev/mpt/mpt_cam.h#3 integrate .. //depot/projects/mjexp_6/sys/dev/mpt/mpt_debug.c#3 integrate .. //depot/projects/mjexp_6/sys/dev/mpt/mpt_pci.c#3 integrate .. //depot/projects/mjexp_6/sys/dev/mpt/mpt_raid.c#3 integrate .. //depot/projects/mjexp_6/sys/dev/msk/if_msk.c#1 branch .. //depot/projects/mjexp_6/sys/dev/msk/if_mskreg.h#1 branch .. //depot/projects/mjexp_6/sys/dev/my/if_my.c#3 integrate .. //depot/projects/mjexp_6/sys/dev/pci/pci.c#4 integrate .. //depot/projects/mjexp_6/sys/dev/pci/pci_if.m#3 integrate .. //depot/projects/mjexp_6/sys/dev/pci/pci_pci.c#3 integrate .. //depot/projects/mjexp_6/sys/dev/pci/pci_private.h#4 integrate .. //depot/projects/mjexp_6/sys/dev/pci/pcib_if.m#2 integrate .. //depot/projects/mjexp_6/sys/dev/pci/pcib_private.h#4 integrate .. //depot/projects/mjexp_6/sys/dev/pci/pcireg.h#3 integrate .. //depot/projects/mjexp_6/sys/dev/pci/pcivar.h#4 integrate .. //depot/projects/mjexp_6/sys/dev/ppbus/lpt.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/ppbus/ppbconf.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/ppc/ppc.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/ppc/ppcvar.h#2 integrate .. //depot/projects/mjexp_6/sys/dev/ral/rt2560.c#3 integrate .. //depot/projects/mjexp_6/sys/dev/ral/rt2661.c#3 integrate .. //depot/projects/mjexp_6/sys/dev/sk/if_sk.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/sk/if_skreg.h#2 integrate .. //depot/projects/mjexp_6/sys/dev/sound/pci/atiixp.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/sound/pci/maestro3.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/usb/if_ural.c#3 integrate .. //depot/projects/mjexp_6/sys/gnu/fs/ext2fs/ext2_vfsops.c#3 integrate .. //depot/projects/mjexp_6/sys/i386/conf/GENERIC#2 integrate .. //depot/projects/mjexp_6/sys/i386/conf/NOTES#2 integrate .. //depot/projects/mjexp_6/sys/i386/i386/elan-mmcr.c#3 integrate .. //depot/projects/mjexp_6/sys/i386/i386/geode.c#2 integrate .. //depot/projects/mjexp_6/sys/i386/i386/io_apic.c#2 integrate .. //depot/projects/mjexp_6/sys/i386/i386/local_apic.c#2 integrate .. //depot/projects/mjexp_6/sys/i386/i386/mp_machdep.c#3 integrate .. //depot/projects/mjexp_6/sys/i386/i386/mptable_pci.c#3 integrate .. //depot/projects/mjexp_6/sys/i386/i386/msi.c#1 branch .. //depot/projects/mjexp_6/sys/i386/i386/nexus.c#2 integrate .. //depot/projects/mjexp_6/sys/i386/i386/pmap.c#2 integrate .. //depot/projects/mjexp_6/sys/i386/i386/vm_machdep.c#2 integrate .. //depot/projects/mjexp_6/sys/i386/include/apicvar.h#2 integrate .. //depot/projects/mjexp_6/sys/i386/include/intr_machdep.h#2 integrate .. //depot/projects/mjexp_6/sys/i386/pci/pci_bus.c#3 integrate .. //depot/projects/mjexp_6/sys/ia64/ia64/pmap.c#2 integrate .. //depot/projects/mjexp_6/sys/isofs/cd9660/cd9660_node.h#2 integrate .. //depot/projects/mjexp_6/sys/kern/kern_lock.c#2 integrate .. //depot/projects/mjexp_6/sys/kern/kern_prot.c#2 integrate .. //depot/projects/mjexp_6/sys/kern/uipc_socket.c#3 integrate .. //depot/projects/mjexp_6/sys/kern/uipc_socket2.c#2 integrate .. //depot/projects/mjexp_6/sys/kern/vfs_export.c#2 integrate .. //depot/projects/mjexp_6/sys/kern/vfs_syscalls.c#3 integrate .. //depot/projects/mjexp_6/sys/modules/Makefile#4 integrate .. //depot/projects/mjexp_6/sys/modules/acpi/Makefile#2 integrate .. //depot/projects/mjexp_6/sys/modules/acpi/acpi/Makefile#2 integrate .. //depot/projects/mjexp_6/sys/modules/acpi/acpi_dock/Makefile#1 branch .. //depot/projects/mjexp_6/sys/modules/cxgb/Makefile#1 branch .. //depot/projects/mjexp_6/sys/modules/msk/Makefile#1 branch .. //depot/projects/mjexp_6/sys/modules/my/Makefile#2 integrate .. //depot/projects/mjexp_6/sys/net/if.c#2 integrate .. //depot/projects/mjexp_6/sys/net/if_bridge.c#5 integrate .. //depot/projects/mjexp_6/sys/net/if_tap.c#4 integrate .. //depot/projects/mjexp_6/sys/net80211/_ieee80211.h#3 integrate .. //depot/projects/mjexp_6/sys/net80211/ieee80211.c#3 integrate .. //depot/projects/mjexp_6/sys/net80211/ieee80211_crypto.c#2 integrate .. //depot/projects/mjexp_6/sys/net80211/ieee80211_crypto.h#2 integrate .. //depot/projects/mjexp_6/sys/net80211/ieee80211_freebsd.c#2 integrate .. //depot/projects/mjexp_6/sys/net80211/ieee80211_freebsd.h#3 integrate .. //depot/projects/mjexp_6/sys/net80211/ieee80211_input.c#3 integrate .. //depot/projects/mjexp_6/sys/net80211/ieee80211_ioctl.c#2 integrate .. //depot/projects/mjexp_6/sys/net80211/ieee80211_node.c#3 integrate .. //depot/projects/mjexp_6/sys/net80211/ieee80211_node.h#2 integrate .. //depot/projects/mjexp_6/sys/net80211/ieee80211_output.c#3 integrate .. //depot/projects/mjexp_6/sys/net80211/ieee80211_proto.c#3 integrate .. //depot/projects/mjexp_6/sys/net80211/ieee80211_proto.h#2 integrate .. //depot/projects/mjexp_6/sys/net80211/ieee80211_radiotap.h#2 integrate .. //depot/projects/mjexp_6/sys/net80211/ieee80211_var.h#3 integrate .. //depot/projects/mjexp_6/sys/netgraph/bluetooth/l2cap/ng_l2cap_cmds.c#2 integrate .. //depot/projects/mjexp_6/sys/netgraph/ng_eiface.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet/if_ether.c#3 integrate .. //depot/projects/mjexp_6/sys/netinet/in.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet/ip_dummynet.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet/ip_fastfwd.c#3 integrate .. //depot/projects/mjexp_6/sys/netinet/ip_fw.h#2 integrate .. //depot/projects/mjexp_6/sys/netinet/ip_fw2.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet/ip_fw_pfil.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet/ip_input.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet/ip_output.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet/raw_ip.c#3 integrate .. //depot/projects/mjexp_6/sys/netinet/tcp_input.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet/tcp_output.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet/udp_usrreq.c#3 integrate .. //depot/projects/mjexp_6/sys/nfsclient/nfs_vfsops.c#3 integrate .. //depot/projects/mjexp_6/sys/nfsserver/nfs_srvsubs.c#3 integrate .. //depot/projects/mjexp_6/sys/pci/if_ste.c#2 integrate .. //depot/projects/mjexp_6/sys/pci/if_stereg.h#2 integrate .. //depot/projects/mjexp_6/sys/sparc64/include/pmap.h#2 integrate .. //depot/projects/mjexp_6/sys/sparc64/sparc64/pmap.c#2 integrate .. //depot/projects/mjexp_6/sys/sys/param.h#6 integrate .. //depot/projects/mjexp_6/sys/sys/socketvar.h#2 integrate .. //depot/projects/mjexp_6/sys/sys/ucred.h#2 integrate .. //depot/projects/mjexp_6/sys/ufs/ffs/ffs_alloc.c#3 integrate .. //depot/projects/mjexp_6/sys/ufs/ffs/ffs_softdep.c#2 integrate .. //depot/projects/mjexp_6/sys/ufs/ffs/ffs_vnops.c#2 integrate .. //depot/projects/mjexp_6/sys/ufs/ufs/ufs_vnops.c#3 integrate .. //depot/projects/mjexp_6/sys/vm/pmap.h#2 integrate .. //depot/projects/mjexp_6/sys/vm/vm_object.c#2 integrate Differences ... ==== //depot/projects/mjexp_6/sys/amd64/amd64/io_apic.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.15.2.7 2006/12/01 17:13:56 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.15.2.8 2007/03/12 19:50:29 jhb Exp $"); #include "opt_isa.h" @@ -36,11 +36,15 @@ #include <sys/systm.h> #include <sys/bus.h> #include <sys/kernel.h> +#include <sys/lock.h> #include <sys/malloc.h> -#include <sys/lock.h> +#include <sys/module.h> #include <sys/mutex.h> #include <sys/sysctl.h> +#include <dev/pci/pcireg.h> +#include <dev/pci/pcivar.h> + #include <vm/vm.h> #include <vm/pmap.h> @@ -723,3 +727,46 @@ if (pin->io_irq < NUM_IO_INTS) intr_register_source(&pin->io_intsrc); } + +/* A simple new-bus driver to consume PCI I/O APIC devices. */ +static int +ioapic_pci_probe(device_t dev) +{ + + if (pci_get_class(dev) == PCIC_BASEPERIPH && + pci_get_subclass(dev) == PCIS_BASEPERIPH_PIC) { + switch (pci_get_progif(dev)) { + case PCIP_BASEPERIPH_PIC_IO_APIC: + device_set_desc(dev, "IO APIC"); + break; + case PCIP_BASEPERIPH_PIC_IOX_APIC: + device_set_desc(dev, "IO(x) APIC"); + break; + default: + return (ENXIO); + } + device_quiet(dev); + return (-10000); + } + return (ENXIO); +} + +static int +ioapic_pci_attach(device_t dev) +{ + + return (0); +} + +static device_method_t ioapic_pci_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, ioapic_pci_probe), + DEVMETHOD(device_attach, ioapic_pci_attach), + + { 0, 0 } +}; + +DEFINE_CLASS_0(ioapic, ioapic_pci_driver, ioapic_pci_methods, 0); + +static devclass_t ioapic_devclass; +DRIVER_MODULE(ioapic, pci, ioapic_pci_driver, ioapic_devclass, 0, 0); ==== //depot/projects/mjexp_6/sys/amd64/amd64/local_apic.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.17.2.11 2006/11/29 01:19:23 sobomax Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.17.2.12 2007/03/31 15:23:19 jhb Exp $"); #include "opt_hwpmc_hooks.h" @@ -741,6 +741,65 @@ panic("Couldn't find an APIC vector for IRQ %u", irq); } +/* + * Request 'count' free contiguous IDT vectors to be used by 'count' + * IRQs. 'count' must be a power of two and the vectors will be + * aligned on a boundary of 'align'. If the request cannot be + * satisfied, 0 is returned. + */ +u_int +apic_alloc_vectors(u_int *irqs, u_int count, u_int align) +{ + u_int first, run, vector; + + KASSERT(powerof2(count), ("bad count")); + KASSERT(powerof2(align), ("bad align")); + KASSERT(align >= count, ("align < count")); +#ifdef INVARIANTS + for (run = 0; run < count; run++) + KASSERT(irqs[run] < NUM_IO_INTS, ("Invalid IRQ %u at index %u", + irqs[run], run)); +#endif + + /* + * Search for 'count' free vectors. As with apic_alloc_vector(), + * this just uses a simple first fit algorithm. + */ + run = 0; + first = 0; + mtx_lock_spin(&icu_lock); + for (vector = 0; vector < APIC_NUM_IOINTS; vector++) { + + /* Vector is in use, end run. */ + if (ioint_irqs[vector] != 0) { + run = 0; + first = 0; + continue; + } + + /* Start a new run if run == 0 and vector is aligned. */ + if (run == 0) { + if ((vector & (align - 1)) != 0) + continue; + first = vector; + } + run++; + + /* Keep looping if the run isn't long enough yet. */ + if (run < count) + continue; + + /* Found a run, assign IRQs and return the first vector. */ + for (vector = 0; vector < count; vector++) + ioint_irqs[first + vector] = irqs[vector]; + mtx_unlock_spin(&icu_lock); + return (first + APIC_IO_INTS); + } + mtx_unlock_spin(&icu_lock); + printf("APIC: Couldn't find APIC vectors for %u IRQs\n", count); + return (0); +} + void apic_enable_vector(u_int vector) { @@ -1001,6 +1060,9 @@ intr_register_pic(&lapic_pic); if (bootverbose) lapic_dump("BSP"); + + /* Enable the MSI "pic". */ + msi_init(); } SYSINIT(apic_setup_io, SI_SUB_INTR, SI_ORDER_SECOND, apic_setup_io, NULL) ==== //depot/projects/mjexp_6/sys/amd64/amd64/mptable_pci.c#3 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable_pci.c,v 1.2.8.2 2006/12/28 22:09:46 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable_pci.c,v 1.2.8.3 2007/03/31 15:23:19 jhb Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -72,6 +72,27 @@ return (bus_generic_attach(dev)); } +/* Pass MSI alloc requests up to the nexus. */ +static int +mptable_hostb_alloc_msi(device_t pcib, device_t dev, int count, int maxcount, + int *irqs) +{ + device_t bus; + + bus = device_get_parent(pcib); + return (PCIB_ALLOC_MSI(device_get_parent(bus), dev, count, maxcount, + irqs)); +} + +static int +mptable_hostb_alloc_msix(device_t pcib, device_t dev, int index, int *irq) +{ + device_t bus; + + bus = device_get_parent(pcib); + return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, index, irq)); +} + static device_method_t mptable_hostb_methods[] = { /* Device interface */ DEVMETHOD(device_probe, mptable_hostb_probe), @@ -96,6 +117,11 @@ DEVMETHOD(pcib_read_config, legacy_pcib_read_config), DEVMETHOD(pcib_write_config, legacy_pcib_write_config), DEVMETHOD(pcib_route_interrupt, mptable_pci_route_interrupt), + DEVMETHOD(pcib_alloc_msi, mptable_hostb_alloc_msi), + DEVMETHOD(pcib_release_msi, pcib_release_msi), + DEVMETHOD(pcib_alloc_msix, mptable_hostb_alloc_msix), + DEVMETHOD(pcib_remap_msix, pcib_remap_msix), + DEVMETHOD(pcib_release_msix, pcib_release_msix), { 0, 0 } }; @@ -148,6 +174,11 @@ DEVMETHOD(pcib_read_config, pcib_read_config), DEVMETHOD(pcib_write_config, pcib_write_config), DEVMETHOD(pcib_route_interrupt, mptable_pci_route_interrupt), + DEVMETHOD(pcib_alloc_msi, pcib_alloc_msi), + DEVMETHOD(pcib_release_msi, pcib_release_msi), + DEVMETHOD(pcib_alloc_msix, pcib_alloc_msix), + DEVMETHOD(pcib_remap_msix, pcib_remap_msix), + DEVMETHOD(pcib_release_msix, pcib_release_msix), {0, 0} }; @@ -157,4 +188,3 @@ DEFINE_CLASS_0(pcib, mptable_pcib_driver, mptable_pcib_pci_methods, sizeof(struct pcib_softc)); DRIVER_MODULE(mptable_pcib, pci, mptable_pcib_driver, pcib_devclass, 0, 0); - ==== //depot/projects/mjexp_6/sys/amd64/amd64/nexus.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.66.2.1 2006/09/22 19:04:51 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.66.2.2 2007/03/31 15:23:19 jhb Exp $"); /* * This code implements a `root nexus' for Intel Architecture @@ -62,6 +62,8 @@ #include <machine/resource.h> +#include "pcib_if.h" + #ifdef DEV_ISA #include <isa/isavar.h> #include <amd64/isa/isa.h> @@ -101,6 +103,11 @@ static int nexus_set_resource(device_t, device_t, int, int, u_long, u_long); static int nexus_get_resource(device_t, device_t, int, int, u_long *, u_long *); static void nexus_delete_resource(device_t, device_t, int, int); +static int nexus_alloc_msi(device_t pcib, device_t dev, int count, int maxcount, int *irqs); +static int nexus_release_msi(device_t pcib, device_t dev, int count, int *irqs); +static int nexus_alloc_msix(device_t pcib, device_t dev, int index, int *irq); +static int nexus_remap_msix(device_t pcib, device_t dev, int index, int irq); +static int nexus_release_msix(device_t pcib, device_t dev, int irq); static device_method_t nexus_methods[] = { /* Device interface */ @@ -126,6 +133,13 @@ DEVMETHOD(bus_get_resource, nexus_get_resource), DEVMETHOD(bus_delete_resource, nexus_delete_resource), + /* pcib interface */ + DEVMETHOD(pcib_alloc_msi, nexus_alloc_msi), + DEVMETHOD(pcib_release_msi, nexus_release_msi), + DEVMETHOD(pcib_alloc_msix, nexus_alloc_msix), + DEVMETHOD(pcib_remap_msix, nexus_remap_msix), + DEVMETHOD(pcib_release_msix, nexus_release_msix), + { 0, 0 } }; @@ -505,6 +519,54 @@ resource_list_delete(rl, type, rid); } +static int +nexus_alloc_msix(device_t pcib, device_t dev, int index, int *irq) +{ + int error, new; + + error = msix_alloc(dev, index, irq, &new); + if (new) + rman_manage_region(&irq_rman, *irq, *irq); + return (error); +} + +static int +nexus_remap_msix(device_t pcib, device_t dev, int index, int irq) +{ + + return (msix_remap(index, irq)); +} + +static int +nexus_release_msix(device_t pcib, device_t dev, int irq) +{ + + return (msix_release(irq)); +} + +static int +nexus_alloc_msi(device_t pcib, device_t dev, int count, int maxcount, int *irqs) +{ + int error, i, newirq, newcount; + + /* First alloc the messages. */ + error = msi_alloc(dev, count, maxcount, irqs, &newirq, &newcount); + + /* Always add any new IRQs to the rman, even on failure. */ + for (i = 0; i < newcount; i++) + rman_manage_region(&irq_rman, irqs[newirq + i], + irqs[newirq + i]); + + return (error); +} + +static int +nexus_release_msi(device_t pcib, device_t dev, int count, int *irqs) +{ + + return (msi_release(irqs, count)); +} + #ifdef DEV_ISA /* * Placeholder which claims PnP 'devices' which describe system ==== //depot/projects/mjexp_6/sys/amd64/conf/GENERIC#2 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.439.2.17 2006/12/14 04:06:59 obrien Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.439.2.18 2007/03/27 02:33:00 yongari Exp $ machine amd64 cpu HAMMER @@ -188,6 +188,7 @@ device dc # DEC/Intel 21143 and various workalikes device fxp # Intel EtherExpress PRO/100B (82557, 82558) device lge # Level 1 LXT1001 gigabit Ethernet +device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet device nge # NatSemi DP83820 gigabit Ethernet device nve # nVidia nForce MCP on-board Ethernet Networking device pcn # AMD Am79C97x PCI 10/100 (precedence over 'le') ==== //depot/projects/mjexp_6/sys/amd64/include/apicvar.h#2 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.13.2.3 2006/10/30 18:03:03 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.13.2.4 2007/03/31 15:23:20 jhb Exp $ */ #ifndef _MACHINE_APICVAR_H_ @@ -174,6 +174,7 @@ IDTVEC(apic_isr7), IDTVEC(spuriousint), IDTVEC(timerint); u_int apic_alloc_vector(u_int irq); +u_int apic_alloc_vectors(u_int *irqs, u_int count, u_int align); void apic_enable_vector(u_int vector); void apic_free_vector(u_int vector, u_int irq); u_int apic_idt_to_irq(u_int vector); ==== //depot/projects/mjexp_6/sys/amd64/include/intr_machdep.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.5.2.5 2006/10/30 18:03:03 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.5.2.6 2007/03/31 15:23:20 jhb Exp $ */ #ifndef __MACHINE_INTR_MACHDEP_H__ @@ -43,11 +43,18 @@ * 191 and still be safe since only interrupt sources in actual use will * allocate IDT vectors. * - * For now we stick with 255 as ISA IRQs and PCI intline IRQs only allow - * for IRQs in the range 0 - 254. When MSI support is added this number - * will likely increase. + * The first 255 IRQs (0 - 254) are reserved for ISA IRQs and PCI intline IRQs. + * IRQ values beyond 256 are used by MSI. We leave 255 unused to avoid + * confusion since 255 is used in PCI to indicate an invalid IRQ. + */ +#define NUM_MSI_INTS 128 +#define FIRST_MSI_INT 256 +#define NUM_IO_INTS (FIRST_MSI_INT + NUM_MSI_INTS) + +/* + * Default base address for MSI messages on x86 platforms. */ -#define NUM_IO_INTS 255 +#define MSI_INTEL_ADDR_BASE 0xfee00000 /* * - 1 ??? dummy counter. @@ -140,6 +147,13 @@ void intr_resume(void); void intr_suspend(void); void intrcnt_add(const char *name, u_long **countp); +int msi_alloc(device_t dev, int count, int maxcount, int *irqs, int *newirq, + int *newcount); +void msi_init(void); +int msi_release(int *irqs, int count); +int msix_alloc(device_t dev, int index, int *irq, int *new); +int msix_remap(int index, int irq); +int msix_release(int irq); #endif /* !LOCORE */ #endif /* _KERNEL */ ==== //depot/projects/mjexp_6/sys/amd64/pci/pci_bus.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.113.2.2 2006/12/28 22:09:46 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.113.2.3 2007/03/31 15:23:20 jhb Exp $"); #include "opt_cpu.h" @@ -81,6 +81,28 @@ return (PCI_INVALID_IRQ); } +/* Pass MSI alloc requests up to the nexus. */ + +static int +legacy_pcib_alloc_msi(device_t pcib, device_t dev, int count, int maxcount, + int *irqs) +{ + device_t bus; + + bus = device_get_parent(pcib); + return (PCIB_ALLOC_MSI(device_get_parent(bus), dev, count, maxcount, + irqs)); +} + +static int +legacy_pcib_alloc_msix(device_t pcib, device_t dev, int index, int *irq) +{ + device_t bus; + + bus = device_get_parent(pcib); + return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, index, irq)); +} + static const char * legacy_pcib_is_host_bridge(int bus, int slot, int func, uint32_t id, uint8_t class, uint8_t subclass, @@ -322,6 +344,11 @@ DEVMETHOD(pcib_read_config, legacy_pcib_read_config), DEVMETHOD(pcib_write_config, legacy_pcib_write_config), DEVMETHOD(pcib_route_interrupt, legacy_pcib_route_interrupt), + DEVMETHOD(pcib_alloc_msi, legacy_pcib_alloc_msi), + DEVMETHOD(pcib_release_msi, pcib_release_msi), + DEVMETHOD(pcib_alloc_msix, legacy_pcib_alloc_msix), + DEVMETHOD(pcib_remap_msix, pcib_remap_msix), + DEVMETHOD(pcib_release_msix, pcib_release_msix), { 0, 0 } }; ==== //depot/projects/mjexp_6/sys/arm/arm/identcpu.c#2 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/identcpu.c,v 1.4 2005/01/05 21:58:47 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/identcpu.c,v 1.4.2.1 2007/03/10 00:16:52 sam Exp $"); #include <sys/systm.h> #include <sys/param.h> #include <sys/malloc.h> @@ -134,7 +134,7 @@ }; static const char * const ixp425_steppings[16] = { - "step 0", "rev 1", "rev 2", "rev 3", + "step 0 (A0)", "rev 1 (ARMv5TE)", "rev 2", "rev 3", "rev 4", "rev 5", "rev 6", "rev 7", "rev 8", "rev 9", "rev 10", "rev 11", "rev 12", "rev 13", "rev 14", "rev 15", ==== //depot/projects/mjexp_6/sys/arm/xscale/i80321/i80321_wdog.c#3 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/i80321_wdog.c,v 1.2.2.1 2007/02/20 22:56:27 n_hibma Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/i80321_wdog.c,v 1.2.2.2 2007/03/30 19:17:36 n_hibma Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -118,11 +118,9 @@ sc->armed = 1; *error = 0; } else { - /* XXX Can't disable this watchdog? */ + /* Can't disable this watchdog! */ if (sc->armed) *error = EOPNOTSUPP; - else if (cmd > 0) - *error = EINVAL; } } ==== //depot/projects/mjexp_6/sys/arm/xscale/ixp425/ixp425_wdog.c#2 (text+ko) ==== @@ -22,7 +22,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_wdog.c,v 1.1.2.1 2007/02/26 23:13:09 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_wdog.c,v 1.1.2.2 2007/03/30 19:17:37 n_hibma Exp $"); /* * IXP425 Watchdog Timer Support. @@ -70,7 +70,7 @@ u_int u = cmd & WD_INTERVAL; WR4(sc, IXP425_OST_WDOG_KEY, OST_WDOG_KEY_MAJICK); - if (cmd && 4 <= u && u <= 35) { + if (4 <= u && u <= 35) { WR4(sc, IXP425_OST_WDOG_ENAB, 0); /* approximate 66.66MHz cycles */ WR4(sc, IXP425_OST_WDOG, 2<<(u - 4)); ==== //depot/projects/mjexp_6/sys/boot/forth/loader.conf#3 (text+ko) ==== @@ -6,7 +6,7 @@ # # All arguments must be in double quotes. # -# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.95.2.11 2007/01/17 02:45:35 maxim Exp $ +# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.95.2.12 2007/03/27 02:29:45 yongari Exp $ ############################################################## ### Basic configuration options ############################ @@ -238,6 +238,7 @@ if_lge_load="NO" # Level 1 LXT1001 NetCellerator PCI Gigabit # Ethernet if_lnc_load="NO" # AMD Lance/PCnet Ethernet +if_msk_load="NO" # Marvell/SysKonnect Yukon II Gigabit Ethernet if_my_load="NO" # Myson PCI Fast Ethernet if_nge_load="NO" # National Semiconductor PCI Gigabit Ethernet if_nve_load="NO" # NVIDIA nForce MCP Networking Adapter ==== //depot/projects/mjexp_6/sys/boot/pc98/cdboot/cdboot.s#2 (text+ko) ==== @@ -28,7 +28,7 @@ # SUCH DAMAGE. # -# $FreeBSD: src/sys/boot/pc98/cdboot/cdboot.s,v 1.1.2.1 2006/06/16 13:40:50 nyan Exp $ +# $FreeBSD: src/sys/boot/pc98/cdboot/cdboot.s,v 1.1.2.2 2007/03/21 03:41:25 nyan Exp $ # # Basically, we first create a set of boot arguments to pass to the loaded @@ -705,7 +705,7 @@ twiddle: push %ax # Save push %bx # Save mov twiddle_index,%al # Load index - mov twiddle_chars,%bx # Address table + mov $twiddle_chars,%bx # Address table inc %al # Next and $3,%al # char mov %al,twiddle_index # Save index for next call ==== //depot/projects/mjexp_6/sys/cam/cam_xpt.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.155.2.10 2006/12/24 03:23:43 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.155.2.11 2007/03/08 05:30:26 mjacob Exp $"); #include <sys/param.h> #include <sys/bus.h> ==== //depot/projects/mjexp_6/sys/cam/cam_xpt.h#3 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/cam/cam_xpt.h,v 1.5.2.1 2006/12/16 07:05:54 mjacob Exp $ + * $FreeBSD: src/sys/cam/cam_xpt.h,v 1.5.2.2 2007/03/08 05:30:26 mjacob Exp $ */ #ifndef _CAM_CAM_XPT_H ==== //depot/projects/mjexp_6/sys/conf/NOTES#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1325.2.26 2007/01/28 17:14:56 glebius Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1325.2.28 2007/03/27 02:20:20 yongari Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -1739,6 +1739,10 @@ # lge: Support for PCI gigabit ethernet adapters based on the Level 1 # LXT1001 NetCellerator chipset. This includes the D-Link DGE-500SX, # SMC TigerCard 1000 (SMC9462SX), and some Addtron cards. +# msk: Support for gigabit ethernet adapters based on the Marvell/SysKonnect +# Yukon II Gigabit controllers, including 88E8021, 88E8022, 88E8061, +# 88E8062, 88E8035, 88E8036, 88E8038, 88E8050, 88E8052, 88E8053, +# 88E8055, 88E8056 and D-Link 560T/550SX. # my: Myson Fast Ethernet (MTD80X, MTD89X) # nge: Support for PCI gigabit ethernet adapters based on the National # Semiconductor DP83820 and DP83821 chipset. This includes the @@ -1862,6 +1866,7 @@ # PCI Gigabit & FDDI NICs. device bge +device cxgb # Chelsio T3 10 Gigabit Ethernet device lge device nge device sk ==== //depot/projects/mjexp_6/sys/conf/files#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1031.2.51 2007/02/26 23:17:51 cognet Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1031.2.54 2007/03/27 02:20:20 yongari Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -364,6 +364,7 @@ dev/acpica/acpi_cmbat.c optional acpi dev/acpica/acpi_cpu.c optional acpi dev/acpica/acpi_ec.c optional acpi +dev/acpica/acpi_hpet.c optional acpi dev/acpica/acpi_isab.c optional acpi isa dev/acpica/acpi_lid.c optional acpi dev/acpica/acpi_package.c optional acpi @@ -381,6 +382,7 @@ dev/acpica/acpi_throttle.c optional acpi dev/acpica/acpi_timer.c optional acpi dev/acpica/acpi_video.c optional acpi_video acpi +dev/acpica/acpi_dock.c optional acpi_dock acpi dev/adlink/adlink.c optional adlink dev/advansys/adv_eisa.c optional adv eisa dev/advansys/adv_pci.c optional adv pci @@ -477,6 +479,15 @@ dev/cs/if_cs.c optional cs dev/cs/if_cs_isa.c optional cs isa dev/cs/if_cs_pccard.c optional cs pccard +dev/cxgb/cxgb_main.c optional cxgb pci +dev/cxgb/cxgb_lro.c optional cxgb pci +dev/cxgb/cxgb_sge.c optional cxgb pci +dev/cxgb/common/cxgb_mc5.c optional cxgb pci +dev/cxgb/common/cxgb_vsc8211.c optional cxgb pci +dev/cxgb/common/cxgb_ael1002.c optional cxgb pci +dev/cxgb/common/cxgb_mv88e1xxx.c optional cxgb pci +dev/cxgb/common/cxgb_xgmac.c optional cxgb pci +dev/cxgb/common/cxgb_t3_hw.c optional cxgb pci dev/cy/cy.c optional cy dev/cy/cy_isa.c optional cy isa dev/cy/cy_pci.c optional cy pci @@ -747,6 +758,7 @@ dev/mpt/mpt_debug.c optional mpt dev/mpt/mpt_pci.c optional mpt pci dev/mpt/mpt_raid.c optional mpt +dev/msk/if_msk.c optional msk dev/my/if_my.c optional my dev/ncv/ncr53c500.c optional ncv dev/ncv/ncr53c500_pccard.c optional ncv pccard ==== //depot/projects/mjexp_6/sys/conf/files.amd64#2 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.amd64,v 1.71.2.10 2006/09/29 21:21:52 jhb Exp $ +# $FreeBSD: src/sys/conf/files.amd64,v 1.71.2.11 2007/03/31 20:21:14 jhb Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -113,6 +113,7 @@ amd64/amd64/mpboot.S optional smp amd64/amd64/mptable.c optional mptable amd64/amd64/mptable_pci.c optional mptable pci +amd64/amd64/msi.c optional pci amd64/amd64/nexus.c standard amd64/amd64/pmap.c standard amd64/amd64/prof_machdep.c optional profiling-routine ==== //depot/projects/mjexp_6/sys/conf/files.arm#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files.arm,v 1.8.2.3 2007/02/27 00:02:40 cognet Exp $ +# $FreeBSD: src/sys/conf/files.arm,v 1.8.2.4 2007/03/10 00:19:24 sam Exp $ crypto/blowfish/bf_enc.c optional crypto | ipsec ipsec_esp crypto/des/des_enc.c optional crypto | ipsec ipsec_esp | \ netsmb @@ -54,6 +54,13 @@ geom/geom_bsd_enc.c standard geom/geom_mbr.c standard geom/geom_mbr_enc.c standard +hal.o optional ath_hal \ + compile-with "ATH_HAL_CPU=`echo ${CONF_CFLAGS}|sed 's/.*-mcpu=\([a-zA-Z0-9]*\).*/\1/'`; ATH_ENDIAN=`if (echo ${CC}|grep mbig-endian>/dev/null); then echo be; else echo le; fi;`; uudecode < $S/contrib/dev/ath/public/$$ATH_HAL_CPU-$$ATH_ENDIAN-elf.hal.o.uu" \ + no-implicit-rule +opt_ah.h optional ath_hal \ + compile-with "ATH_HAL_CPU=`echo ${CONF_CFLAGS}|sed 's/.*-mcpu=\([a-zA-Z0-9]*\).*/\1/'`; ATH_ENDIAN=`if (echo ${CC}|grep mbig-endian>/dev/null); then echo be; else echo le; fi;`; rm -f opt_ah.h; cp $S/contrib/dev/ath/public/$$ATH_HAL_CPU-$$ATH_ENDIAN-elf.opt_ah.h opt_ah.h" \ + no-obj no-implicit-rule before-depend \ + clean "opt_ah.h" libkern/arm/divsi3.S standard libkern/arm/ffs.S standard libkern/arm/muldi3.c standard ==== //depot/projects/mjexp_6/sys/conf/files.i386#2 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.i386,v 1.538.2.12 2006/09/29 21:21:52 jhb Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.538.2.13 2007/03/31 20:21:14 jhb Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -307,6 +307,7 @@ i386/i386/mpboot.s optional smp i386/i386/mptable.c optional apic i386/i386/mptable_pci.c optional apic pci +i386/i386/msi.c optional apic pci i386/i386/nexus.c standard i386/i386/perfmon.c optional perfmon i386/i386/perfmon.c optional perfmon profiling-routine ==== //depot/projects/mjexp_6/sys/conf/files.pc98#2 (text+ko) ==== @@ -3,7 +3,7 @@ # # modified for PC-9801/PC-9821 # -# $FreeBSD: src/sys/conf/files.pc98,v 1.327.2.6 2006/07/26 11:57:24 nyan Exp $ +# $FreeBSD: src/sys/conf/files.pc98,v 1.327.2.7 2007/04/04 15:51:09 nyan Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -187,6 +187,7 @@ i386/i386/mpboot.s optional smp i386/i386/mptable.c optional apic i386/i386/mptable_pci.c optional apic pci +i386/i386/msi.c optional apic pci i386/i386/nexus.c standard i386/i386/perfmon.c optional perfmon i386/i386/perfmon.c optional perfmon profiling-routine ==== //depot/projects/mjexp_6/sys/dev/acpica/Osd/OsdDebug.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/acpica/Osd/OsdDebug.c,v 1.9.2.2 2005/11/07 09:53:23 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/Osd/OsdDebug.c,v 1.9.2.3 2007/03/14 19:50:07 njl Exp $"); #include "opt_ddb.h" #include <sys/param.h> @@ -78,9 +78,11 @@ switch (Function) { case ACPI_SIGNAL_FATAL: fatal = (ACPI_SIGNAL_FATAL_INFO *)Info; - printf("ACPI fatal signal, type 0x%x code 0x%x argument 0x%x", + printf("ACPI fatal signal, type 0x%x code 0x%x argument 0x%x", fatal->Type, fatal->Code, fatal->Argument); +#ifdef ACPI_DEBUG kdb_enter("AcpiOsSignal"); +#endif break; case ACPI_SIGNAL_BREAKPOINT: ==== //depot/projects/mjexp_6/sys/dev/acpica/acpi_battery.c#2 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200704071727.l37HREJx090214>