Date: Tue, 28 Dec 2004 15:51:03 GMT From: John Baldwin <jhb@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 67789 for review Message-ID: <200412281551.iBSFp34E027694@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=67789 Change 67789 by jhb@jhb_slimer on 2004/12/28 15:50:43 IFC @67788. Affected files ... .. //depot/projects/smpng/sys/alpha/alpha/machdep.c#75 integrate .. //depot/projects/smpng/sys/amd64/amd64/vm_machdep.c#21 integrate .. //depot/projects/smpng/sys/amd64/isa/isa.c#5 integrate .. //depot/projects/smpng/sys/conf/files#130 integrate .. //depot/projects/smpng/sys/conf/majors#42 integrate .. //depot/projects/smpng/sys/contrib/ipfilter/netinet/fil.c#15 integrate .. //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_auth.c#12 integrate .. //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_compat.h#10 integrate .. //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_fil.c#18 integrate .. //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_fil.h#10 integrate .. //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_frag.c#10 integrate .. //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_log.c#10 integrate .. //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_nat.h#8 integrate .. //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_proxy.c#10 integrate .. //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_state.c#11 integrate .. //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_state.h#7 integrate .. //depot/projects/smpng/sys/contrib/ipfilter/netinet/mlfk_ipl.c#6 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi.c#76 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_ec.c#33 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_pci_link.c#26 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_pcib.c#28 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_pcib_pci.c#9 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_powerres.c#20 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_resource.c#22 integrate .. //depot/projects/smpng/sys/dev/ata/ata-chipset.c#47 integrate .. //depot/projects/smpng/sys/dev/ata/ata-lowlevel.c#22 integrate .. //depot/projects/smpng/sys/dev/md/md.c#60 integrate .. //depot/projects/smpng/sys/dev/ofw/ofw_disk.c#14 integrate .. //depot/projects/smpng/sys/dev/sound/usb/uaudio.c#4 integrate .. //depot/projects/smpng/sys/dev/sound/usb/uaudio.h#2 integrate .. //depot/projects/smpng/sys/dev/sound/usb/uaudio_pcm.c#6 integrate .. //depot/projects/smpng/sys/dev/sound/usb/uaudioreg.h#3 integrate .. //depot/projects/smpng/sys/dev/usb/usbdevs#68 integrate .. //depot/projects/smpng/sys/geom/mirror/g_mirror.c#14 integrate .. //depot/projects/smpng/sys/geom/raid3/g_raid3.c#10 integrate .. //depot/projects/smpng/sys/geom/raid3/g_raid3.h#5 integrate .. //depot/projects/smpng/sys/geom/raid3/g_raid3_ctl.c#4 integrate .. //depot/projects/smpng/sys/i386/i386/vm_machdep.c#57 integrate .. //depot/projects/smpng/sys/i386/isa/isa.c#9 integrate .. //depot/projects/smpng/sys/isa/isa_common.c#14 integrate .. //depot/projects/smpng/sys/isa/isa_common.h#5 integrate .. //depot/projects/smpng/sys/isa/pnp.c#9 integrate .. //depot/projects/smpng/sys/isa/pnpvar.h#3 integrate .. //depot/projects/smpng/sys/kern/init_sysent.c#51 integrate .. //depot/projects/smpng/sys/kern/kern_clock.c#38 integrate .. //depot/projects/smpng/sys/kern/kern_kse.c#14 integrate .. //depot/projects/smpng/sys/kern/kern_switch.c#53 integrate .. //depot/projects/smpng/sys/kern/kern_synch.c#87 integrate .. //depot/projects/smpng/sys/kern/kern_umtx.c#14 integrate .. //depot/projects/smpng/sys/kern/sched_4bsd.c#43 integrate .. //depot/projects/smpng/sys/kern/sched_ule.c#48 integrate .. //depot/projects/smpng/sys/kern/subr_trap.c#74 integrate .. //depot/projects/smpng/sys/kern/subr_witness.c#124 integrate .. //depot/projects/smpng/sys/kern/syscalls.c#51 integrate .. //depot/projects/smpng/sys/kern/syscalls.master#52 integrate .. //depot/projects/smpng/sys/kern/vfs_mount.c#41 integrate .. //depot/projects/smpng/sys/modules/ipfilter/Makefile#7 integrate .. //depot/projects/smpng/sys/modules/sppp/Makefile#4 integrate .. //depot/projects/smpng/sys/net/bpf.c#44 integrate .. //depot/projects/smpng/sys/net/if_sppp.h#4 integrate .. //depot/projects/smpng/sys/net/if_spppfr.c#1 branch .. //depot/projects/smpng/sys/net/if_spppsubr.c#23 integrate .. //depot/projects/smpng/sys/netgraph/netflow/netflow.c#3 integrate .. //depot/projects/smpng/sys/netgraph/ng_device.c#12 integrate .. //depot/projects/smpng/sys/netgraph/ng_sample.c#8 integrate .. //depot/projects/smpng/sys/netinet/ip_output.c#68 integrate .. //depot/projects/smpng/sys/netinet/tcp_input.c#65 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#46 integrate .. //depot/projects/smpng/sys/pci/if_sk.c#40 integrate .. //depot/projects/smpng/sys/sparc64/include/ver.h#5 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/identcpu.c#13 integrate .. //depot/projects/smpng/sys/sys/ktr.h#18 integrate .. //depot/projects/smpng/sys/sys/mdioctl.h#12 integrate .. //depot/projects/smpng/sys/sys/syscall.h#50 integrate .. //depot/projects/smpng/sys/sys/syscall.mk#50 integrate .. //depot/projects/smpng/sys/sys/sysproto.h#52 integrate .. //depot/projects/smpng/sys/sys/umtx.h#6 integrate .. //depot/projects/smpng/sys/vm/uma.h#13 integrate .. //depot/projects/smpng/sys/vm/uma_core.c#51 integrate .. //depot/projects/smpng/sys/vm/uma_dbg.c#11 integrate .. //depot/projects/smpng/sys/vm/uma_dbg.h#4 integrate .. //depot/projects/smpng/sys/vm/uma_int.h#23 integrate .. //depot/projects/smpng/sys/vm/vm_fault.c#45 integrate .. //depot/projects/smpng/sys/vm/vm_page.c#59 integrate .. //depot/projects/smpng/sys/vm/vm_page.h#28 integrate .. //depot/projects/smpng/sys/vm/vnode_pager.c#46 integrate .. //depot/user/jhb/clock/notes#22 edit .. //depot/user/jhb/needresched/alpha/alpha/pmap.c#4 integrate .. //depot/user/jhb/needresched/amd64/amd64/pmap.c#6 integrate .. //depot/user/jhb/needresched/arm/arm/pmap.c#5 integrate .. //depot/user/jhb/needresched/arm/conf/SIMICS#6 integrate .. //depot/user/jhb/needresched/arm/include/atomic.h#4 integrate .. //depot/user/jhb/needresched/arm/sa11x0/assabet_machdep.c#5 integrate .. //depot/user/jhb/needresched/arm/sa11x0/sa11x0_irqhandler.c#3 integrate .. //depot/user/jhb/needresched/arm/xscale/i80321/i80321_pci.c#2 integrate .. //depot/user/jhb/needresched/boot/Makefile#3 integrate .. //depot/user/jhb/needresched/boot/alpha/boot1/Makefile#2 integrate .. //depot/user/jhb/needresched/boot/alpha/cdboot/Makefile#2 integrate .. //depot/user/jhb/needresched/boot/alpha/common/Makefile.common#2 integrate .. //depot/user/jhb/needresched/boot/alpha/netboot/Makefile#2 integrate .. //depot/user/jhb/needresched/boot/arc/loader/Makefile#2 integrate .. //depot/user/jhb/needresched/boot/i386/boot0/Makefile#2 integrate .. //depot/user/jhb/needresched/boot/i386/btx/btx/Makefile#2 integrate .. //depot/user/jhb/needresched/boot/i386/btx/btxldr/Makefile#2 integrate .. //depot/user/jhb/needresched/boot/i386/btx/lib/Makefile#2 integrate .. //depot/user/jhb/needresched/boot/i386/cdboot/Makefile#2 integrate .. //depot/user/jhb/needresched/boot/i386/kgzldr/Makefile#2 integrate .. //depot/user/jhb/needresched/boot/i386/loader/Makefile#3 integrate .. //depot/user/jhb/needresched/boot/i386/mbr/Makefile#2 integrate .. //depot/user/jhb/needresched/boot/ia64/efi/Makefile#3 integrate .. //depot/user/jhb/needresched/boot/ia64/ski/Makefile#2 integrate .. //depot/user/jhb/needresched/boot/pc98/boot0.5/Makefile#2 integrate .. //depot/user/jhb/needresched/boot/pc98/boot0/Makefile#2 integrate .. //depot/user/jhb/needresched/boot/pc98/boot2/Makefile#2 integrate .. //depot/user/jhb/needresched/boot/pc98/btx/btx/Makefile#2 integrate .. //depot/user/jhb/needresched/boot/pc98/btx/btxldr/Makefile#2 integrate .. //depot/user/jhb/needresched/boot/pc98/btx/lib/Makefile#2 integrate .. //depot/user/jhb/needresched/boot/pc98/kgzldr/Makefile#2 integrate .. //depot/user/jhb/needresched/boot/pc98/loader/Makefile#3 integrate .. //depot/user/jhb/needresched/boot/powerpc/loader/Makefile#2 integrate .. //depot/user/jhb/needresched/boot/sparc64/boot1/Makefile#2 integrate .. //depot/user/jhb/needresched/boot/sparc64/loader/Makefile#2 integrate .. //depot/user/jhb/needresched/conf/NOTES#6 integrate .. //depot/user/jhb/needresched/conf/files.amd64#5 integrate .. //depot/user/jhb/needresched/contrib/ipfilter/netinet/fil.c#2 integrate .. //depot/user/jhb/needresched/contrib/ipfilter/netinet/ip_nat.c#2 integrate .. //depot/user/jhb/needresched/contrib/pf/net/pf.c#6 integrate .. //depot/user/jhb/needresched/crypto/rijndael/Makefile#3 integrate .. //depot/user/jhb/needresched/dev/acpica/acpi_cmbat.c#4 integrate .. //depot/user/jhb/needresched/dev/acpica/acpi_pci_link.c#5 integrate .. //depot/user/jhb/needresched/dev/aic7xxx/aicasm/Makefile#3 integrate .. //depot/user/jhb/needresched/dev/bge/if_bge.c#7 integrate .. //depot/user/jhb/needresched/dev/bge/if_bgereg.h#4 integrate .. //depot/user/jhb/needresched/dev/bktr/bktr_card.c#2 integrate .. //depot/user/jhb/needresched/dev/bktr/bktr_card.h#2 integrate .. //depot/user/jhb/needresched/dev/bktr/bktr_tuner.c#2 integrate .. //depot/user/jhb/needresched/dev/bktr/bktr_tuner.h#2 integrate .. //depot/user/jhb/needresched/dev/bktr/msp34xx.c#2 integrate .. //depot/user/jhb/needresched/dev/fxp/if_fxp.c#3 integrate .. //depot/user/jhb/needresched/dev/hptmv/entry.c#2 integrate .. //depot/user/jhb/needresched/dev/kbd/atkbd.c#2 integrate .. //depot/user/jhb/needresched/dev/kbd/atkbdreg.h#2 integrate .. //depot/user/jhb/needresched/dev/kbd/kbd.c#2 integrate .. //depot/user/jhb/needresched/dev/mpt/mpt_pci.c#2 integrate .. //depot/user/jhb/needresched/dev/nmdm/nmdm.c#3 integrate .. //depot/user/jhb/needresched/dev/ofw/ofw_disk.c#2 integrate .. //depot/user/jhb/needresched/dev/patm/genrtab/Makefile#3 integrate .. //depot/user/jhb/needresched/dev/pccbb/pccbb_pci.c#2 integrate .. //depot/user/jhb/needresched/dev/pccbb/pccbbdevid.h#2 integrate .. //depot/user/jhb/needresched/dev/random/randomdev.c#2 integrate .. //depot/user/jhb/needresched/dev/random/randomdev_soft.c#7 integrate .. //depot/user/jhb/needresched/dev/snp/snp.c#4 integrate .. //depot/user/jhb/needresched/dev/sound/usb/uaudio.c#2 integrate .. //depot/user/jhb/needresched/dev/twe/twe.c#2 integrate .. //depot/user/jhb/needresched/dev/twe/tweio.h#2 integrate .. //depot/user/jhb/needresched/dev/usb/ehci.c#5 integrate .. //depot/user/jhb/needresched/dev/usb/ugen.c#7 integrate .. //depot/user/jhb/needresched/dev/usb/uhid.c#4 integrate .. //depot/user/jhb/needresched/dev/usb/ums.c#3 integrate .. //depot/user/jhb/needresched/dev/usb/usb.c#3 integrate .. //depot/user/jhb/needresched/dev/usb/usbdevs#6 integrate .. //depot/user/jhb/needresched/dev/vkbd/vkbd.c#2 integrate .. //depot/user/jhb/needresched/dev/wi/if_wi.c#3 integrate .. //depot/user/jhb/needresched/fs/devfs/devfs_vnops.c#5 integrate .. //depot/user/jhb/needresched/geom/geom.h#5 integrate .. //depot/user/jhb/needresched/geom/mirror/g_mirror.c#12 integrate .. //depot/user/jhb/needresched/geom/mirror/g_mirror.h#4 integrate .. //depot/user/jhb/needresched/geom/mirror/g_mirror_ctl.c#2 integrate .. //depot/user/jhb/needresched/geom/raid3/g_raid3.c#10 integrate .. //depot/user/jhb/needresched/i386/i386/intr_machdep.c#4 integrate .. //depot/user/jhb/needresched/i386/i386/local_apic.c#4 integrate .. //depot/user/jhb/needresched/i386/i386/mp_machdep.c#5 integrate .. //depot/user/jhb/needresched/i386/i386/pmap.c#8 integrate .. //depot/user/jhb/needresched/i386/include/apicreg.h#2 integrate .. //depot/user/jhb/needresched/i386/include/apicvar.h#4 integrate .. //depot/user/jhb/needresched/i386/include/intr_machdep.h#2 integrate .. //depot/user/jhb/needresched/ia64/ia64/pmap.c#5 integrate .. //depot/user/jhb/needresched/kern/init_sysent.c#6 integrate .. //depot/user/jhb/needresched/kern/kern_umtx.c#3 integrate .. //depot/user/jhb/needresched/kern/syscalls.c#6 integrate .. //depot/user/jhb/needresched/kern/syscalls.master#6 integrate .. //depot/user/jhb/needresched/kern/tty.c#8 integrate .. //depot/user/jhb/needresched/kern/tty_pty.c#3 integrate .. //depot/user/jhb/needresched/kern/uipc_sem.c#2 integrate .. //depot/user/jhb/needresched/kern/uipc_socket.c#7 integrate .. //depot/user/jhb/needresched/kern/uipc_socket2.c#4 integrate .. //depot/user/jhb/needresched/kern/uipc_usrreq.c#5 integrate .. //depot/user/jhb/needresched/kern/vfs_mount.c#8 integrate .. //depot/user/jhb/needresched/kern/vfs_subr.c#8 integrate .. //depot/user/jhb/needresched/modules/Makefile#6 integrate .. //depot/user/jhb/needresched/modules/acpi/acpi_video/Makefile#2 integrate .. //depot/user/jhb/needresched/modules/cp/Makefile#2 integrate .. //depot/user/jhb/needresched/modules/if_gif/Makefile#3 integrate .. //depot/user/jhb/needresched/modules/ipfilter/Makefile#2 integrate .. //depot/user/jhb/needresched/modules/netgraph/Makefile#3 integrate .. //depot/user/jhb/needresched/modules/netgraph/fec/sample_startup#2 delete .. //depot/user/jhb/needresched/modules/pf/Makefile#2 integrate .. //depot/user/jhb/needresched/modules/wlan_ccmp/Makefile#2 integrate .. //depot/user/jhb/needresched/net/bpf.c#4 integrate .. //depot/user/jhb/needresched/net/if_tap.c#3 integrate .. //depot/user/jhb/needresched/net/if_tun.c#4 integrate .. //depot/user/jhb/needresched/net/ppp_tty.c#3 integrate .. //depot/user/jhb/needresched/netgraph/ng_base.c#5 integrate .. //depot/user/jhb/needresched/netgraph/ng_sample.c#2 integrate .. //depot/user/jhb/needresched/netinet/tcp_subr.c#8 integrate .. //depot/user/jhb/needresched/netinet/tcp_timer.c#5 integrate .. //depot/user/jhb/needresched/netinet/tcp_var.h#4 integrate .. //depot/user/jhb/needresched/nfsclient/nfs.h#4 integrate .. //depot/user/jhb/needresched/nfsclient/nfs_bio.c#6 integrate .. //depot/user/jhb/needresched/nfsclient/nfs_nfsiod.c#3 integrate .. //depot/user/jhb/needresched/nfsclient/nfs_vfsops.c#6 integrate .. //depot/user/jhb/needresched/nfsclient/nfs_vnops.c#5 integrate .. //depot/user/jhb/needresched/nfsclient/nfsnode.h#5 integrate .. //depot/user/jhb/needresched/pc98/pc98/fd.c#5 integrate .. //depot/user/jhb/needresched/pci/if_sk.c#5 integrate .. //depot/user/jhb/needresched/powerpc/powerpc/pmap.c#3 integrate .. //depot/user/jhb/needresched/sparc64/sparc64/pmap.c#4 integrate .. //depot/user/jhb/needresched/sys/mutex.h#2 integrate .. //depot/user/jhb/needresched/sys/proc.h#10 integrate .. //depot/user/jhb/needresched/sys/syscall.h#5 integrate .. //depot/user/jhb/needresched/sys/syscall.mk#5 integrate .. //depot/user/jhb/needresched/sys/sysproto.h#5 integrate .. //depot/user/jhb/needresched/sys/umtx.h#2 integrate .. //depot/user/jhb/needresched/sys/vnode.h#6 integrate .. //depot/user/jhb/needresched/vm/vm_fault.c#4 integrate .. //depot/user/jhb/needresched/vm/vm_map.c#3 integrate .. //depot/user/jhb/needresched/vm/vm_meter.c#3 integrate .. //depot/user/jhb/needresched/vm/vm_object.c#6 integrate Differences ... ==== //depot/projects/smpng/sys/alpha/alpha/machdep.c#75 (text+ko) ==== @@ -88,7 +88,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.226 2004/11/27 06:51:32 das Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.227 2004/12/26 13:23:01 wilko Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -338,7 +338,7 @@ "EV3", /* 1 */ "EV4 (21064)", /* 2 */ "Simulation", /* 3 */ - "LCA Family", /* 4 */ + "LCA (21066/21068)", /* 4 */ "EV5 (21164)", /* 5 */ "EV45 (21064A)", /* 6 */ "EV56 (21164A)", /* 7 */ @@ -348,7 +348,8 @@ "EV67 (21264A)", /* 11 */ "EV68CB (21264C)" /* 12 */ "EV68AL (21264B)", /* 13 */ - "EV68CX (21264D)" /* 14 */ + "EV68CX (21264D)", /* 14 */ + "EV7 (21364)" /* 15 */ }; /* ==== //depot/projects/smpng/sys/amd64/amd64/vm_machdep.c#21 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.240 2004/11/30 20:25:46 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.242 2004/12/27 06:42:25 njl Exp $"); #include "opt_isa.h" #include "opt_cpu.h" @@ -79,6 +79,11 @@ #include <amd64/isa/isa.h> static void cpu_reset_real(void); +#ifdef SMP +static void cpu_reset_proxy(void); +static u_int cpu_reset_proxyid; +static volatile u_int cpu_reset_proxy_active; +#endif /* * Finish a fork operation, with process p2 nearly set up. @@ -322,33 +327,58 @@ td->td_frame->tf_rdi = (register_t)ku->ku_mailbox; } +#ifdef SMP +static void +cpu_reset_proxy() +{ + + cpu_reset_proxy_active = 1; + while (cpu_reset_proxy_active == 1) + ; /* Wait for other cpu to see that we've started */ + stop_cpus((1<<cpu_reset_proxyid)); + printf("cpu_reset_proxy: Stopped CPU %d\n", cpu_reset_proxyid); + DELAY(1000000); + cpu_reset_real(); +} +#endif -/* - * Force reset the processor by invalidating the entire address space! - */ void cpu_reset() { #ifdef SMP - if (smp_active == 0) { - cpu_reset_real(); - /* NOTREACHED */ - } else { - u_int map; + u_int cnt, map; - printf("cpu_reset called on cpu#%d\n", PCPU_GET(cpuid)); - map = PCPU_GET(other_cpus) & ~ stopped_cpus; + if (smp_active) { + map = PCPU_GET(other_cpus) & ~stopped_cpus; if (map != 0) { printf("cpu_reset: Stopping other CPUs\n"); - stop_cpus(map); /* Stop all other CPUs */ + stop_cpus(map); + } + + if (PCPU_GET(cpuid) != 0) { + cpu_reset_proxyid = PCPU_GET(cpuid); + cpustop_restartfunc = cpu_reset_proxy; + cpu_reset_proxy_active = 0; + printf("cpu_reset: Restarting BSP\n"); + started_cpus = (1<<0); /* Restart CPU #0 */ + + cnt = 0; + while (cpu_reset_proxy_active == 0 && cnt < 10000000) + cnt++; /* Wait for BSP to announce restart */ + if (cpu_reset_proxy_active == 0) + printf("cpu_reset: Failed to restart BSP\n"); + enable_intr(); + cpu_reset_proxy_active = 2; + + while (1); + /* NOTREACHED */ } + DELAY(1000000); - cpu_reset_real(); - /* NOTREACHED */ } -#else +#endif cpu_reset_real(); -#endif + /* NOTREACHED */ } static void @@ -357,15 +387,15 @@ /* * Attempt to do a CPU reset via the keyboard controller, - * do not turn of the GateA20, as any machine that fails + * do not turn off GateA20, as any machine that fails * to do the reset here would then end up in no man's land. */ - outb(IO_KBD + 4, 0xFE); DELAY(500000); /* wait 0.5 sec to see if that did it */ printf("Keyboard reset did not work, attempting CPU shutdown\n"); DELAY(1000000); /* wait 1 sec for printf to complete */ - /* force a shutdown by unmapping entire address space ! */ + + /* Force a shutdown by unmapping entire address space. */ bzero((caddr_t)PML4map, PAGE_SIZE); /* "good night, sweet prince .... <THUNK!>" */ ==== //depot/projects/smpng/sys/amd64/isa/isa.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/isa/isa.c,v 1.146 2004/03/17 21:45:55 jmg Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/isa.c,v 1.147 2004/12/24 23:03:17 imp Exp $"); /* * Modifications for Intel architecture by Garrett A. Wollman. @@ -59,7 +59,9 @@ #include <sys/param.h> #include <sys/bus.h> +#include <sys/kernel.h> #include <sys/malloc.h> +#include <sys/module.h> #include <machine/bus.h> #include <sys/rman.h> @@ -157,3 +159,8 @@ { return (BUS_TEARDOWN_INTR(device_get_parent(bus), child, r, cookie)); } + +/* + * On this platform, isa can also attach to the legacy bus. + */ +DRIVER_MODULE(isa, legacy, isa_driver, isa_devclass, 0, 0); ==== //depot/projects/smpng/sys/conf/files#130 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.975 2004/12/09 13:54:28 takawata Exp $ +# $FreeBSD: src/sys/conf/files,v 1.976 2004/12/28 00:07:56 rik Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1251,6 +1251,8 @@ net/if_mib.c standard net/if_ppp.c optional ppp net/if_sl.c optional sl +net/if_spppfr.c optional sppp +net/if_spppfr.c optional i4bisppp net/if_spppsubr.c optional sppp net/if_spppsubr.c optional i4bisppp net/if_stf.c optional stf ==== //depot/projects/smpng/sys/conf/majors#42 (text+ko) ==== @@ -1,4 +1,7 @@ -# $FreeBSD: src/sys/conf/majors,v 1.203 2004/10/01 06:04:24 imp Exp $ +# $FreeBSD: src/sys/conf/majors,v 1.205 2004/12/27 18:58:57 imp Exp $ +# +# Major numbers are now assigned in RELENG_4. This file is left to +# rot in peace in current. # # This list is semi-obsoleted by DEVFS, but for now it still contains # the current allocation of device major numbers. ==== //depot/projects/smpng/sys/contrib/ipfilter/netinet/fil.c#15 (text+ko) ==== @@ -100,7 +100,7 @@ #if !defined(lint) static const char sccsid[] = "@(#)fil.c 1.36 6/5/96 (C) 1993-2000 Darren Reed"; -static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/fil.c,v 1.40 2004/12/16 21:02:15 darrenr Exp $"; +static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/fil.c,v 1.42 2004/12/26 09:08:42 darrenr Exp $"; #endif #ifndef _KERNEL @@ -115,10 +115,10 @@ # define FR_VERBOSE(verb_pr) # define FR_DEBUG(verb_pr) # define IPLLOG(a, c, d, e) ipflog(a, c, d, e) -# if SOLARIS || defined(__sgi) +# ifdef USE_MUTEX extern KRWLOCK_T ipf_mutex, ipf_auth, ipf_nat; extern kmutex_t ipf_rw; -# endif /* SOLARIS || __sgi */ +# endif /* USE_MUTEX */ #endif /* _KERNEL */ @@ -1051,15 +1051,6 @@ fin->fin_out = out; #endif /* _KERNEL */ -#ifndef __FreeBSD__ - /* - * Be careful here: ip_id is in network byte order when called - * from ip_output() - */ - if ((out) && (v == 4)) - ip->ip_id = ntohs(ip->ip_id); -#endif - changed = 0; fin->fin_v = v; fin->fin_ifp = ifp; @@ -1305,11 +1296,6 @@ } #endif /* IPFILTER_LOG */ -#ifndef __FreeBSD__ - if ((out) && (v == 4)) - ip->ip_id = htons(ip->ip_id); -#endif - #ifdef _KERNEL /* * Only allow FR_DUP to work if a rule matched - it makes no sense to ==== //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_auth.c#12 (text+ko) ==== @@ -105,11 +105,11 @@ #if !defined(lint) /* static const char rcsid[] = "@(#)$Id: ip_auth.c,v 2.11.2.12 2001/07/18 14:57:08 darrenr Exp $"; */ -static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/ip_auth.c,v 1.36 2004/06/22 05:20:30 darrenr Exp $"; +static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/ip_auth.c,v 1.38 2004/12/26 09:09:29 darrenr Exp $"; #endif -#if (SOLARIS || defined(__sgi)) && defined(_KERNEL) +#ifdef USE_MUTEX extern KRWLOCK_T ipf_auth, ipf_mutex; extern kmutex_t ipf_authmx; # if SOLARIS @@ -283,11 +283,6 @@ bo = ip->ip_len; ip->ip_len = htons(bo); -# if !SOLARIS && !defined(__NetBSD__) && !defined(__FreeBSD__) - /* 4.4BSD converts this ip_input.c, but I don't in solaris.c */ - bo = ip->ip_id; - ip->ip_id = htons(bo); -# endif bo = ip->ip_off; ip->ip_off = htons(bo); } ==== //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_compat.h#10 (text+ko) ==== @@ -5,7 +5,7 @@ * * @(#)ip_compat.h 1.8 1/14/96 * $Id: ip_compat.h,v 2.26.2.9 2001/01/14 14:58:01 darrenr Exp $ - * $FreeBSD: src/sys/contrib/ipfilter/netinet/ip_compat.h,v 1.23 2004/06/21 22:46:35 darrenr Exp $ + * $FreeBSD: src/sys/contrib/ipfilter/netinet/ip_compat.h,v 1.24 2004/12/24 09:14:26 darrenr Exp $ */ #ifndef __IP_COMPAT_H__ @@ -424,6 +424,15 @@ # undef MUTEX_INIT # undef MUTEX_DESTROY #endif +#if defined(__FreeBSD_version) && (__FreeBSD_version >= 500043) +# include <sys/mutex.h> +# include <sys/sx.h> +# include <machine/atomic.h> +# define USE_MUTEX 1 +# define kmutex_t struct mtx +# define KRWLOCK_T struct sx +# define NETBSD_PF +#endif #ifdef KERNEL # if SOLARIS # if SOLARIS2 >= 6 @@ -449,6 +458,7 @@ mutex_exit(&ipf_rw); } # endif # define MUTEX_ENTER(x) mutex_enter(x) +# define USE_MUTEX 1 # if 1 # define KRWLOCK_T krwlock_t # define READ_ENTER(x) rw_enter(x, RW_READER) @@ -497,6 +507,7 @@ # define IFNAME(x) ((ill_t *)x)->ill_name # else /* SOLARIS */ # if defined(__sgi) +# define USE_MUTEX 1 # define ATOMIC_INC(x) { MUTEX_ENTER(&ipf_rw); \ (x)++; MUTEX_EXIT(&ipf_rw); } # define ATOMIC_DEC(x) { MUTEX_ENTER(&ipf_rw); \ @@ -512,17 +523,45 @@ # define MUTEX_INIT(x,y,z) (x)->l = LOCK_ALLOC((uchar_t)-1, IPF_LOCK_PL, (lkinfo_t *)-1, KM_NOSLEEP) # define MUTEX_DESTROY(x) LOCK_DEALLOC((x)->l) # else /* __sgi */ -# define ATOMIC_INC(x) (x)++ -# define ATOMIC_DEC(x) (x)-- -# define MUTEX_ENTER(x) ; -# define READ_ENTER(x) ; -# define WRITE_ENTER(x) ; -# define RW_UPGRADE(x) ; -# define MUTEX_DOWNGRADE(x) ; -# define RWLOCK_EXIT(x) ; -# define MUTEX_EXIT(x) ; -# define MUTEX_INIT(x,y,z) ; -# define MUTEX_DESTROY(x) ; +# if defined(__FreeBSD_version) && (__FreeBSD_version >= 500043) +# include <sys/mutex.h> +# include <sys/sx.h> +# include <machine/atomic.h> +# define USE_MUTEX 1 +# define kmutex_t struct mtx +# define KRWLOCK_T struct sx +# define ATOMIC_INC(x) { MUTEX_ENTER(&ipf_rw); \ + (x)++; MUTEX_EXIT(&ipf_rw); } +# define ATOMIC_DEC(x) { MUTEX_ENTER(&ipf_rw); \ + (x)--; MUTEX_EXIT(&ipf_rw); } +# define MUTEX_ENTER(x) mtx_lock(x) +# define READ_ENTER(x) sx_slock(x) +# define WRITE_ENTER(x) sx_xlock(x) +# define RW_UPGRADE(x) ; +# define MUTEX_DOWNGRADE(x) sx_downgrade(x) +# define RWLOCK_INIT(x, y, z) sx_init((x), (y)) +# define RWLOCK_EXIT(x) do { \ + if ((x)->sx_cnt < 0) \ + sx_xunlock(x); \ + else \ + sx_sunlock(x); \ + } while (0) +# define MUTEX_EXIT(x) mtx_unlock(x) +# define MUTEX_INIT(x,y,z) mtx_init((x), (y), NULL, MTX_DEF) +# define MUTEX_DESTROY(x) mtx_destroy(x) +# else +# define ATOMIC_INC(x) (x)++ +# define ATOMIC_DEC(x) (x)-- +# define MUTEX_ENTER(x) ; +# define READ_ENTER(x) ; +# define WRITE_ENTER(x) ; +# define RW_UPGRADE(x) ; +# define MUTEX_DOWNGRADE(x) ; +# define RWLOCK_EXIT(x) ; +# define MUTEX_EXIT(x) ; +# define MUTEX_INIT(x,y,z) ; +# define MUTEX_DESTROY(x) ; +# endif # endif /* __sgi */ # ifndef linux # define FREE_MB_T(m) m_freem(m) ==== //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_fil.c#18 (text+ko) ==== @@ -132,7 +132,7 @@ #if !defined(lint) static const char sccsid[] = "@(#)ip_fil.c 2.41 6/5/96 (C) 1993-2000 Darren Reed"; /* static const char rcsid[] = "@(#)$Id: ip_fil.c,v 2.42.2.34 2001/07/23 13:49:57 darrenr Exp $"; */ -static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/ip_fil.c,v 1.49 2004/09/29 04:54:32 mlaier Exp $"; +static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/ip_fil.c,v 1.51 2004/12/26 09:08:42 darrenr Exp $"; #endif extern struct protosw inetsw[]; @@ -169,6 +169,8 @@ # endif # ifdef __sgi extern int tcp_mtudisc; +# endif +# ifdef USE_MUTEX extern kmutex_t ipf_rw; extern KRWLOCK_T ipf_mutex; # endif ==== //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_fil.h#10 (text+ko) ==== @@ -5,7 +5,7 @@ * * @(#)ip_fil.h 1.35 6/5/96 * $Id: ip_fil.h,v 2.29.2.4 2000/11/12 11:54:53 darrenr Exp $ - * $FreeBSD: src/sys/contrib/ipfilter/netinet/ip_fil.h,v 1.27 2004/08/27 20:01:08 andre Exp $ + * $FreeBSD: src/sys/contrib/ipfilter/netinet/ip_fil.h,v 1.29 2004/12/25 00:48:27 scottl Exp $ */ #ifndef __IP_FIL_H__ ==== //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_frag.c#10 (text+ko) ==== @@ -90,7 +90,7 @@ #if !defined(lint) static const char sccsid[] = "@(#)ip_frag.c 1.11 3/24/96 (C) 1993-2000 Darren Reed"; -static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/ip_frag.c,v 1.25 2004/06/21 22:46:35 darrenr Exp $"; +static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/ip_frag.c,v 1.26 2004/12/24 09:14:26 darrenr Exp $"; #endif @@ -109,7 +109,7 @@ extern int ipfr_timer_id; # endif #endif -#if (SOLARIS || defined(__sgi)) && defined(_KERNEL) +#ifdef USE_MUTEX extern KRWLOCK_T ipf_frag, ipf_natfrag, ipf_nat, ipf_mutex; # if SOLARIS extern KRWLOCK_T ipf_solaris; ==== //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_log.c#10 (text+ko) ==== @@ -4,7 +4,7 @@ * See the IPFILTER.LICENCE file for details on licencing. * * $Id: ip_log.c,v 2.5.2.1 2000/07/19 13:11:47 darrenr Exp $ - * $FreeBSD: src/sys/contrib/ipfilter/netinet/ip_log.c,v 1.27 2004/06/21 22:46:35 darrenr Exp $ + * $FreeBSD: src/sys/contrib/ipfilter/netinet/ip_log.c,v 1.28 2004/12/24 09:14:26 darrenr Exp $ */ #include <sys/param.h> #if defined(KERNEL) && !defined(_KERNEL) @@ -128,7 +128,7 @@ # endif -# if SOLARIS || defined(__sgi) +# if USE_MUTEX extern kmutex_t ipl_mutex; # if SOLARIS extern kcondvar_t iplwait; ==== //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_nat.h#8 (text+ko) ==== @@ -5,7 +5,7 @@ * * @(#)ip_nat.h 1.5 2/4/96 * $Id: ip_nat.h,v 2.17.2.14 2000/11/18 03:58:04 darrenr Exp $ - * $FreeBSD: src/sys/contrib/ipfilter/netinet/ip_nat.h,v 1.21 2004/06/21 22:46:36 darrenr Exp $ + * $FreeBSD: src/sys/contrib/ipfilter/netinet/ip_nat.h,v 1.22 2004/12/24 09:14:26 darrenr Exp $ */ #ifndef __IP_NAT_H__ @@ -108,7 +108,7 @@ void *nat_ifp; int nat_dir; char nat_ifname[IFNAMSIZ]; -#if SOLARIS || defined(__sgi) +#if SOLARIS || defined(__sgi) || (__FreeBSD_version >= 500043) kmutex_t nat_lock; #endif } nat_t; ==== //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_proxy.c#10 (text+ko) ==== @@ -77,10 +77,10 @@ #if !defined(lint) /* static const char rcsid[] = "@(#)$Id: ip_proxy.c,v 2.9.2.6 2001/07/15 22:06:15 darrenr Exp $"; */ -static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/ip_proxy.c,v 1.22 2003/02/15 06:23:45 darrenr Exp $"; +static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/ip_proxy.c,v 1.23 2004/12/24 09:14:26 darrenr Exp $"; #endif -#if defined(_KERNEL) && (SOLARIS || defined(__sgi)) +#ifdef USE_MUTEX extern KRWLOCK_T ipf_nat, ipf_state; #endif ==== //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_state.c#11 (text+ko) ==== @@ -95,7 +95,7 @@ #if !defined(lint) static const char sccsid[] = "@(#)ip_state.c 1.8 6/5/96 (C) 1993-2000 Darren Reed"; /* static const char rcsid[] = "@(#)$Id: ip_state.c,v 2.30.2.38 2001/07/23 13:49:46 darrenr Exp $"; */ -static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/ip_state.c,v 1.33 2004/06/21 22:46:36 darrenr Exp $"; +static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/ip_state.c,v 1.34 2004/12/24 09:14:26 darrenr Exp $"; #endif #ifndef MIN @@ -108,7 +108,7 @@ static int ips_num = 0; static int ips_wild = 0; static ips_stat_t ips_stats; -#if (SOLARIS || defined(__sgi)) && defined(_KERNEL) +#ifdef USE_MUTEX extern KRWLOCK_T ipf_state, ipf_mutex; extern kmutex_t ipf_rw; #endif ==== //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_state.h#7 (text+ko) ==== @@ -5,7 +5,7 @@ * * @(#)ip_state.h 1.3 1/12/96 (C) 1995 Darren Reed * $Id: ip_state.h,v 2.13.2.1 2000/07/08 02:15:35 darrenr Exp $ - * $FreeBSD: src/sys/contrib/ipfilter/netinet/ip_state.h,v 1.15 2004/06/21 22:46:36 darrenr Exp $ + * $FreeBSD: src/sys/contrib/ipfilter/netinet/ip_state.h,v 1.16 2004/12/24 09:14:26 darrenr Exp $ */ #ifndef __IP_STATE_H__ #define __IP_STATE_H__ @@ -90,7 +90,7 @@ } is_ps; u_32_t is_group; char is_ifname[4][IFNAMSIZ]; -#if SOLARIS || defined(__sgi) +#if SOLARIS || defined(__sgi) || (__FreeBSD_version >= 500043) kmutex_t is_lock; #endif } ipstate_t; ==== //depot/projects/smpng/sys/contrib/ipfilter/netinet/mlfk_ipl.c#6 (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/contrib/ipfilter/netinet/mlfk_ipl.c,v 1.13 2004/06/16 09:46:34 phk Exp $ + * $FreeBSD: src/sys/contrib/ipfilter/netinet/mlfk_ipl.c,v 1.14 2004/12/24 09:14:26 darrenr Exp $ */ @@ -106,7 +106,7 @@ #define CDEV_MAJOR 79 static struct cdevsw ipl_cdevsw = { .d_version = D_VERSION, - .d_flags = D_NEEDGIANT, + .d_flags = 0, .d_open = iplopen, .d_close = iplclose, .d_read = iplread, @@ -115,6 +115,11 @@ .d_maj = CDEV_MAJOR, }; +#if (__FreeBSD_version >= 500000) +kmutex_t ipl_mutex, ipf_rw; +KRWLOCK_T ipf_mutex, ipf_frag, ipf_state, ipf_nat, ipf_natfrag, ipf_auth; +#endif + static int ipfilter_modevent(module_t mod, int type, void *unused) { @@ -127,11 +132,21 @@ error = iplattach(); if (error) break; +#if (__FreeBSD_version >= 500000) + MUTEX_INIT(&ipl_mutex, "ipf log mutex", NULL); + MUTEX_INIT(&ipf_rw, "ipf rw mutex", NULL); + RWLOCK_INIT(&ipf_mutex, "ipf filter rwlock", NULL); + RWLOCK_INIT(&ipf_frag, "ipf fragment rwlock", NULL); + RWLOCK_INIT(&ipf_state, "ipf IP state rwlock", NULL); + RWLOCK_INIT(&ipf_nat, "ipf IP NAT rwlock", NULL); + RWLOCK_INIT(&ipf_natfrag, "ipf IP NAT-Frag rwlock", NULL); + RWLOCK_INIT(&ipf_auth, "ipf User-Auth rwlock", NULL); +#endif c = NULL; - for(i=strlen(IPL_NAME); i>0; i--) + for(i = strlen(IPL_NAME); i > 0; i--) if (IPL_NAME[i] == '/') { - c = &IPL_NAME[i+1]; + c = &IPL_NAME[i + 1]; break; } if (!c) @@ -140,9 +155,9 @@ make_dev(&ipl_cdevsw, IPL_LOGIPF, 0, 0, 0600, c); c = NULL; - for(i=strlen(IPL_NAT); i>0; i--) + for(i = strlen(IPL_NAT); i > 0; i--) if (IPL_NAT[i] == '/') { - c = &IPL_NAT[i+1]; + c = &IPL_NAT[i + 1]; break; } if (!c) @@ -151,9 +166,9 @@ make_dev(&ipl_cdevsw, IPL_LOGNAT, 0, 0, 0600, c); c = NULL; - for(i=strlen(IPL_STATE); i>0; i--) + for(i = strlen(IPL_STATE); i > 0; i--) if (IPL_STATE[i] == '/') { - c = &IPL_STATE[i+1]; + c = &IPL_STATE[i + 1]; break; } if (!c) @@ -162,9 +177,9 @@ make_dev(&ipl_cdevsw, IPL_LOGSTATE, 0, 0, 0600, c); c = NULL; - for(i=strlen(IPL_AUTH); i>0; i--) + for(i = strlen(IPL_AUTH); i > 0; i--) if (IPL_AUTH[i] == '/') { - c = &IPL_AUTH[i+1]; + c = &IPL_AUTH[i + 1]; break; } if (!c) ==== //depot/projects/smpng/sys/dev/acpica/acpi.c#76 (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.196 2004/12/05 01:35:18 njl Exp $ + * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.197 2004/12/27 05:36:47 njl Exp $ */ #include "opt_acpi.h" @@ -1900,7 +1900,7 @@ rp = (ACPI_RESOURCE *)buf->Pointer; i = index; while (i-- > 0) { - /* Range check */ + /* Range check */ if (rp > (ACPI_RESOURCE *)((u_int8_t *)buf->Pointer + buf->Length)) return (AE_BAD_PARAMETER); @@ -2657,7 +2657,7 @@ return (0); } -void +void acpi_deregister_ioctl(u_long cmd, acpi_ioctl_fn fn) { struct acpi_ioctl_hook *hp; @@ -3034,7 +3034,7 @@ va_start(ap, arg); state = va_arg(ap, int); - va_end(ap); + va_end(ap); switch (state) { case POWER_SLEEP_STATE_STANDBY: ==== //depot/projects/smpng/sys/dev/acpica/acpi_ec.c#33 (text+ko) ==== @@ -135,7 +135,7 @@ *****************************************************************************/ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_ec.c,v 1.59 2004/08/13 06:21:53 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_ec.c,v 1.60 2004/12/27 05:36:47 njl Exp $"); #include "opt_acpi.h" #include <sys/param.h> @@ -176,7 +176,7 @@ * Note that a set bit (1) indicates the property is TRUE * (e.g. if bit 0 is set then the output buffer is full). * +-+-+-+-+-+-+-+-+ - * |7|6|5|4|3|2|1|0| + * |7|6|5|4|3|2|1|0| * +-+-+-+-+-+-+-+-+ * | | | | | | | | * | | | | | | | +- Output Buffer Full? ==== //depot/projects/smpng/sys/dev/acpica/acpi_pci_link.c#26 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci_link.c,v 1.42 2004/12/20 10:46:56 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci_link.c,v 1.43 2004/12/27 05:42:32 njl Exp $"); #include "opt_acpi.h" #include <sys/param.h> @@ -141,25 +141,23 @@ static int acpi_pci_link_probe(device_t dev) { - char descr[64], name[10]; + char descr[28], name[12]; /* * We explicitly do not check _STA since not all systems set it to * sensible values. */ - if (!acpi_disabled("pci_link") && - ACPI_ID_PROBE(device_get_parent(dev), dev, pci_link_ids) != NULL) { - if (ACPI_FAILURE(acpi_short_name(acpi_get_handle(dev), name, - sizeof(name)))) - device_set_desc(dev, "ACPI PCI Link"); - else { - snprintf(descr, sizeof(descr), "ACPI PCI Link %s", - name); - device_set_desc_copy(dev, descr); - } - return (0); - } - return (ENXIO); + if (acpi_disabled("pci_link") || + ACPI_ID_PROBE(device_get_parent(dev), dev, pci_link_ids) == NULL) + return (ENXIO); + + if (ACPI_SUCCESS(acpi_short_name(acpi_get_handle(dev), name, + sizeof(name)))) { + snprintf(descr, sizeof(descr), "ACPI PCI Link %s", name); + device_set_desc_copy(dev, descr); + } else + device_set_desc(dev, "ACPI PCI Link"); + return (0); } static ACPI_STATUS @@ -300,7 +298,7 @@ */ if (req->in_dpf == DPF_IGNORE) break; - + KASSERT(req->link_index < req->sc->pl_num_links, ("%s: array boundary violation", __func__)); link = &req->sc->pl_links[req->link_index]; @@ -327,13 +325,13 @@ * valid IRQs are ISA IRQs, then mark this link as * routed via an ISA interrupt. */ - link->l_isa_irq = 1; + link->l_isa_irq = TRUE; >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200412281551.iBSFp34E027694>