Date: Sat, 26 Jun 2004 23:24:55 GMT From: Julian Elischer <julian@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 55868 for review Message-ID: <200406262324.i5QNOtpN080195@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=55868 Change 55868 by julian@julian_jules1 on 2004/06/26 23:24:51 IFC to catch marcel's change to TIDS. Affected files ... .. //depot/projects/nsched/sys/alpha/include/pmap.h#5 integrate .. //depot/projects/nsched/sys/amd64/amd64/pmap.c#11 integrate .. //depot/projects/nsched/sys/boot/forth/loader.conf#4 integrate .. //depot/projects/nsched/sys/boot/i386/cdboot/cdboot.s#2 integrate .. //depot/projects/nsched/sys/cam/cam_xpt.c#3 integrate .. //depot/projects/nsched/sys/compat/linux/linux_util.c#2 integrate .. //depot/projects/nsched/sys/compat/svr4/imgact_svr4.c#2 integrate .. //depot/projects/nsched/sys/compat/svr4/svr4_ioctl.c#2 integrate .. //depot/projects/nsched/sys/compat/svr4/svr4_ttold.c#2 integrate .. //depot/projects/nsched/sys/conf/NOTES#7 integrate .. //depot/projects/nsched/sys/conf/files#13 integrate .. //depot/projects/nsched/sys/conf/files.i386#6 integrate .. //depot/projects/nsched/sys/conf/kern.post.mk#3 integrate .. //depot/projects/nsched/sys/conf/kmod.mk#6 integrate .. //depot/projects/nsched/sys/conf/options#8 integrate .. //depot/projects/nsched/sys/conf/options.powerpc#2 integrate .. //depot/projects/nsched/sys/conf/options.sparc64#3 integrate .. //depot/projects/nsched/sys/contrib/ipfilter/netinet/fil.c#3 integrate .. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_auth.c#2 integrate .. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_compat.h#3 integrate .. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_fil.c#3 integrate .. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_fil.h#3 integrate .. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_frag.c#2 integrate .. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_frag.h#2 integrate .. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_ftp_pxy.c#2 integrate .. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_log.c#2 integrate .. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_nat.c#2 integrate .. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_nat.h#2 integrate .. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_raudio_pxy.c#2 integrate .. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_rcmd_pxy.c#2 integrate .. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_state.c#2 integrate .. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_state.h#2 integrate .. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ipl.h#2 integrate .. //depot/projects/nsched/sys/contrib/pf/net/if_pflog.c#5 integrate .. //depot/projects/nsched/sys/contrib/pf/net/if_pfsync.c#5 integrate .. //depot/projects/nsched/sys/contrib/pf/net/pfvar.h#3 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi.c#7 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi_cpu.c#7 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi_pci.c#6 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi_pcib.c#4 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi_quirks#1 branch .. //depot/projects/nsched/sys/dev/acpica/acpi_resource.c#5 integrate .. //depot/projects/nsched/sys/dev/acpica/acpiio.h#2 integrate .. //depot/projects/nsched/sys/dev/acpica/acpivar.h#6 integrate .. //depot/projects/nsched/sys/dev/ar/if_ar.c#3 integrate .. //depot/projects/nsched/sys/dev/ata/ata-all.c#5 integrate .. //depot/projects/nsched/sys/dev/ata/ata-chipset.c#5 integrate .. //depot/projects/nsched/sys/dev/ata/ata-disk.c#3 integrate .. //depot/projects/nsched/sys/dev/ata/ata-raid.c#2 integrate .. //depot/projects/nsched/sys/dev/ata/ata-raid.h#2 integrate .. //depot/projects/nsched/sys/dev/ata/atapi-cd.c#3 integrate .. //depot/projects/nsched/sys/dev/ata/atapi-fd.c#2 integrate .. //depot/projects/nsched/sys/dev/ata/atapi-tape.c#3 integrate .. //depot/projects/nsched/sys/dev/ciss/ciss.c#6 integrate .. //depot/projects/nsched/sys/dev/ciss/cissreg.h#6 integrate .. //depot/projects/nsched/sys/dev/ciss/cissvar.h#4 integrate .. //depot/projects/nsched/sys/dev/cp/if_cp.c#5 integrate .. //depot/projects/nsched/sys/dev/ctau/if_ct.c#6 integrate .. //depot/projects/nsched/sys/dev/cx/if_cx.c#7 integrate .. //depot/projects/nsched/sys/dev/cy/cy.c#7 integrate .. //depot/projects/nsched/sys/dev/digi/digi.c#7 integrate .. //depot/projects/nsched/sys/dev/digi/digi.h#3 integrate .. //depot/projects/nsched/sys/dev/ichsmb/ichsmb_pci.c#3 integrate .. //depot/projects/nsched/sys/dev/ofw/ofw_console.c#4 integrate .. //depot/projects/nsched/sys/dev/ofw/ofw_disk.c#2 integrate .. //depot/projects/nsched/sys/dev/pccbb/pccbb.c#5 integrate .. //depot/projects/nsched/sys/dev/rc/rc.c#5 integrate .. //depot/projects/nsched/sys/dev/rp/rp.c#6 integrate .. //depot/projects/nsched/sys/dev/sab/sab.c#4 integrate .. //depot/projects/nsched/sys/dev/si/si.c#5 integrate .. //depot/projects/nsched/sys/dev/si/si.h#2 integrate .. //depot/projects/nsched/sys/dev/sio/sio.c#7 integrate .. //depot/projects/nsched/sys/dev/sound/pcm/mixer.c#4 integrate .. //depot/projects/nsched/sys/dev/sr/if_sr.c#3 integrate .. //depot/projects/nsched/sys/dev/sx/sx.c#5 integrate .. //depot/projects/nsched/sys/dev/sx/sx.h#2 integrate .. //depot/projects/nsched/sys/dev/twa/twa_freebsd.c#4 integrate .. //depot/projects/nsched/sys/dev/uart/uart_bus.h#3 integrate .. //depot/projects/nsched/sys/dev/uart/uart_dev_i8251.c#2 integrate .. //depot/projects/nsched/sys/dev/uart/uart_dev_ns8250.c#3 integrate .. //depot/projects/nsched/sys/dev/uart/uart_dev_sab82532.c#3 integrate .. //depot/projects/nsched/sys/dev/uart/uart_dev_z8530.c#3 integrate .. //depot/projects/nsched/sys/dev/uart/uart_tty.c#4 integrate .. //depot/projects/nsched/sys/dev/usb/ehci.c#2 integrate .. //depot/projects/nsched/sys/dev/usb/ehcireg.h#3 integrate .. //depot/projects/nsched/sys/dev/usb/ohci.c#2 integrate .. //depot/projects/nsched/sys/dev/usb/ubser.c#5 integrate .. //depot/projects/nsched/sys/dev/usb/ucom.c#6 integrate .. //depot/projects/nsched/sys/dev/usb/ucomvar.h#3 integrate .. //depot/projects/nsched/sys/dev/usb/udbp.c#3 integrate .. //depot/projects/nsched/sys/dev/usb/ugen.c#3 integrate .. //depot/projects/nsched/sys/dev/usb/uhid.c#4 integrate .. //depot/projects/nsched/sys/dev/usb/ulpt.c#3 integrate .. //depot/projects/nsched/sys/dev/usb/usb_quirks.c#2 integrate .. //depot/projects/nsched/sys/dev/usb/usb_subr.c#3 integrate .. //depot/projects/nsched/sys/dev/usb/usbdevs#6 integrate .. //depot/projects/nsched/sys/dev/usb/usbdevs.h#6 integrate .. //depot/projects/nsched/sys/dev/usb/usbdevs_data.h#6 integrate .. //depot/projects/nsched/sys/dev/usb/usbdi_util.h#2 integrate .. //depot/projects/nsched/sys/dev/vinum/vinumio.c#4 integrate .. //depot/projects/nsched/sys/dev/zs/zs.c#5 integrate .. //depot/projects/nsched/sys/dev/zs/zs_macio.c#2 integrate .. //depot/projects/nsched/sys/fs/fifofs/fifo_vnops.c#7 integrate .. //depot/projects/nsched/sys/fs/portalfs/portal_vnops.c#4 integrate .. //depot/projects/nsched/sys/fs/udf/udf.h#3 integrate .. //depot/projects/nsched/sys/fs/udf/udf_vfsops.c#2 integrate .. //depot/projects/nsched/sys/fs/udf/udf_vnops.c#2 integrate .. //depot/projects/nsched/sys/geom/geom.h#3 integrate .. //depot/projects/nsched/sys/geom/geom_slice.c#2 integrate .. //depot/projects/nsched/sys/geom/vinum/geom_vinum.c#3 integrate .. //depot/projects/nsched/sys/geom/vinum/geom_vinum_drive.c#3 integrate .. //depot/projects/nsched/sys/geom/vinum/geom_vinum_plex.c#3 integrate .. //depot/projects/nsched/sys/geom/vinum/geom_vinum_raid5.c#2 integrate .. //depot/projects/nsched/sys/geom/vinum/geom_vinum_raid5.h#2 integrate .. //depot/projects/nsched/sys/geom/vinum/geom_vinum_share.c#2 integrate .. //depot/projects/nsched/sys/geom/vinum/geom_vinum_subr.c#2 integrate .. //depot/projects/nsched/sys/i386/conf/NOTES#6 integrate .. //depot/projects/nsched/sys/i386/i386/bios.c#6 integrate .. //depot/projects/nsched/sys/i386/i386/io_apic.c#5 integrate .. //depot/projects/nsched/sys/i386/i386/mp_machdep.c#3 integrate .. //depot/projects/nsched/sys/i386/i386/mptable.c#4 integrate .. //depot/projects/nsched/sys/i386/i386/pmap.c#8 integrate .. //depot/projects/nsched/sys/i386/ibcs2/ibcs2_ioctl.c#2 integrate .. //depot/projects/nsched/sys/i386/ibcs2/ibcs2_sysent.c#2 integrate .. //depot/projects/nsched/sys/i386/include/apicvar.h#3 integrate .. //depot/projects/nsched/sys/i386/linux/imgact_linux.c#2 integrate .. //depot/projects/nsched/sys/i4b/driver/i4b_ing.c#3 integrate .. //depot/projects/nsched/sys/ia64/include/pmap.h#3 integrate .. //depot/projects/nsched/sys/kern/imgact_elf.c#6 integrate .. //depot/projects/nsched/sys/kern/init_sysent.c#3 integrate .. //depot/projects/nsched/sys/kern/kern_conf.c#5 integrate .. //depot/projects/nsched/sys/kern/kern_fork.c#6 integrate .. //depot/projects/nsched/sys/kern/kern_kse.c#15 integrate .. //depot/projects/nsched/sys/kern/kern_resource.c#6 integrate .. //depot/projects/nsched/sys/kern/kern_thr.c#7 integrate .. //depot/projects/nsched/sys/kern/kern_thread.c#26 integrate .. //depot/projects/nsched/sys/kern/kern_time.c#4 integrate .. //depot/projects/nsched/sys/kern/sched_4bsd.c#19 integrate .. //depot/projects/nsched/sys/kern/sched_ule.c#9 integrate .. //depot/projects/nsched/sys/kern/syscalls.c#3 integrate .. //depot/projects/nsched/sys/kern/syscalls.master#3 integrate .. //depot/projects/nsched/sys/kern/tty.c#6 integrate .. //depot/projects/nsched/sys/kern/tty_compat.c#6 integrate .. //depot/projects/nsched/sys/kern/tty_pty.c#7 integrate .. //depot/projects/nsched/sys/kern/uipc_socket.c#7 integrate .. //depot/projects/nsched/sys/kern/uipc_socket2.c#8 integrate .. //depot/projects/nsched/sys/kern/uipc_syscalls.c#9 integrate .. //depot/projects/nsched/sys/kern/uipc_usrreq.c#7 integrate .. //depot/projects/nsched/sys/kern/vfs_syscalls.c#8 integrate .. //depot/projects/nsched/sys/modules/Makefile#5 integrate .. //depot/projects/nsched/sys/modules/ar/Makefile#2 integrate .. //depot/projects/nsched/sys/modules/ctau/Makefile#2 integrate .. //depot/projects/nsched/sys/modules/cx/Makefile#2 integrate .. //depot/projects/nsched/sys/modules/sr/Makefile#2 integrate .. //depot/projects/nsched/sys/net/if.c#5 integrate .. //depot/projects/nsched/sys/net/if.h#4 integrate .. //depot/projects/nsched/sys/net/if_clone.c#1 branch .. //depot/projects/nsched/sys/net/if_clone.h#1 branch .. //depot/projects/nsched/sys/net/if_disc.c#3 integrate .. //depot/projects/nsched/sys/net/if_ethersubr.c#7 integrate .. //depot/projects/nsched/sys/net/if_faith.c#5 integrate .. //depot/projects/nsched/sys/net/if_gif.c#5 integrate .. //depot/projects/nsched/sys/net/if_gre.c#4 integrate .. //depot/projects/nsched/sys/net/if_loop.c#4 integrate .. //depot/projects/nsched/sys/net/if_ppp.c#4 integrate .. //depot/projects/nsched/sys/net/if_sl.c#5 integrate .. //depot/projects/nsched/sys/net/if_spppsubr.c#4 integrate .. //depot/projects/nsched/sys/net/if_stf.c#4 integrate .. //depot/projects/nsched/sys/net/if_var.h#5 integrate .. //depot/projects/nsched/sys/net/if_vlan.c#5 integrate .. //depot/projects/nsched/sys/net/ppp_tty.c#3 integrate .. //depot/projects/nsched/sys/netgraph/atm/uni/ng_uni_cust.h#2 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/drivers/h4/ng_h4.c#5 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#7 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/socket/ng_btsocket.c#3 integrate .. //depot/projects/nsched/sys/netgraph/netgraph.h#3 integrate .. //depot/projects/nsched/sys/netgraph/ng_UI.c#3 integrate .. //depot/projects/nsched/sys/netgraph/ng_base.c#3 integrate .. //depot/projects/nsched/sys/netgraph/ng_bpf.c#3 integrate .. //depot/projects/nsched/sys/netgraph/ng_bridge.c#3 integrate .. //depot/projects/nsched/sys/netgraph/ng_eiface.c#4 integrate .. //depot/projects/nsched/sys/netgraph/ng_etf.c#3 integrate .. //depot/projects/nsched/sys/netgraph/ng_ether.c#5 integrate .. //depot/projects/nsched/sys/netgraph/ng_gif.c#3 integrate .. //depot/projects/nsched/sys/netgraph/ng_hub.c#2 integrate .. //depot/projects/nsched/sys/netgraph/ng_iface.c#3 integrate .. //depot/projects/nsched/sys/netgraph/ng_ksocket.c#6 integrate .. //depot/projects/nsched/sys/netgraph/ng_ksocket.h#2 integrate .. //depot/projects/nsched/sys/netgraph/ng_l2tp.c#4 integrate .. //depot/projects/nsched/sys/netgraph/ng_lmi.c#3 integrate .. //depot/projects/nsched/sys/netgraph/ng_one2many.c#3 integrate .. //depot/projects/nsched/sys/netgraph/ng_parse.c#3 integrate .. //depot/projects/nsched/sys/netgraph/ng_ppp.c#3 integrate .. //depot/projects/nsched/sys/netgraph/ng_pppoe.c#3 integrate .. //depot/projects/nsched/sys/netgraph/ng_rfc1490.c#4 integrate .. //depot/projects/nsched/sys/netgraph/ng_sample.c#3 integrate .. //depot/projects/nsched/sys/netgraph/ng_sppp.c#3 integrate .. //depot/projects/nsched/sys/netgraph/ng_tee.c#4 integrate .. //depot/projects/nsched/sys/netgraph/ng_tty.c#4 integrate .. //depot/projects/nsched/sys/netinet/in_pcb.h#3 integrate .. //depot/projects/nsched/sys/netinet/ip_divert.c#5 integrate .. //depot/projects/nsched/sys/netinet/ip_dummynet.c#2 integrate .. //depot/projects/nsched/sys/netinet/ip_fw2.c#6 integrate .. //depot/projects/nsched/sys/netinet/ip_mroute.c#4 integrate .. //depot/projects/nsched/sys/netinet/ip_output.c#6 integrate .. //depot/projects/nsched/sys/netinet/raw_ip.c#5 integrate .. //depot/projects/nsched/sys/netinet/tcp.h#3 integrate .. //depot/projects/nsched/sys/netinet/tcp_input.c#6 integrate .. //depot/projects/nsched/sys/netinet/tcp_output.c#5 integrate .. //depot/projects/nsched/sys/netinet/tcp_sack.c#1 branch .. //depot/projects/nsched/sys/netinet/tcp_seq.h#3 integrate .. //depot/projects/nsched/sys/netinet/tcp_subr.c#6 integrate .. //depot/projects/nsched/sys/netinet/tcp_syncache.c#4 integrate .. //depot/projects/nsched/sys/netinet/tcp_timer.c#3 integrate .. //depot/projects/nsched/sys/netinet/tcp_usrreq.c#5 integrate .. //depot/projects/nsched/sys/netinet/tcp_var.h#4 integrate .. //depot/projects/nsched/sys/netinet/udp_usrreq.c#5 integrate .. //depot/projects/nsched/sys/netipsec/key.c#4 integrate .. //depot/projects/nsched/sys/netipsec/keysock.c#2 integrate .. //depot/projects/nsched/sys/netipx/ipx.h#2 integrate .. //depot/projects/nsched/sys/netipx/spx_usrreq.c#4 integrate .. //depot/projects/nsched/sys/netnatm/natm.c#3 integrate .. //depot/projects/nsched/sys/nfsclient/nfs_socket.c#4 integrate .. //depot/projects/nsched/sys/pc98/i386/machdep.c#5 integrate .. //depot/projects/nsched/sys/pc98/pc98/sio.c#7 integrate .. //depot/projects/nsched/sys/pci/if_mn.c#4 integrate .. //depot/projects/nsched/sys/powerpc/ofw/ofw_pcib_pci.c#2 integrate .. //depot/projects/nsched/sys/powerpc/ofw/ofw_syscons.c#2 integrate .. //depot/projects/nsched/sys/powerpc/powermac/grackle.c#2 integrate .. //depot/projects/nsched/sys/powerpc/powermac/hrowpic.c#2 integrate .. //depot/projects/nsched/sys/powerpc/powermac/macio.c#2 integrate .. //depot/projects/nsched/sys/powerpc/powermac/openpic_macio.c#2 integrate .. //depot/projects/nsched/sys/powerpc/powermac/uninorth.c#2 integrate .. //depot/projects/nsched/sys/powerpc/powerpc/nexus.c#2 integrate .. //depot/projects/nsched/sys/powerpc/psim/iobus.c#2 integrate .. //depot/projects/nsched/sys/powerpc/psim/openpic_iobus.c#2 integrate .. //depot/projects/nsched/sys/security/mac/mac_net.c#3 integrate .. //depot/projects/nsched/sys/security/mac_biba/mac_biba.c#3 integrate .. //depot/projects/nsched/sys/security/mac_lomac/mac_lomac.c#3 integrate .. //depot/projects/nsched/sys/security/mac_mls/mac_mls.c#3 integrate .. //depot/projects/nsched/sys/security/mac_stub/mac_stub.c#3 integrate .. //depot/projects/nsched/sys/security/mac_test/mac_test.c#4 integrate .. //depot/projects/nsched/sys/sparc64/conf/NOTES#3 integrate .. //depot/projects/nsched/sys/sys/imgact_aout.h#4 integrate .. //depot/projects/nsched/sys/sys/ioctl_compat.h#3 integrate .. //depot/projects/nsched/sys/sys/linedisc.h#3 integrate .. //depot/projects/nsched/sys/sys/mac_policy.h#4 integrate .. //depot/projects/nsched/sys/sys/param.h#7 integrate .. //depot/projects/nsched/sys/sys/proc.h#16 integrate .. //depot/projects/nsched/sys/sys/procfs.h#2 integrate .. //depot/projects/nsched/sys/sys/serial.h#1 branch .. //depot/projects/nsched/sys/sys/socketvar.h#6 integrate .. //depot/projects/nsched/sys/sys/syscall.h#3 integrate .. //depot/projects/nsched/sys/sys/syscall.mk#3 integrate .. //depot/projects/nsched/sys/sys/sysproto.h#3 integrate .. //depot/projects/nsched/sys/sys/tty.h#6 integrate .. //depot/projects/nsched/sys/sys/ttychars.h#3 integrate .. //depot/projects/nsched/sys/sys/ttycom.h#4 integrate .. //depot/projects/nsched/sys/sys/ttydev.h#3 integrate .. //depot/projects/nsched/sys/sys/user.h#6 integrate .. //depot/projects/nsched/sys/tools/acpi_quirks2h.awk#1 branch .. //depot/projects/nsched/sys/ufs/ufs/ufs_extattr.c#2 integrate .. //depot/projects/nsched/sys/vm/swap_pager.c#5 integrate .. //depot/projects/nsched/sys/vm/uma_core.c#3 integrate .. //depot/projects/nsched/sys/vm/vm_map.c#5 integrate .. //depot/projects/nsched/sys/vm/vm_map.h#4 integrate .. //depot/projects/nsched/sys/vm/vm_pageout.c#4 integrate Differences ... ==== //depot/projects/nsched/sys/alpha/include/pmap.h#5 (text+ko) ==== @@ -39,7 +39,7 @@ * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 * from: i386 pmap.h,v 1.54 1997/11/20 19:30:35 bde Exp - * $FreeBSD: src/sys/alpha/include/pmap.h,v 1.30 2004/04/11 05:08:26 alc Exp $ + * $FreeBSD: src/sys/alpha/include/pmap.h,v 1.31 2004/06/23 08:06:52 alc Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -178,11 +178,6 @@ LIST_ENTRY(pmap) pm_list; /* list of all pmaps. */ }; -#define pmap_page_is_mapped(m) (!TAILQ_EMPTY(&(m)->md.pv_list)) - -#define PM_FLAG_LOCKED 0x1 -#define PM_FLAG_WANTED 0x2 - typedef struct pmap *pmap_t; #ifdef _KERNEL @@ -210,6 +205,8 @@ struct vmspace; +#define pmap_page_is_mapped(m) (!TAILQ_EMPTY(&(m)->md.pv_list)) + vm_offset_t pmap_steal_memory(vm_size_t); void pmap_bootstrap(vm_offset_t, u_int); void pmap_kenter(vm_offset_t va, vm_offset_t pa); ==== //depot/projects/nsched/sys/amd64/amd64/pmap.c#11 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.478 2004/06/20 20:57:05 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.479 2004/06/23 04:37:14 alc Exp $"); /* * Manages physical address maps. @@ -801,18 +801,34 @@ vm_page_t pmap_extract_and_hold(pmap_t pmap, vm_offset_t va, vm_prot_t prot) { - vm_paddr_t pa; + pd_entry_t pde, *pdep; + pt_entry_t pte; vm_page_t m; m = NULL; - mtx_lock(&Giant); - if ((pa = pmap_extract(pmap, va)) != 0) { - m = PHYS_TO_VM_PAGE(pa); - vm_page_lock_queues(); - vm_page_hold(m); - vm_page_unlock_queues(); + if (pmap == NULL) + return (m); + vm_page_lock_queues(); + PMAP_LOCK(pmap); + pdep = pmap_pde(pmap, va); + if (pdep != NULL && (pde = *pdep)) { + if (pde & PG_PS) { + if ((pde & PG_RW) || (prot & VM_PROT_WRITE) == 0) { + m = PHYS_TO_VM_PAGE((pde & ~PDRMASK) | + (va & PDRMASK)); + vm_page_hold(m); + } + } else { + pte = *pmap_pte(pmap, va); + if ((pte & PG_V) && + ((pte & PG_RW) || (prot & VM_PROT_WRITE) == 0)) { + m = PHYS_TO_VM_PAGE(pte & PG_FRAME); + vm_page_hold(m); + } + } } - mtx_unlock(&Giant); + vm_page_unlock_queues(); + PMAP_UNLOCK(pmap); return (m); } ==== //depot/projects/nsched/sys/boot/forth/loader.conf#4 (text+ko) ==== @@ -6,7 +6,7 @@ # # All arguments must be in double quotes. # -# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.78 2004/06/20 15:58:24 josef Exp $ +# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.80 2004/06/24 17:49:18 josef Exp $ ############################################################## ### Basic configuration options ############################ @@ -172,8 +172,6 @@ if_tun_load="NO" # Tunnel driver (user process ppp) if_vlan_load="NO" # IEEE 802.1Q VLAN network interface ipfw_load="NO" # Firewall -pfsync_load="NO" # pfsync pseudo interface -pflog_load="NO" # pflog pseudo interface pf_load="NO" # packet filter @@ -280,7 +278,6 @@ snd_via8233_load="NO" # via8233 snd_via82c686_load="NO" # via82c686 snd_driver_load="NO" # All sound drivers -#pcm0.line="0" # Default value for a mixer channel ############################################################## ### USB modules ############################################ ==== //depot/projects/nsched/sys/boot/i386/cdboot/cdboot.s#2 (text+ko) ==== @@ -1,19 +1,33 @@ # -# Copyright (c) 2001 John Baldwin +# Copyright (c) 2001 John Baldwin <jhb@FreeBSD.org> # All rights reserved. # -# Redistribution and use in source and binary forms are freely -# permitted provided that the above copyright notice and this -# paragraph and the following disclaimer are duplicated in all -# such forms. +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. Neither the name of the author nor the names of any co-contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. # -# This software is provided "AS IS" and without any express or -# implied warranties, including, without limitation, the implied -# warranties of merchantability and fitness for a particular -# purpose. +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. # -# $FreeBSD: src/sys/boot/i386/cdboot/cdboot.s,v 1.11 2004/01/12 20:34:42 jhb Exp $ +# $FreeBSD: src/sys/boot/i386/cdboot/cdboot.s,v 1.13 2004/06/22 21:55:22 jhb Exp $ # # This program is a freestanding boot program to load an a.out binary @@ -151,7 +165,6 @@ mov $0xffff,%cx # path name by repnz # scanning for scasb # nul char - inc %di # Skip nul mov %di,%si # Point %si at next path mov (%si),%al # Get first char of next path or %al,%al # Is it double nul? ==== //depot/projects/nsched/sys/cam/cam_xpt.c#3 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.139 2004/06/16 09:46:31 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.141 2004/06/21 19:01:55 ps Exp $"); #include <sys/param.h> #include <sys/bus.h> ==== //depot/projects/nsched/sys/compat/linux/linux_util.c#2 (text+ko) ==== @@ -30,13 +30,15 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_util.c,v 1.24 2004/01/14 22:38:03 truckman Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_util.c,v 1.26 2004/06/23 06:35:43 bde Exp $"); #include <sys/param.h> -#include <sys/systm.h> +#include <sys/lock.h> +#include <sys/malloc.h> +#include <sys/mutex.h> #include <sys/namei.h> #include <sys/proc.h> -#include <sys/malloc.h> +#include <sys/systm.h> #include <sys/vnode.h> #include <machine/stdarg.h> @@ -101,6 +103,8 @@ char *ptr, *buf, *cp; size_t len, sz; + GIANT_REQUIRED; + buf = (char *) malloc(MAXPATHLEN, M_TEMP, M_WAITOK); *pbuf = buf; ==== //depot/projects/nsched/sys/compat/svr4/imgact_svr4.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/svr4/imgact_svr4.c,v 1.22 2004/02/04 21:52:53 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/imgact_svr4.c,v 1.23 2004/06/24 02:21:17 obrien Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -90,7 +90,7 @@ } bss_size = round_page(a_out->a_bss); #ifdef DEBUG - printf("imgact: text: %08lx, data: %08lx, bss: %08lx\n", a_out->a_text, a_out->a_data, bss_size); + printf("imgact: text: %08lx, data: %08lx, bss: %08lx\n", (u_long)a_out->a_text, (u_long)a_out->a_data, bss_size); #endif /* @@ -193,7 +193,7 @@ #ifdef DEBUG printf("imgact: startaddr=%08lx, length=%08lx\n", (u_long)vmaddr, - a_out->a_text + a_out->a_data); + (u_long)a_out->a_text + a_out->a_data); #endif /* * allow read/write of data ==== //depot/projects/nsched/sys/compat/svr4/svr4_ioctl.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_ioctl.c,v 1.20 2003/06/10 21:35:15 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_ioctl.c,v 1.21 2004/06/21 22:57:10 phk Exp $"); #include <sys/param.h> #include <sys/proc.h> @@ -119,10 +119,12 @@ #endif switch (cmd & 0xff00) { +#ifndef BURN_BRIDGES case SVR4_tIOC: DPRINTF(("ttold\n")); fun = svr4_ttold_ioctl; break; +#endif case SVR4_TIOC: DPRINTF(("term\n")); ==== //depot/projects/nsched/sys/compat/svr4/svr4_ttold.c#2 (text+ko) ==== @@ -27,7 +27,9 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_ttold.c,v 1.12 2003/06/10 21:35:15 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_ttold.c,v 1.13 2004/06/21 22:57:10 phk Exp $"); + +#ifndef BURN_BRIDGES #include <sys/param.h> #include <sys/proc.h> @@ -376,3 +378,5 @@ return 0; /* ENOSYS really */ } } + +#endif /* BURN_BRIDGES */ ==== //depot/projects/nsched/sys/conf/NOTES#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1232 2004/06/13 17:29:06 mlaier Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1234 2004/06/26 17:19:44 mpp Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -95,7 +95,7 @@ # # BLKDEV_IOSIZE sets the default block size used in user block -# device I/O. Note that this value will be overriden by the label +# device I/O. Note that this value will be overridden by the label # when specifying a block device from a label with a non-0 # partition blocksize. The default is PAGE_SIZE. # @@ -184,7 +184,7 @@ # WITNESS enables the witness code which detects deadlocks and cycles # during locking operations. # WITNESS_DDB causes the witness code to drop into the kernel debugger if -# a lock heirarchy violation occurs or if locks are held when going to +# a lock hierarchy violation occurs or if locks are held when going to # sleep. # WITNESS_SKIPSPIN disables the witness checks on spin mutexes. options MUTEX_DEBUG @@ -328,7 +328,7 @@ # # REGRESSION causes optional kernel interfaces necessary only for regression -# testing to be enabled. These interfaces may consitute security risks +# testing to be enabled. These interfaces may constitute security risks # when enabled, as they permit processes to easily modify aspects of the # run-time environment to reproduce unlikely or unusual (possibly normally # impossible) scenarios. @@ -372,9 +372,8 @@ # The default is that packets coming from a tunnel are _not_ processed; # they are assumed trusted. # -# Note that enabling this can be problematic as there are no mechanisms -# in place for distinguishing packets coming out of a tunnel (e.g. no -# encX devices as found on openbsd). +# IPSEC history is preserved for such packets, and can be filtered +# using ipfw(8)'s 'ipsec' keyword, when this option is enabled. # #options IPSEC_FILTERGIF #filter ipsec packets from a tunnel @@ -409,7 +408,7 @@ options ALTQ_RIO # RED In/Out options ALTQ_HFSC # Hierarchical Packet Scheduler options ALTQ_CDNR # Traffic conditioner -options ALTQ_PRIQ # Prioirity Queueing +options ALTQ_PRIQ # Priority Queueing options ALTQ_NOPCC # Required for SMP build options ALTQ_DEBUG @@ -590,7 +589,7 @@ # packets without touching the ttl). This can be useful to hide firewalls # from traceroute and similar tools. # -# PFIL_HOOKS enables an abtraction layer which is meant to be used in +# PFIL_HOOKS enables an abstraction layer which is meant to be used in # network code where filtering is required. See pfil(9). This option is # required by the IPFILTER option and the PF device. # @@ -658,7 +657,7 @@ options BRIDGE # Zero copy sockets support. This enables "zero copy" for sending and -# receving data via a socket. The send side works for any type of NIC, +# receiving data via a socket. The send side works for any type of NIC, # the receive side only works for NICs that support MTUs greater than the # page size of your architecture and that support header splitting. See # zero_copy(9) for more details. @@ -933,8 +932,8 @@ # # The cd driver drives SCSI Read Only Direct Access ("cd") devices. # -# The ses driver drives SCSI Envinronment Services ("ses") and -# SAF-TE ("SCSI Accessable Fault-Tolerant Enclosure") devices. +# The ses driver drives SCSI Environment Services ("ses") and +# SAF-TE ("SCSI Accessible Fault-Tolerant Enclosure") devices. # # The pt driver drives SCSI Processor devices. # @@ -1555,7 +1554,7 @@ # # MII bus support is required for some PCI 10/100 ethernet NICs, # namely those which use MII-compliant transceivers or implement -# tranceiver control interfaces that operate like an MII. Adding +# transceiver control interfaces that operate like an MII. Adding # "device miibus0" to the kernel config pulls in support for # the generic miibus API and all of the PHY drivers, including a # generic one for PHYs that aren't specifically handled by an @@ -1645,7 +1644,7 @@ # Compaq Netelligent 10/100 cards and the built-in ethernet controllers # in several Compaq Prosignia, Proliant and Deskpro systems. It also # supports several Olicom 10Mbps and 10/100 boards. -# tx: SMC 9432 TX, BTX and FTX cards. (SMC EtherPower II serie) +# tx: SMC 9432 TX, BTX and FTX cards. (SMC EtherPower II series) # txp: Support for 3Com 3cR990 cards with the "Typhoon" chipset # vr: Support for various fast ethernet adapters based on the VIA # Technologies VT3043 `Rhine I' and VT86C100A `Rhine II' chips, @@ -1801,7 +1800,7 @@ # Gravis UltraSound ISA PnP/non-PnP # Crystal Semiconductor CS461x/428x PCI # Neomagic 256AV (ac97) -# Most of the more common ISA/PnP sb/mss/ess compatable cards. +# Most of the more common ISA/PnP sb/mss/ess compatible cards. device pcm @@ -1920,7 +1919,7 @@ # options BROOKTREE_SYSTEM_DEFAULT=BROOKTREE_PAL # or # options BROOKTREE_SYSTEM_DEFAULT=BROOKTREE_NTSC -# Specifes the default video capture mode. +# Specifies the default video capture mode. # This is required for Dual Crystal (28&35Mhz) boards where PAL is used # to prevent hangs during initialisation. eg VideoLogic Captivator PCI. # @@ -2225,12 +2224,12 @@ makeoptions UKBD_DFLT_KEYMAP=it.iso # options for uplcom: -options UPLCOM_INTR_INTERVAL=100 # interrpt pipe interval +options UPLCOM_INTR_INTERVAL=100 # interrupt pipe interval # in milliseconds # options for uvscom: options UVSCOM_DEFAULT_OPKTSIZE=8 # default output packet size -options UVSCOM_INTR_INTERVAL=100 # interrpt pipe interval +options UVSCOM_INTR_INTERVAL=100 # interrupt pipe interval # in milliseconds ##################################################################### ==== //depot/projects/nsched/sys/conf/files#13 (text+ko) ==== @@ -1,9 +1,14 @@ -# $FreeBSD: src/sys/conf/files,v 1.906 2004/06/16 23:23:59 mlaier Exp $ +# $FreeBSD: src/sys/conf/files,v 1.910 2004/06/26 05:58:43 imp Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and # dependency lines other than the first are silently ignored. # +acpi_quirks.h standard \ + dependency "$S/tools/acpi_quirks2h.awk $S/dev/acpica/acpi_quirks" \ + compile-with "${AWK} -f $S/tools/acpi_quirks2h.awk $S/dev/acpica/acpi_quirks" \ + no-obj no-implicit-rule \ + clean "acpi_quirks.h" aicasm optional ahc \ dependency "$S/dev/aic7xxx/aicasm/*.[chyl]" \ compile-with "CC=${CC} ${MAKE} -f $S/dev/aic7xxx/aicasm/Makefile MAKESRCPATH=$S/dev/aic7xxx/aicasm" \ @@ -38,17 +43,17 @@ miidevs.h standard \ dependency "$S/tools/miidevs2h.awk $S/dev/mii/miidevs" \ compile-with "${AWK} -f $S/tools/miidevs2h.awk $S/dev/mii/miidevs" \ - no-obj no-implicit-rule \ + no-obj no-implicit-rule before-depend \ clean "miidevs.h" pccarddevs.h standard \ dependency "$S/tools/pccarddevs2h.awk $S/dev/pccard/pccarddevs" \ compile-with "${AWK} -f $S/tools/pccarddevs2h.awk $S/dev/pccard/pccarddevs" \ - no-obj no-implicit-rule \ + no-obj no-implicit-rule before-depend \ clean "pccarddevs.h" usbdevs.h standard \ dependency "$S/tools/usbdevs2h.awk $S/dev/usb/usbdevs" \ compile-with "${AWK} -f $S/tools/usbdevs2h.awk $S/dev/usb/usbdevs" \ - no-obj no-implicit-rule \ + no-obj no-implicit-rule before-depend \ clean "usbdevs.h" kern/device_if.m standard kern/bus_if.m standard @@ -1221,6 +1226,7 @@ net/if.c standard net/if_arcsubr.c optional arcnet net/if_atmsubr.c optional atm +net/if_clone.c standard net/if_disc.c optional disc net/if_ef.c optional ef net/if_ethersubr.c optional ether @@ -1463,6 +1469,7 @@ netinet/tcp_hostcache.c optional inet netinet/tcp_input.c optional inet netinet/tcp_output.c optional inet +netinet/tcp_sack.c optional inet netinet/tcp_subr.c optional inet netinet/tcp_syncache.c optional inet netinet/tcp_timer.c optional inet ==== //depot/projects/nsched/sys/conf/files.i386#6 (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.493 2004/05/26 07:43:40 bde Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.494 2004/06/23 17:33:24 brooks Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -272,7 +272,7 @@ i386/isa/elcr.c standard i386/isa/elink.c optional ep i386/isa/elink.c optional ie -i386/isa/if_el.c count el +i386/isa/if_el.c optional el i386/isa/isa.c optional isa i386/isa/isa_dma.c optional isa i386/isa/mse.c optional mse ==== //depot/projects/nsched/sys/conf/kern.post.mk#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/kern.post.mk,v 1.66 2004/05/26 16:31:41 imp Exp $ +# $FreeBSD: src/sys/conf/kern.post.mk,v 1.67 2004/06/26 06:02:06 imp Exp $ # Part of a unified Makefile for building kernels. This part includes all # the definitions that need to be after all the % directives except %RULES @@ -77,8 +77,7 @@ ${SYSTEM_LD_TAIL} .if !exists(${.OBJDIR}/.depend) -${SYSTEM_OBJS}: assym.s pccarddevs.h usbdevs.h miidevs.h vnode_if.h \ - ${BEFORE_DEPEND:M*.h} ${MFILES:T:S/.m$/.h/} +${SYSTEM_OBJS}: assym.s vnode_if.h ${BEFORE_DEPEND:M*.h} ${MFILES:T:S/.m$/.h/} .endif LNFILES= ${CFILES:T:S/.c$/.ln/} @@ -136,7 +135,7 @@ # The argument list can be very long, so use make -V and xargs to # pass it to mkdep. -_kernel-depend: assym.s miidevs.h pccarddevs.h usbdevs.h vnode_if.h \ +_kernel-depend: assym.s vnode_if.h \ ${BEFORE_DEPEND} ${CFILES} ${SYSTEM_CFILES} ${GEN_CFILES} \ ${GEN_M_CFILES} ${SFILES} ${MFILES:T:S/.m$/.h/} if [ -f .olddep ]; then mv .olddep .depend; fi ==== //depot/projects/nsched/sys/conf/kmod.mk#6 (text+ko) ==== @@ -1,5 +1,5 @@ # From: @(#)bsd.prog.mk 5.26 (Berkeley) 6/25/91 -# $FreeBSD: src/sys/conf/kmod.mk,v 1.161 2004/06/13 17:29:06 mlaier Exp $ +# $FreeBSD: src/sys/conf/kmod.mk,v 1.162 2004/06/24 06:29:22 njl Exp $ # # The include file <bsd.kmod.mk> handles installing Kernel Loadable Device # drivers (KLD's). @@ -343,6 +343,17 @@ .endif .endfor # _i +.if ${SRCS:Macpi_quirks.h} != "" +CLEANFILES+= acpi_quirks.h +.if !exists(@) +acpi_quirks.h: @ +.endif +.if exists(@) +acpi_quirks.h: @/tools/acpi_quirks2h.awk @/dev/acpica/acpi_quirks +.endif + ${AWK} -f @/tools/acpi_quirks2h.awk @/dev/acpica/acpi_quirks +.endif + regress: lint: ${SRCS} ==== //depot/projects/nsched/sys/conf/options#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.453 2004/06/13 17:29:06 mlaier Exp $ +# $FreeBSD: src/sys/conf/options,v 1.454 2004/06/23 21:04:37 ps Exp $ # # On the handling of kernel options # @@ -354,6 +354,7 @@ SLIP_IFF_OPTS opt_slip.h TCPDEBUG TCP_SIGNATURE opt_inet.h +TCP_SACK_DEBUG opt_tcp_sack.h TCP_DROP_SYNFIN opt_tcp_input.h XBONEHACK ==== //depot/projects/nsched/sys/conf/options.powerpc#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.powerpc,v 1.8 2004/01/21 05:20:58 grehan Exp $ +# $FreeBSD: src/sys/conf/options.powerpc,v 1.9 2004/06/25 13:44:34 grehan Exp $ # Options specific to the powerpc platform kernels OEA opt_global.h @@ -12,3 +12,5 @@ PSIM SC_OFWFB opt_ofwfb.h + +OFWCONS_POLL_HZ opt_ofw.h ==== //depot/projects/nsched/sys/conf/options.sparc64#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.sparc64,v 1.10 2004/05/08 13:53:46 marius Exp $ +# $FreeBSD: src/sys/conf/options.sparc64,v 1.11 2004/06/24 02:57:10 obrien Exp $ SUN4U opt_global.h @@ -9,6 +9,7 @@ PSYCHO_DEBUG opt_psycho.h DEBUGGER_ON_POWERFAIL opt_psycho.h OFW_PCI_DEBUG opt_ofw_pci.h +OFWCONS_POLL_HZ opt_ofw.h # Debug IOMMU inserts/removes using diagnostic accesses. Very loud. IOMMU_DIAG opt_iommu.h PMAP_STATS opt_pmap.h ==== //depot/projects/nsched/sys/contrib/ipfilter/netinet/fil.c#3 (text+ko) ==== @@ -42,6 +42,7 @@ # include <sys/mbuf.h> # endif #else +# include <sys/cmn_err.h> # include <sys/byteorder.h> # if SOLARIS2 < 5 # include <sys/dditypes.h> @@ -99,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.37 2004/04/07 20:45:56 imp Exp $"; +static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/fil.c,v 1.38 2004/06/21 22:46:35 darrenr Exp $"; #endif #ifndef _KERNEL @@ -146,6 +147,9 @@ static int frflushlist __P((int, minor_t, int *, frentry_t **)); #ifdef _KERNEL static void frsynclist __P((frentry_t *)); +# ifndef __sgi +static void *ipf_pullup __P((mb_t *, fr_info_t *, int, void *)); +# endif #endif @@ -194,19 +198,27 @@ * compact the IP header into a structure which contains just the info. * which is useful for comparing IP headers with. */ -void fr_makefrip(hlen, ip, fin) +int fr_makefrip(hlen, ip, fin) int hlen; ip_t *ip; fr_info_t *fin; { u_short optmsk = 0, secmsk = 0, auth = 0; int i, mv, ol, off, p, plen, v; +#if defined(_KERNEL) +# if SOLARIS + mb_t *m = fin->fin_qfm; +# else + mb_t *m = fin->fin_mp ? *fin->fin_mp : NULL; +# endif +#endif fr_ip_t *fi = &fin->fin_fi; struct optlist *op; u_char *s, opt; tcphdr_t *tcp; fin->fin_rev = 0; + fin->fin_dp = NULL; fin->fin_fr = NULL; fin->fin_tcpf = 0; fin->fin_data[0] = 0; @@ -220,8 +232,10 @@ if (v == 4) { fin->fin_id = ip->ip_id; fi->fi_tos = ip->ip_tos; +#if (OpenBSD >= 200311) && defined(_KERNEL) + ip->ip_off = ntohs(ip->ip_off); +#endif off = (ip->ip_off & IP_OFFMASK); - tcp = (tcphdr_t *)((char *)ip + hlen); (*(((u_short *)fi) + 1)) = (*(((u_short *)ip) + 4)); fi->fi_src.i6[1] = 0; fi->fi_src.i6[2] = 0; @@ -235,6 +249,9 @@ fi->fi_fl = (hlen > sizeof(ip_t)) ? FI_OPTIONS : 0; if (ip->ip_off & (IP_MF|IP_OFFMASK)) fi->fi_fl |= FI_FRAG; +#if (OpenBSD >= 200311) && defined(_KERNEL) + ip->ip_len = ntohs(ip->ip_len); +#endif plen = ip->ip_len; fin->fin_dlen = plen - hlen; } @@ -246,7 +263,6 @@ p = ip6->ip6_nxt; fi->fi_p = p; fi->fi_ttl = ip6->ip6_hlim; - tcp = (tcphdr_t *)(ip6 + 1); fi->fi_src.in6 = ip6->ip6_src; fi->fi_dst.in6 = ip6->ip6_dst; fin->fin_id = (u_short)(ip6->ip6_flow & 0xffff); @@ -258,14 +274,23 @@ } #endif else - return; + return -1; fin->fin_off = off; fin->fin_plen = plen; - fin->fin_dp = (char *)tcp; + tcp = (tcphdr_t *)((char *)ip + hlen); fin->fin_misc = 0; off <<= 3; + /* + * For both ICMPV6 & ICMP, we attempt to pullup the entire packet into + * a single buffer for recognised error return packets. Why? Because + * the entire data section of the ICMP payload is considered to be of + * significance and maybe required in NAT/state processing, so rather + * than be careful later, attempt to get it all in one buffeer first. + * For TCP we just make sure the _entire_ TCP header is in the first + * buffer for convienience. + */ switch (p) { #ifdef USE_INET6 @@ -274,7 +299,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200406262324.i5QNOtpN080195>