From owner-p4-projects@FreeBSD.ORG Tue Oct 19 17:41:04 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C51AA16A4D0; Tue, 19 Oct 2004 17:41:03 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9CAB016A4CE for ; Tue, 19 Oct 2004 17:41:03 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5E2EB43D55 for ; Tue, 19 Oct 2004 17:41:03 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i9JHf3pa084000 for ; Tue, 19 Oct 2004 17:41:03 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i9JHf2L1083997 for perforce@freebsd.org; Tue, 19 Oct 2004 17:41:02 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 19 Oct 2004 17:41:02 GMT Message-Id: <200410191741.i9JHf2L1083997@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 63364 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2004 17:41:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=63364 Change 63364 by rwatson@rwatson_zoo on 2004/10/19 17:40:48 Integrate netperf_socket: Accept locking fix -- accept mutex now covers sofree(), avoids dropping the socket mutex in sofree(), and appears to eliminate a class of races involving multiple simultaenous freeing of a socket. The new strategy hits the accept mutex more than I would like, however. if_em and if_bge busdma optimization. if_ndis locking fix More harvesting loopback: comments, assertions, hard-coded witness lock order, ethernet input fix. i4b marked as NET_NEEDS_GIANT(). Raw IP socket access control fix. Edge UDP pcbinfo lock around udp_append() since it constitutes a reference on the pcb. NFS server locking bugfixes. if_de fix. Affected files ... .. //depot/projects/netperf_socket/sys/alpha/alpha/promcons.c#8 integrate .. //depot/projects/netperf_socket/sys/alpha/osf1/osf1_misc.c#7 integrate .. //depot/projects/netperf_socket/sys/alpha/tlsb/zs_tlsb.c#9 integrate .. //depot/projects/netperf_socket/sys/amd64/acpica/acpi_machdep.c#5 integrate .. //depot/projects/netperf_socket/sys/amd64/amd64/nexus.c#7 integrate .. //depot/projects/netperf_socket/sys/amd64/include/acpica_machdep.h#3 integrate .. //depot/projects/netperf_socket/sys/amd64/pci/pci_bus.c#5 integrate .. //depot/projects/netperf_socket/sys/arm/conf/SIMICS#3 integrate .. //depot/projects/netperf_socket/sys/arm/sa11x0/assabet_machdep.c#5 integrate .. //depot/projects/netperf_socket/sys/boot/common/help.common#7 integrate .. //depot/projects/netperf_socket/sys/boot/common/loader.8#9 integrate .. //depot/projects/netperf_socket/sys/cam/scsi/scsi_da.h#2 integrate .. //depot/projects/netperf_socket/sys/compat/freebsd32/freebsd32_misc.c#8 integrate .. //depot/projects/netperf_socket/sys/compat/linux/linux_util.h#3 integrate .. //depot/projects/netperf_socket/sys/conf/files#54 integrate .. //depot/projects/netperf_socket/sys/conf/kmod.mk#16 integrate .. //depot/projects/netperf_socket/sys/dev/acpica/acpi.c#41 integrate .. //depot/projects/netperf_socket/sys/dev/acpica/acpi_cmbat.c#10 integrate .. //depot/projects/netperf_socket/sys/dev/acpica/acpi_cpu.c#13 integrate .. //depot/projects/netperf_socket/sys/dev/acpica/acpi_pcib_acpi.c#10 integrate .. //depot/projects/netperf_socket/sys/dev/aic7xxx/ahc_isa.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/ata/ata-all.c#20 integrate .. //depot/projects/netperf_socket/sys/dev/ata/ata-card.c#5 integrate .. //depot/projects/netperf_socket/sys/dev/ata/ata-queue.c#15 integrate .. //depot/projects/netperf_socket/sys/dev/bge/if_bge.c#11 integrate .. //depot/projects/netperf_socket/sys/dev/cx/if_cx.c#18 integrate .. //depot/projects/netperf_socket/sys/dev/cx/machdep.h#3 integrate .. //depot/projects/netperf_socket/sys/dev/dcons/dcons.c#11 integrate .. //depot/projects/netperf_socket/sys/dev/dcons/dcons.h#3 integrate .. //depot/projects/netperf_socket/sys/dev/dcons/dcons_crom.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/dcons/dcons_os.c#1 branch .. //depot/projects/netperf_socket/sys/dev/dcons/dcons_os.h#1 branch .. //depot/projects/netperf_socket/sys/dev/digi/digi.c#16 integrate .. //depot/projects/netperf_socket/sys/dev/digi/digi.h#6 integrate .. //depot/projects/netperf_socket/sys/dev/em/if_em.c#10 integrate .. //depot/projects/netperf_socket/sys/dev/ex/if_ex.c#8 integrate .. //depot/projects/netperf_socket/sys/dev/fdc/fdc.c#12 integrate .. //depot/projects/netperf_socket/sys/dev/hifn/hifn7751.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/hifn/hifn7751var.h#2 integrate .. //depot/projects/netperf_socket/sys/dev/if_ndis/if_ndis.c#19 integrate .. //depot/projects/netperf_socket/sys/dev/md/md.c#22 integrate .. //depot/projects/netperf_socket/sys/dev/nmdm/nmdm.c#11 integrate .. //depot/projects/netperf_socket/sys/dev/ofw/ofw_console.c#11 integrate .. //depot/projects/netperf_socket/sys/dev/pbio/pbio.c#1 branch .. //depot/projects/netperf_socket/sys/dev/pbio/pbioio.h#1 branch .. //depot/projects/netperf_socket/sys/dev/pci/pci.c#11 integrate .. //depot/projects/netperf_socket/sys/dev/random/harvest.c#5 integrate .. //depot/projects/netperf_socket/sys/dev/random/randomdev_soft.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/sab/sab.c#13 integrate .. //depot/projects/netperf_socket/sys/dev/sio/sio.c#21 integrate .. //depot/projects/netperf_socket/sys/dev/sio/sio_pci.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/sound/isa/ad1816.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/sound/isa/es1888.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/sound/isa/ess.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/sound/isa/gusc.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/sound/isa/mss.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/sound/isa/sb16.c#9 integrate .. //depot/projects/netperf_socket/sys/dev/sound/isa/sb8.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/sound/isa/sbc.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/sound/pci/au88x0.c#5 integrate .. //depot/projects/netperf_socket/sys/dev/sound/pci/aureal.c#5 integrate .. //depot/projects/netperf_socket/sys/dev/sound/pci/csapcm.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/sound/pci/ds1.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/sound/pci/emu10k1.c#9 integrate .. //depot/projects/netperf_socket/sys/dev/sound/pci/es137x.c#5 integrate .. //depot/projects/netperf_socket/sys/dev/sound/pci/fm801.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/sound/pci/ich.c#8 integrate .. //depot/projects/netperf_socket/sys/dev/sound/pci/maestro3.c#5 integrate .. //depot/projects/netperf_socket/sys/dev/sound/pci/solo.c#5 integrate .. //depot/projects/netperf_socket/sys/dev/sound/pci/t4dwave.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/sound/pci/via8233.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/sound/pci/via82c686.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/sound/pcm/buffer.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/syscons/syscons.c#14 integrate .. //depot/projects/netperf_socket/sys/dev/syscons/sysmouse.c#7 integrate .. //depot/projects/netperf_socket/sys/dev/uart/uart_bus.h#4 integrate .. //depot/projects/netperf_socket/sys/dev/uart/uart_tty.c#11 integrate .. //depot/projects/netperf_socket/sys/dev/usb/ubsa.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/usb/ubser.c#11 integrate .. //depot/projects/netperf_socket/sys/dev/usb/ucycom.c#2 integrate .. //depot/projects/netperf_socket/sys/dev/usb/ugen.c#10 integrate .. //depot/projects/netperf_socket/sys/dev/usb/uhci_pci.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/usb/umass.c#12 integrate .. //depot/projects/netperf_socket/sys/dev/usb/usbdevs#26 integrate .. //depot/projects/netperf_socket/sys/dev/zs/zs.c#11 integrate .. //depot/projects/netperf_socket/sys/geom/geom_io.c#10 integrate .. //depot/projects/netperf_socket/sys/geom/geom_subr.c#9 integrate .. //depot/projects/netperf_socket/sys/geom/label/g_label.c#8 integrate .. //depot/projects/netperf_socket/sys/geom/mirror/g_mirror.c#13 integrate .. //depot/projects/netperf_socket/sys/i386/acpica/acpi_machdep.c#10 integrate .. //depot/projects/netperf_socket/sys/i386/bios/apm.c#5 integrate .. //depot/projects/netperf_socket/sys/i386/i386/elan-mmcr.c#10 integrate .. //depot/projects/netperf_socket/sys/i386/i386/nexus.c#7 integrate .. //depot/projects/netperf_socket/sys/i386/i386/vm_machdep.c#15 integrate .. //depot/projects/netperf_socket/sys/i386/ibcs2/ibcs2_misc.c#5 integrate .. //depot/projects/netperf_socket/sys/i386/ibcs2/ibcs2_socksys.c#2 integrate .. //depot/projects/netperf_socket/sys/i386/ibcs2/ibcs2_sysi86.c#2 integrate .. //depot/projects/netperf_socket/sys/i386/include/acpica_machdep.h#3 integrate .. //depot/projects/netperf_socket/sys/i386/isa/npx.c#9 integrate .. //depot/projects/netperf_socket/sys/i386/isa/pbio.c#2 integrate .. //depot/projects/netperf_socket/sys/i386/isa/pcvt/pcvt_drv.c#7 integrate .. //depot/projects/netperf_socket/sys/i386/pci/pci_bus.c#8 integrate .. //depot/projects/netperf_socket/sys/i4b/driver/i4b_ipr.c#5 integrate .. //depot/projects/netperf_socket/sys/i4b/driver/i4b_isppp.c#3 integrate .. //depot/projects/netperf_socket/sys/ia64/acpica/acpi_machdep.c#4 integrate .. //depot/projects/netperf_socket/sys/ia64/ia64/nexus.c#4 integrate .. //depot/projects/netperf_socket/sys/ia64/ia64/ssc.c#7 integrate .. //depot/projects/netperf_socket/sys/ia64/include/acpica_machdep.h#3 integrate .. //depot/projects/netperf_socket/sys/isa/atkbdc_isa.c#4 integrate .. //depot/projects/netperf_socket/sys/isa/isahint.c#2 integrate .. //depot/projects/netperf_socket/sys/kern/kern_condvar.c#8 integrate .. //depot/projects/netperf_socket/sys/kern/kern_descrip.c#20 integrate .. //depot/projects/netperf_socket/sys/kern/kern_event.c#14 integrate .. //depot/projects/netperf_socket/sys/kern/kern_exec.c#17 integrate .. //depot/projects/netperf_socket/sys/kern/kern_mutex.c#13 integrate .. //depot/projects/netperf_socket/sys/kern/kern_proc.c#18 integrate .. //depot/projects/netperf_socket/sys/kern/kern_subr.c#7 integrate .. //depot/projects/netperf_socket/sys/kern/kern_switch.c#16 integrate .. //depot/projects/netperf_socket/sys/kern/kern_synch.c#19 integrate .. //depot/projects/netperf_socket/sys/kern/kern_sysctl.c#9 integrate .. //depot/projects/netperf_socket/sys/kern/kern_tc.c#5 integrate .. //depot/projects/netperf_socket/sys/kern/kern_thread.c#28 integrate .. //depot/projects/netperf_socket/sys/kern/kern_xxx.c#5 integrate .. //depot/projects/netperf_socket/sys/kern/subr_bus.c#15 integrate .. //depot/projects/netperf_socket/sys/kern/subr_sleepqueue.c#10 integrate .. //depot/projects/netperf_socket/sys/kern/subr_turnstile.c#9 integrate .. //depot/projects/netperf_socket/sys/kern/subr_witness.c#12 integrate .. //depot/projects/netperf_socket/sys/kern/tty.c#16 integrate .. //depot/projects/netperf_socket/sys/kern/tty_pty.c#13 integrate .. //depot/projects/netperf_socket/sys/kern/uipc_mbuf2.c#7 integrate .. //depot/projects/netperf_socket/sys/kern/uipc_socket.c#41 integrate .. //depot/projects/netperf_socket/sys/kern/uipc_usrreq.c#27 integrate .. //depot/projects/netperf_socket/sys/modules/dcons/Makefile#3 integrate .. //depot/projects/netperf_socket/sys/modules/dcons_crom/Makefile#2 integrate .. //depot/projects/netperf_socket/sys/modules/netgraph/device/Makefile#2 integrate .. //depot/projects/netperf_socket/sys/net/bridge.c#12 integrate .. //depot/projects/netperf_socket/sys/net/bridge.h#2 integrate .. //depot/projects/netperf_socket/sys/net/if_ethersubr.c#20 integrate .. //depot/projects/netperf_socket/sys/net/if_tun.c#11 integrate .. //depot/projects/netperf_socket/sys/net/netisr.c#6 integrate .. //depot/projects/netperf_socket/sys/net/raw_cb.c#7 integrate .. //depot/projects/netperf_socket/sys/net/raw_usrreq.c#7 integrate .. //depot/projects/netperf_socket/sys/netatalk/ddp_pcb.c#8 integrate .. //depot/projects/netperf_socket/sys/netatm/atm_socket.c#4 integrate .. //depot/projects/netperf_socket/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#9 integrate .. //depot/projects/netperf_socket/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#3 integrate .. //depot/projects/netperf_socket/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#7 integrate .. //depot/projects/netperf_socket/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#6 integrate .. //depot/projects/netperf_socket/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#6 integrate .. //depot/projects/netperf_socket/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#10 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_device.c#7 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_device.h#3 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_ether.c#10 integrate .. //depot/projects/netperf_socket/sys/netinet/if_ether.c#11 integrate .. //depot/projects/netperf_socket/sys/netinet/in_pcb.c#17 integrate .. //depot/projects/netperf_socket/sys/netinet/raw_ip.c#16 integrate .. //depot/projects/netperf_socket/sys/netinet/tcp_subr.c#22 integrate .. //depot/projects/netperf_socket/sys/netinet/udp_usrreq.c#16 integrate .. //depot/projects/netperf_socket/sys/netinet6/in6_pcb.c#11 integrate .. //depot/projects/netperf_socket/sys/netipx/ipx_pcb.c#5 integrate .. //depot/projects/netperf_socket/sys/netipx/ipx_usrreq.c#4 integrate .. //depot/projects/netperf_socket/sys/netnatm/natm.c#6 integrate .. //depot/projects/netperf_socket/sys/netncp/ncp_ncp.c#2 integrate .. //depot/projects/netperf_socket/sys/nfsclient/nfs_vfsops.c#9 integrate .. //depot/projects/netperf_socket/sys/nfsserver/nfs_serv.c#10 integrate .. //depot/projects/netperf_socket/sys/pc98/pc98/fd.c#14 integrate .. //depot/projects/netperf_socket/sys/pc98/pc98/sio.c#19 integrate .. //depot/projects/netperf_socket/sys/pci/if_de.c#10 integrate .. //depot/projects/netperf_socket/sys/sys/conf.h#10 integrate .. //depot/projects/netperf_socket/sys/sys/mbuf.h#19 integrate .. //depot/projects/netperf_socket/sys/sys/proc.h#28 integrate .. //depot/projects/netperf_socket/sys/sys/random.h#2 integrate .. //depot/projects/netperf_socket/sys/sys/sleepqueue.h#5 integrate .. //depot/projects/netperf_socket/sys/sys/socketvar.h#24 integrate .. //depot/projects/netperf_socket/sys/sys/sysctl.h#9 integrate .. //depot/projects/netperf_socket/sys/sys/tty.h#13 integrate .. //depot/projects/netperf_socket/sys/sys/ttydefaults.h#4 integrate .. //depot/projects/netperf_socket/sys/sys/turnstile.h#4 integrate .. //depot/projects/netperf_socket/sys/vm/vm_fault.c#12 integrate .. //depot/projects/netperf_socket/sys/vm/vm_meter.c#5 integrate .. //depot/projects/netperf_socket/sys/vm/vm_page.c#15 integrate Differences ... ==== //depot/projects/netperf_socket/sys/alpha/alpha/promcons.c#8 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/promcons.c,v 1.41 2004/09/17 11:02:53 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/promcons.c,v 1.42 2004/10/18 21:51:24 phk Exp $"); #include #include @@ -107,12 +107,7 @@ tp->t_dev = dev; if ((tp->t_state & TS_ISOPEN) == 0) { tp->t_state |= TS_CARR_ON; - ttychars(tp); - tp->t_iflag = TTYDEF_IFLAG; - tp->t_oflag = TTYDEF_OFLAG; - tp->t_cflag = TTYDEF_CFLAG|CLOCAL; - tp->t_lflag = TTYDEF_LFLAG; - tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED; + ttyconsmode(tp, 0); ttsetwater(tp); setuptimeout = 1; ==== //depot/projects/netperf_socket/sys/alpha/osf1/osf1_misc.c#7 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/osf1/osf1_misc.c,v 1.49 2004/10/05 18:51:09 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/osf1/osf1_misc.c,v 1.50 2004/10/14 10:43:47 phk Exp $"); #include #include @@ -1772,7 +1772,7 @@ name[1] = KERN_HOSTNAME; mtx_lock(&Giant); retval = userland_sysctl(td, name, 2, uap->buf, &len, - 1, 0, 0, &bytes); + 1, 0, 0, &bytes, 0); mtx_unlock(&Giant); td->td_retval[0] = bytes; return(retval); ==== //depot/projects/netperf_socket/sys/alpha/tlsb/zs_tlsb.c#9 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/tlsb/zs_tlsb.c,v 1.48 2004/09/17 11:04:57 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/tlsb/zs_tlsb.c,v 1.49 2004/10/18 21:51:24 phk Exp $"); #include #include @@ -283,12 +283,7 @@ tp = dev->si_tty; if ((tp->t_state & TS_ISOPEN) == 0) { tp->t_state |= TS_CARR_ON; - ttychars(tp); - tp->t_iflag = TTYDEF_IFLAG; - tp->t_oflag = TTYDEF_OFLAG; - tp->t_cflag = TTYDEF_CFLAG|CLOCAL; - tp->t_lflag = TTYDEF_LFLAG; - tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED; + ttyconsolemode(tp, 0); ttsetwater(tp); setuptimeout = 1; } else if ((tp->t_state & TS_XCLUDE) && suser(td)) { ==== //depot/projects/netperf_socket/sys/amd64/acpica/acpi_machdep.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_machdep.c,v 1.15 2004/08/16 23:10:18 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_machdep.c,v 1.16 2004/10/11 05:39:14 njl Exp $"); #include #include @@ -61,3 +61,9 @@ { return (0); } + +void +acpi_cpu_c1() +{ + __asm __volatile("sti; hlt"); +} ==== //depot/projects/netperf_socket/sys/amd64/amd64/nexus.c#7 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.63 2004/08/24 19:22:54 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.64 2004/10/14 22:36:47 njl Exp $"); /* * This code implements a `root nexus' for Intel Architecture @@ -259,6 +259,8 @@ retval += bus_print_child_header(bus, child); retval += nexus_print_all_resources(child); + if (device_get_flags(child)) + retval += printf(" flags %#x", device_get_flags(child)); retval += printf(" on motherboard\n"); /* XXX "motherboard", ick */ return (retval); ==== //depot/projects/netperf_socket/sys/amd64/include/acpica_machdep.h#3 (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/acpica_machdep.h,v 1.5 2004/05/05 20:04:14 njl Exp $ + * $FreeBSD: src/sys/amd64/include/acpica_machdep.h,v 1.6 2004/10/11 05:39:15 njl Exp $ */ /****************************************************************************** @@ -73,6 +73,7 @@ #define COMPILER_DEPENDENT_INT64 long #define COMPILER_DEPENDENT_UINT64 unsigned long -void acpi_SetDefaultIntrModel(int model); +void acpi_SetDefaultIntrModel(int model); +void acpi_cpu_c1(void); #endif /* __ACPICA_MACHDEP_H__ */ ==== //depot/projects/netperf_socket/sys/amd64/pci/pci_bus.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.109 2004/06/03 05:58:30 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.110 2004/10/11 21:51:27 peter Exp $"); #include "opt_cpu.h" @@ -35,6 +35,7 @@ #include #include #include +#include #include #include @@ -42,6 +43,7 @@ #include #include #include +#include #include "pcib_if.h" @@ -81,8 +83,8 @@ static const char * legacy_pcib_is_host_bridge(int bus, int slot, int func, - u_int32_t id, u_int8_t class, u_int8_t subclass, - u_int8_t *busnum) + uint32_t id, uint8_t class, uint8_t subclass, + uint8_t *busnum) { const char *s = NULL; @@ -262,7 +264,38 @@ return ENOENT; } +SYSCTL_DECL(_hw_pci); +static int legacy_host_mem_start = 0x80000000; +/* No TUNABLE_ULONG :-( */ +TUNABLE_INT("hw.pci.host_mem_start", &legacy_host_mem_start); +SYSCTL_INT(_hw_pci, OID_AUTO, host_mem_start, CTLFLAG_RDTUN, + &legacy_host_mem_start, 0x80000000, + "Limit the host bridge memory to being above this address. Must be\n\ +set at boot via a tunable."); + +static struct resource * +legacy_pcib_alloc_resource(device_t dev, device_t child, int type, int *rid, + u_long start, u_long end, u_long count, u_int flags) +{ + /* + * If no memory preference is given, use upper 32MB slot most + * bioses use for their memory window. Typically other bridges + * before us get in the way to assert their preferences on memory. + * Hardcoding like this sucks, so a more MD/MI way needs to be + * found to do it. This is typically only used on older laptops + * that don't have pci busses behind pci bridge, so assuming > 32MB + * is liekly OK. + * + * However, this can cause problems for other chipsets, so we make + * this tunable by hw.pci.host_mem_start. + */ + if (type == SYS_RES_MEMORY && start == 0UL && end == ~0UL) + start = legacy_host_mem_start; + return (bus_generic_alloc_resource(dev, child, type, rid, start, end, + count, flags)); +} + static device_method_t legacy_pcib_methods[] = { /* Device interface */ DEVMETHOD(device_identify, legacy_pcib_identify), @@ -276,7 +309,7 @@ DEVMETHOD(bus_print_child, bus_generic_print_child), DEVMETHOD(bus_read_ivar, legacy_pcib_read_ivar), DEVMETHOD(bus_write_ivar, legacy_pcib_write_ivar), - DEVMETHOD(bus_alloc_resource, bus_generic_alloc_resource), + DEVMETHOD(bus_alloc_resource, legacy_pcib_alloc_resource), DEVMETHOD(bus_release_resource, bus_generic_release_resource), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), ==== //depot/projects/netperf_socket/sys/arm/conf/SIMICS#3 (text+ko) ==== @@ -15,7 +15,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/SIMICS,v 1.3 2004/09/23 22:53:50 cognet Exp $ +# $FreeBSD: src/sys/arm/conf/SIMICS,v 1.4 2004/10/11 14:42:06 cognet Exp $ machine arm ident SIMICS @@ -40,6 +40,7 @@ options UFS_ACL #Support for access control lists options UFS_DIRHASH #Improve performance on big directories options MD_ROOT #MD is a potential root device +options MD_ROOT_SIZE=65535 options ROOTDEVNAME=\"ufs:md0\" options NFSCLIENT #Network Filesystem Client options NFSSERVER #Network Filesystem Server ==== //depot/projects/netperf_socket/sys/arm/sa11x0/assabet_machdep.c#5 (text+ko) ==== @@ -47,7 +47,9 @@ #include -__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.4 2004/09/23 22:32:33 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.5 2004/10/11 14:41:38 cognet Exp $"); + +#include "opt_md.h" #define _ARM32_BUS_DMA_PRIVATE #include @@ -131,7 +133,9 @@ struct pcpu __pcpu; struct pcpu *pcpup = &__pcpu; -#define MDSIZE 8192 +#ifndef MD_ROOT_SIZE +#error SIMICS needs MD_ROOT and MD_ROOT_SIZE +#endif /* Physical and virtual addresses for some global pages */ vm_paddr_t phys_avail[10]; @@ -218,7 +222,7 @@ fake_preload[i++] = MDROOT_ADDR; fake_preload[i++] = MODINFO_SIZE; fake_preload[i++] = sizeof(uint32_t); - fake_preload[i++] = MDSIZE * 1024; + fake_preload[i++] = MD_ROOT_SIZE * 1024; fake_preload[i++] = 0; fake_preload[i] = 0; preload_metadata = (void *)fake_preload; @@ -236,7 +240,6 @@ kerneldatasize = (u_int32_t)&end - (u_int32_t)KERNEL_TEXT_BASE; symbolsize = 0; freemempos = (vm_offset_t)round_page(physical_freestart); - printf("freemempos %p\n", (void*)freemempos); memset((void *)freemempos, 0, 256*1024); /* Define a macro to simplify memory allocation */ #define valloc_pages(var, np) \ @@ -311,12 +314,10 @@ pmap_map_chunk(l1pagetable, KERNBASE, KERNBASE, (uint32_t)&end - KERNBASE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); /* Map the stack pages */ - printf("avant irq %p %p\n", (void*)irqstack.pv_va, (void*)irqstack.pv_pa); pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa, IRQ_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - printf("apres irq\n"); pmap_map_chunk(l1pagetable, md_addr.pv_va, md_addr.pv_pa, - MDSIZE * 1024, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + MD_ROOT_SIZE * 1024, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); pmap_map_chunk(l1pagetable, abtstack.pv_va, abtstack.pv_pa, ABT_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); pmap_map_chunk(l1pagetable, undstack.pv_va, undstack.pv_pa, @@ -365,7 +366,6 @@ * Since the ARM stacks use STMFD etc. we must set r13 to the top end * of the stack memory. */ - printf("init subsystems: stacks\n"); set_stackptr(PSR_IRQ32_MODE, irqstack.pv_va + IRQ_STACK_SIZE * PAGE_SIZE); set_stackptr(PSR_ABT32_MODE, ==== //depot/projects/netperf_socket/sys/boot/common/help.common#7 (text+ko) ==== @@ -311,6 +311,18 @@ this option provides a hint as to the actual size of system memory (which will be tested before use). + set hw.{acpi,pci}.host_start_mem= + + Sets the lowest address that the pci code will assign + when it doesn't have other information about the address + to assign (like from a pci bridge). This is only useful + in older systems without a pci bridge. Also, it only + impacts devices that the BIOS doesn't assign to, typically + CardBus bridges. The default is 0x80000000, but + some systems need values like 0xf0000000, 0xfc000000 or + 0xfe000000 may be suitable for older systems (the older + the system, the higher the number typically should be). + set hw.pci.enable_io_modes= Enable PCI resources which are left off by some BIOSes ==== //depot/projects/netperf_socket/sys/boot/common/loader.8#9 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sys/boot/common/loader.8,v 1.74 2004/10/01 00:15:13 ru Exp $ +.\" $FreeBSD: src/sys/boot/common/loader.8,v 1.76 2004/10/15 06:44:13 ru Exp $ .\" -.Dd October 1, 2004 +.Dd October 15, 2004 .Dt LOADER 8 .Os .Sh NAME @@ -429,6 +429,15 @@ respectively. An invalid suffix will result in the variable being ignored by the kernel. +.It Va hw.pci.host_start_mem , hw.acpi.host_start_mem +When not otherwise constrained, this limits the memory start +address. +The default is 0x80000000 and should be set to at least size of the +memory and not conflict with other resources. +Typically, only systems without PCI bridges need to set this variable +since PCI bridges typically constrain the memory starting address +(and the variable is only used when bridges do not constrain this +address). .It Va hw.pci.enable_io_modes Enable PCI resources which are left off by some BIOSes or are not enabled correctly by the device driver. ==== //depot/projects/netperf_socket/sys/cam/scsi/scsi_da.h#2 (text+ko) ==== @@ -46,7 +46,7 @@ * * Ported to run under 386BSD by Julian Elischer (julian@tfs.com) Sept 1992 * - * $FreeBSD: src/sys/cam/scsi/scsi_da.h,v 1.5 2000/05/21 23:57:52 ken Exp $ + * $FreeBSD: src/sys/cam/scsi/scsi_da.h,v 1.7 2004/10/13 09:31:04 bms Exp $ */ #ifndef _SCSI_SCSI_DA_H @@ -151,6 +151,9 @@ #define REASSIGN_BLOCKS 0x07 #define MODE_SELECT 0x15 #define MODE_SENSE 0x1a +#define READ_FORMAT_CAPACITIES 0x23 +#define WRITE_AND_VERIFY 0x2e +#define VERIFY 0x2f #define READ_DEFECT_DATA_10 0x37 #define READ_DEFECT_DATA_12 0xb7 @@ -182,6 +185,82 @@ u_int8_t pat_length[2]; }; +struct scsi_read_format_capacities +{ + uint8_t opcode; /* READ_FORMAT_CAPACITIES */ + uint8_t byte2; +#define SRFC_LUN_MASK 0xE0 + uint8_t reserved0[5]; + uint8_t alloc_length[2]; + uint8_t reserved1[3]; +}; + +struct scsi_verify +{ + uint8_t opcode; /* VERIFY */ + uint8_t byte2; +#define SVFY_LUN_MASK 0xE0 +#define SVFY_RELADR 0x01 +#define SVFY_BYTECHK 0x02 +#define SVFY_DPO 0x10 + uint8_t addr[4]; /* LBA to begin verification at */ + uint8_t reserved0[1]; + uint8_t len[2]; /* number of blocks to verify */ + uint8_t reserved1[3]; +}; + +struct scsi_write_and_verify +{ + uint8_t opcode; /* WRITE_AND_VERIFY */ + uint8_t byte2; +#define SWVY_LUN_MASK 0xE0 +#define SWVY_RELADR 0x01 +#define SWVY_BYTECHK 0x02 +#define SWVY_DPO 0x10 + uint8_t addr[4]; /* LBA to begin verification at */ + uint8_t reserved0[1]; + uint8_t len[2]; /* number of blocks to write and verify */ + uint8_t reserved1[3]; +}; + +/* + * Replies to READ_FORMAT_CAPACITIES look like this: + * + * struct format_capacity_list_header + * struct format_capacity_descriptor[1..n] + * + * These are similar, but not totally identical to, the + * defect list used to format a rigid disk. + * + * The appropriate csio_decode() format string looks like this: + * "{} *i3 {Len} i1 {Blocks} i4 {} *b6 {Code} b2 {Blocklen} i3" + * + * If the capacity_list_length is greater than + * sizeof(struct format_capacity_descriptor), then there are + * additional format capacity descriptors available which + * denote which format(s) the drive can handle. + * + * (Source: USB Mass Storage UFI Specification) + */ + +struct format_capacity_list_header { + uint8_t unused[3]; + uint8_t capacity_list_length; +}; + +struct format_capacity_descriptor { + uint8_t nblocks[4]; /* total number of LBAs */ + uint8_t byte4; /* only present in max/cur descriptor */ +#define FCD_CODE_MASK 0x03 /* mask for code field above */ +#define FCD_UNFORMATTED 0x01 /* unformatted media present, + * maximum capacity returned */ +#define FCD_FORMATTED 0x02 /* formatted media present, + * current capacity returned */ +#define FCD_NOMEDIA 0x03 /* no media present, + * maximum device capacity returned */ + uint8_t block_length[3]; /* length of an LBA in bytes */ +}; + struct scsi_reassign_blocks_data { u_int8_t reserved[2]; ==== //depot/projects/netperf_socket/sys/compat/freebsd32/freebsd32_misc.c#8 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.24 2004/10/05 18:51:10 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.25 2004/10/11 22:04:15 peter Exp $"); #include "opt_compat.h" @@ -1203,25 +1203,21 @@ if (uap->namelen > CTL_MAXNAME || uap->namelen < 2) return (EINVAL); - - error = copyin(uap->name, &name, uap->namelen * sizeof(int)); + error = copyin(uap->name, name, uap->namelen * sizeof(int)); if (error) return (error); - mtx_lock(&Giant); - if (uap->oldlenp) oldlen = fuword32(uap->oldlenp); else oldlen = 0; error = userland_sysctl(td, name, uap->namelen, uap->old, &oldlen, 1, - uap->new, uap->newlen, &j); + uap->new, uap->newlen, &j, SCTL_MASK32); if (error && error != ENOMEM) goto done2; - if (uap->oldlenp) { + if (uap->oldlenp) suword32(uap->oldlenp, j); - } done2: mtx_unlock(&Giant); return (error); ==== //depot/projects/netperf_socket/sys/compat/linux/linux_util.h#3 (text+ko) ==== @@ -28,7 +28,7 @@ * * from: svr4_util.h,v 1.5 1994/11/18 02:54:31 christos Exp * from: linux_util.h,v 1.2 1995/03/05 23:23:50 fvdl Exp - * $FreeBSD: src/sys/compat/linux/linux_util.h,v 1.22 2004/08/15 11:52:45 tjr Exp $ + * $FreeBSD: src/sys/compat/linux/linux_util.h,v 1.23 2004/10/10 18:34:30 dwmalone Exp $ */ /* @@ -80,17 +80,17 @@ int linux_emul_convpath(struct thread *, char *, enum uio_seg, char **, int); int linux_emul_find(struct thread *, caddr_t *, char *, char **, int); -#define CHECKALT(p, sgp, path, i) \ +#define CHECKALT(td, sgp, path, i) \ do { \ int _error; \ \ - _error = linux_emul_find(p, sgp, path, &path, i); \ + _error = linux_emul_find(td, sgp, path, &path, i); \ if (_error == EFAULT) \ return (_error); \ } while (0) -#define CHECKALTEXIST(p, sgp, path) CHECKALT(p, sgp, path, 0) -#define CHECKALTCREAT(p, sgp, path) CHECKALT(p, sgp, path, 1) +#define CHECKALTEXIST(td, sgp, path) CHECKALT(td, sgp, path, 0) +#define CHECKALTCREAT(td, sgp, path) CHECKALT(td, sgp, path, 1) #define LCONVPATH(td, upath, pathp, i) \ do { \ @@ -108,9 +108,9 @@ #define DUMMY(s) \ int \ -linux_ ## s(struct thread *p, struct linux_ ## s ## _args *args) \ +linux_ ## s(struct thread *td, struct linux_ ## s ## _args *args) \ { \ - return (unimplemented_syscall(p, #s)); \ + return (unimplemented_syscall(td, #s)); \ } \ struct __hack ==== //depot/projects/netperf_socket/sys/conf/files#54 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.956 2004/10/08 00:24:30 brooks Exp $ +# $FreeBSD: src/sys/conf/files,v 1.957 2004/10/13 05:41:09 simokawa Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -393,6 +393,7 @@ dev/cy/cy_pci.c optional cy pci dev/dcons/dcons.c optional dcons dev/dcons/dcons_crom.c optional dcons_crom +dev/dcons/dcons_os.c optional dcons dev/digi/digi.c optional digi dev/digi/digi_isa.c optional digi isa dev/digi/digi_pci.c optional digi pci ==== //depot/projects/netperf_socket/sys/conf/kmod.mk#16 (text+ko) ==== @@ -1,42 +1,42 @@ # From: @(#)bsd.prog.mk 5.26 (Berkeley) 6/25/91 -# $FreeBSD: src/sys/conf/kmod.mk,v 1.168 2004/10/09 13:51:28 joerg Exp $ +# $FreeBSD: src/sys/conf/kmod.mk,v 1.171 2004/10/12 15:08:24 ru Exp $ # -# The include file handles installing Kernel Loadable Device -# drivers (KLD's). +# The include file handles building and installing loadable +# kernel modules. # # # +++ variables +++ # # CLEANFILES Additional files to remove for the clean and cleandir targets. # -# KMOD The name of the kernel module to build. +# EXPORT_SYMS A list of symbols that should be exported from the module, +# or the name of a file containing a list of symbols, or YES +# to export all symbols. If not defined, no symbols are +# exported. +# +# KMOD The name of the kernel module to build. # # KMODDIR Base path for kernel modules (see kld(4)). [/boot/kernel] # -# KMODOWN KLD owner. [${BINOWN}] +# KMODOWN Module file owner. [${BINOWN}] # -# KMODGRP KLD group. [${BINGRP}] +# KMODGRP Module file group. [${BINGRP}] # -# KMODMODE KLD mode. [${BINMODE}] +# KMODMODE Module file mode. [${BINMODE}] # # KMODLOAD Command to load a kernel module [/sbin/kldload] # # KMODUNLOAD Command to unload a kernel module [/sbin/kldunload] # -# PROG The name of the kernel module to build. -# If not supplied, ${KMOD}.o is used. +# MFILES Optionally a list of interfaces used by the module. +# This file contains a default list of interfaces. # -# SRCS List of source files +# PROG The name of the kernel module to build. +# If not supplied, ${KMOD}.ko is used. # -# DESTDIR Change the tree where the module gets installed. [not set] +# SRCS List of source files. # -# MFILES Optionally a list of interfaces used by the module. -# This file contains a default list of interfaces. -# -# EXPORT_SYMS A list of symbols that should be exported from the module, -# or the name of a file containing a list of symbols, or YES -# to export all symbols. If not defined, no symbols are -# exported. +# DESTDIR The tree where the module gets installed. [not set] # # +++ targets +++ # @@ -48,14 +48,11 @@ # is executed. # # load: -# Load KLD. +# Load a module. # # unload: -# Unload KLD. +# Unload a module. # -# bsd.obj.mk: clean, cleandir and obj -# bsd.dep.mk: cleandepend, depend and tags -# AWK?= awk KMODLOAD?= /sbin/kldload @@ -63,7 +60,7 @@ OBJCOPY?= objcopy .if defined(KMODDEPS) -.error "Do not use KMODDEPS on 5.0+, use MODULE_VERSION/MODULE_DEPEND" +.error "Do not use KMODDEPS on 5.0+; use MODULE_VERSION/MODULE_DEPEND" .endif .include @@ -88,10 +85,10 @@ .endif CFLAGS+= ${NOSTDINC} -I- ${INCLMAGIC} ${_ICFLAGS} .if defined(KERNBUILDDIR) -CFLAGS+= -include ${KERNBUILDDIR}/opt_global.h +CFLAGS+= -include ${KERNBUILDDIR}/opt_global.h .endif -# Add -I paths for system headers. Individual KLD makefiles don't +# Add -I paths for system headers. Individual module makefiles don't # need any -I paths for this. Similar defaults for .PATH can't be # set because there are no standard paths for non-headers. CFLAGS+= -I. -I@ @@ -130,7 +127,7 @@ CFLAGS+= -fno-omit-frame-pointer .endif -OBJS+= ${SRCS:N*.h:R:S/$/.o/g} +OBJS+= ${SRCS:N*.h:R:S/$/.o/g} .if !defined(PROG) PROG= ${KMOD}.ko @@ -154,7 +151,7 @@ EXPORT_SYMS?= NO .if ${EXPORT_SYMS} != YES -CLEANFILES+= ${.OBJDIR}/export_syms +CLEANFILES+= export_syms .endif .if ${MACHINE_ARCH} != amd64 @@ -166,15 +163,14 @@ .if defined(EXPORT_SYMS) .if ${EXPORT_SYMS} != YES .if ${EXPORT_SYMS} == NO - touch ${.OBJDIR}/export_syms + touch export_syms .elif !exists(${.CURDIR}/${EXPORT_SYMS}) - echo ${EXPORT_SYMS} > ${.OBJDIR}/export_syms + echo ${EXPORT_SYMS} > export_syms .else - grep -v '^#' < ${EXPORT_SYMS} > ${.OBJDIR}/export_syms + grep -v '^#' < ${EXPORT_SYMS} > export_syms .endif awk -f ${SYSDIR}/conf/kmod_syms.awk ${.TARGET} \ - ${.OBJDIR}/export_syms | \ - xargs -J% ${OBJCOPY} % ${.TARGET} + export_syms | xargs -J% ${OBJCOPY} % ${.TARGET} .endif .endif .if !defined(DEBUG_FLAGS) && ${MACHINE_ARCH} == amd64 @@ -186,7 +182,6 @@ all: objwarn ${PROG} beforedepend: ${_ILINKS} - @rm -f .depend # Ensure that the links exist without depending on it when it exists which # causes all the modules to be rebuilt when the directory pointed to changes. @@ -217,7 +212,7 @@ ${ECHO} ${.TARGET} "->" $$path ; \ ln -s $$path ${.TARGET} -CLEANFILES+= ${PROG} ${KMOD}.kld ${OBJS} ${_ILINKS} symb.tmp tmp.o +CLEANFILES+= ${PROG} ${KMOD}.kld ${OBJS} ${_ILINKS} .if defined(DEBUG_FLAGS) CLEANFILES+= ${FULLPROG} @@ -230,7 +225,7 @@ _INSTALLFLAGS:= ${_INSTALLFLAGS${ie}} .endfor -.if defined(DEBUG_FLAGS) +.if !target(install.debug) && defined(DEBUG_FLAGS) install.debug: cd ${.CURDIR}; ${MAKE} -DINSTALL_DEBUG install .endif @@ -264,23 +259,23 @@ .endif !target(install) .if !target(load) -load: ${PROG} - ${KMODLOAD} -v ${.OBJDIR}/${KMOD}.ko +load: ${PROG} + ${KMODLOAD} -v ${.OBJDIR}/${PROG} .endif .if !target(unload) unload: - ${KMODUNLOAD} -v ${KMOD} + ${KMODUNLOAD} -v ${PROG} .endif .if defined(KERNBUILDDIR) .PATH: ${KERNBUILDDIR} -CFLAGS += -I${KERNBUILDDIR} +CFLAGS+= -I${KERNBUILDDIR} .for _src in ${SRCS:Mopt_*.h} CLEANFILES+= ${_src} .if !target(${_src}) ${_src}: - ln -sf ${KERNBUILDDIR}/${_src} ${.TARGET} + ln -s ${KERNBUILDDIR}/${_src} ${.TARGET} .endif .endfor .else @@ -359,8 +354,6 @@ ${AWK} -f @/tools/acpi_quirks2h.awk @/dev/acpica/acpi_quirks .endif -regress: - lint: ${SRCS} ${LINT} ${LINTKERNFLAGS} ${CFLAGS:M-[DILU]*} ${.ALLSRC:M*.c} ==== //depot/projects/netperf_socket/sys/dev/acpica/acpi.c#41 (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/dev/acpica/acpi.c,v 1.190 2004/09/21 17:19:38 njl Exp $ + * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.193 2004/10/13 07:29:29 njl Exp $ */ #include "opt_acpi.h" @@ -617,6 +617,8 @@ retval += resource_list_print_type(rl, "iomem", SYS_RES_MEMORY, "%#lx"); retval += resource_list_print_type(rl, "irq", SYS_RES_IRQ, "%ld"); retval += resource_list_print_type(rl, "drq", SYS_RES_DRQ, "%ld"); + if (device_get_flags(child)) + retval += printf(" flags %#x", device_get_flags(child)); retval += bus_print_child_footer(bus, child); >>> TRUNCATED FOR MAIL (1000 lines) <<<