Date: Mon, 14 Jun 2004 19:07:50 GMT From: Paul Saab <ps@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 54943 for review Message-ID: <200406141907.i5EJ7oC5087339@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=54943 Change 54943 by ps@butter.corp on 2004/06/14 19:07:18 IFC Affected files ... .. //depot/projects/sack/alpha/alpha/machdep.c#2 integrate .. //depot/projects/sack/alpha/alpha/pmap.c#2 integrate .. //depot/projects/sack/alpha/alpha/uma_machdep.c#1 branch .. //depot/projects/sack/alpha/include/pc/bios.h#2 integrate .. //depot/projects/sack/amd64/acpica/madt.c#2 integrate .. //depot/projects/sack/amd64/amd64/fpu.c#2 integrate .. //depot/projects/sack/amd64/amd64/identcpu.c#2 integrate .. //depot/projects/sack/amd64/amd64/initcpu.c#2 integrate .. //depot/projects/sack/amd64/amd64/machdep.c#2 integrate .. //depot/projects/sack/amd64/amd64/mp_machdep.c#2 integrate .. //depot/projects/sack/amd64/amd64/mpboot.S#2 integrate .. //depot/projects/sack/amd64/amd64/pmap.c#2 integrate .. //depot/projects/sack/amd64/conf/GENERIC#2 integrate .. //depot/projects/sack/amd64/include/asm.h#2 integrate .. //depot/projects/sack/amd64/include/md_var.h#2 integrate .. //depot/projects/sack/amd64/include/param.h#2 integrate .. //depot/projects/sack/amd64/include/pmap.h#2 integrate .. //depot/projects/sack/amd64/include/profile.h#2 integrate .. //depot/projects/sack/amd64/include/specialreg.h#2 integrate .. //depot/projects/sack/boot/i386/boot0/boot0.S#2 integrate .. //depot/projects/sack/compat/linux/linux_ioctl.c#2 integrate .. //depot/projects/sack/compat/linux/linux_ioctl.h#2 integrate .. //depot/projects/sack/compat/linux/linux_misc.c#2 integrate .. //depot/projects/sack/compat/linux/linux_uid16.c#2 integrate .. //depot/projects/sack/compat/svr4/svr4_stream.c#2 integrate .. //depot/projects/sack/conf/NOTES#2 integrate .. //depot/projects/sack/conf/files#3 integrate .. //depot/projects/sack/conf/files.alpha#2 integrate .. //depot/projects/sack/conf/files.sparc64#2 integrate .. //depot/projects/sack/conf/kern.pre.mk#2 integrate .. //depot/projects/sack/conf/kmod.mk#2 integrate .. //depot/projects/sack/conf/options#3 integrate .. //depot/projects/sack/contrib/altq/altq/altq.h#1 branch .. //depot/projects/sack/contrib/altq/altq/altq_cbq.c#1 branch .. //depot/projects/sack/contrib/altq/altq/altq_cbq.h#1 branch .. //depot/projects/sack/contrib/altq/altq/altq_cdnr.c#1 branch .. //depot/projects/sack/contrib/altq/altq/altq_cdnr.h#1 branch .. //depot/projects/sack/contrib/altq/altq/altq_classq.h#1 branch .. //depot/projects/sack/contrib/altq/altq/altq_hfsc.c#1 branch .. //depot/projects/sack/contrib/altq/altq/altq_hfsc.h#1 branch .. //depot/projects/sack/contrib/altq/altq/altq_priq.c#1 branch .. //depot/projects/sack/contrib/altq/altq/altq_priq.h#1 branch .. //depot/projects/sack/contrib/altq/altq/altq_red.c#1 branch .. //depot/projects/sack/contrib/altq/altq/altq_red.h#1 branch .. //depot/projects/sack/contrib/altq/altq/altq_rio.c#1 branch .. //depot/projects/sack/contrib/altq/altq/altq_rio.h#1 branch .. //depot/projects/sack/contrib/altq/altq/altq_rmclass.c#1 branch .. //depot/projects/sack/contrib/altq/altq/altq_rmclass.h#1 branch .. //depot/projects/sack/contrib/altq/altq/altq_rmclass_debug.h#1 branch .. //depot/projects/sack/contrib/altq/altq/altq_subr.c#1 branch .. //depot/projects/sack/contrib/altq/altq/altq_var.h#1 branch .. //depot/projects/sack/contrib/altq/altq/altqconf.h#1 branch .. //depot/projects/sack/contrib/altq/altq/if_altq.h#1 branch .. //depot/projects/sack/contrib/ipfilter/netinet/ip_compat.h#2 integrate .. //depot/projects/sack/contrib/pf/net/if_pflog.c#2 integrate .. //depot/projects/sack/contrib/pf/net/if_pfsync.c#2 integrate .. //depot/projects/sack/contrib/pf/net/pf.c#2 integrate .. //depot/projects/sack/contrib/pf/net/pf_ioctl.c#2 integrate .. //depot/projects/sack/contrib/pf/net/pfvar.h#2 integrate .. //depot/projects/sack/crypto/des/des_ecb.c#2 integrate .. //depot/projects/sack/crypto/des/des_enc.c#2 integrate .. //depot/projects/sack/crypto/des/des_setkey.c#2 integrate .. //depot/projects/sack/dev/aac/aac_debug.c#2 integrate .. //depot/projects/sack/dev/acpica/acpi.c#2 integrate .. //depot/projects/sack/dev/acpica/acpi_acad.c#2 integrate .. //depot/projects/sack/dev/acpica/acpi_button.c#2 integrate .. //depot/projects/sack/dev/acpica/acpi_cmbat.c#2 integrate .. //depot/projects/sack/dev/acpica/acpi_ec.c#2 integrate .. //depot/projects/sack/dev/acpica/acpi_isab.c#2 integrate .. //depot/projects/sack/dev/acpica/acpi_lid.c#2 integrate .. //depot/projects/sack/dev/acpica/acpi_pci_link.c#2 integrate .. //depot/projects/sack/dev/acpica/acpi_pcib_acpi.c#2 integrate .. //depot/projects/sack/dev/acpica/acpi_resource.c#2 integrate .. //depot/projects/sack/dev/acpica/acpivar.h#2 integrate .. //depot/projects/sack/dev/ata/ata-lowlevel.c#2 integrate .. //depot/projects/sack/dev/awi/awi.c#2 integrate .. //depot/projects/sack/dev/bge/if_bge.c#2 integrate .. //depot/projects/sack/dev/bge/if_bgereg.h#2 integrate .. //depot/projects/sack/dev/bktr/bktr_mem.c#2 integrate .. //depot/projects/sack/dev/cx/if_cx.c#2 integrate .. //depot/projects/sack/dev/cy/cy.c#2 integrate .. //depot/projects/sack/dev/digi/digi.c#2 integrate .. //depot/projects/sack/dev/drm/drm.h#2 integrate .. //depot/projects/sack/dev/drm/drmP.h#2 integrate .. //depot/projects/sack/dev/drm/drm_drv.h#2 integrate .. //depot/projects/sack/dev/drm/drm_linux_list.h#1 branch .. //depot/projects/sack/dev/drm/drm_os_freebsd.h#2 integrate .. //depot/projects/sack/dev/drm/drm_pciids.h#1 branch .. //depot/projects/sack/dev/drm/drm_sarea.h#2 integrate .. //depot/projects/sack/dev/drm/mga.h#2 integrate .. //depot/projects/sack/dev/drm/mga_drm.h#2 integrate .. //depot/projects/sack/dev/drm/r128.h#2 integrate .. //depot/projects/sack/dev/drm/r128_drm.h#2 integrate .. //depot/projects/sack/dev/drm/r128_state.c#2 integrate .. //depot/projects/sack/dev/drm/radeon.h#2 integrate .. //depot/projects/sack/dev/drm/radeon_drm.h#2 integrate .. //depot/projects/sack/dev/drm/radeon_drv.h#2 integrate .. //depot/projects/sack/dev/drm/radeon_mem.c#2 integrate .. //depot/projects/sack/dev/drm/radeon_state.c#2 integrate .. //depot/projects/sack/dev/drm/sis.h#2 integrate .. //depot/projects/sack/dev/drm/sis_drv.c#2 integrate .. //depot/projects/sack/dev/drm/sis_mm.c#2 integrate .. //depot/projects/sack/dev/drm/tdfx.h#2 integrate .. //depot/projects/sack/dev/ed/if_ed.c#2 integrate .. //depot/projects/sack/dev/eisa/eisa_if.m#1 branch .. //depot/projects/sack/dev/eisa/eisaconf.c#2 integrate .. //depot/projects/sack/dev/eisa/eisaconf.h#2 integrate .. //depot/projects/sack/dev/esp/esp_sbus.c#1 branch .. //depot/projects/sack/dev/esp/lsi64854.c#1 branch .. //depot/projects/sack/dev/esp/lsi64854reg.h#1 branch .. //depot/projects/sack/dev/esp/lsi64854var.h#1 branch .. //depot/projects/sack/dev/esp/ncr53c9x.c#1 branch .. //depot/projects/sack/dev/esp/ncr53c9xreg.h#1 branch .. //depot/projects/sack/dev/esp/ncr53c9xvar.h#1 branch .. //depot/projects/sack/dev/fb/vga.c#2 integrate .. //depot/projects/sack/dev/fe/if_fe.c#2 integrate .. //depot/projects/sack/dev/firewire/firewire.c#2 integrate .. //depot/projects/sack/dev/firewire/if_fwip.c#1 branch .. //depot/projects/sack/dev/firewire/if_fwipvar.h#1 branch .. //depot/projects/sack/dev/gem/if_gem.c#2 integrate .. //depot/projects/sack/dev/hme/if_hme.c#2 integrate .. //depot/projects/sack/dev/ichwd/ichwd.c#2 integrate .. //depot/projects/sack/dev/ips/ips_commands.c#2 integrate .. //depot/projects/sack/dev/kbd/atkbd.c#2 integrate .. //depot/projects/sack/dev/lge/if_lge.c#2 integrate .. //depot/projects/sack/dev/lnc/if_lnc.c#2 integrate .. //depot/projects/sack/dev/my/if_my.c#2 integrate .. //depot/projects/sack/dev/nge/if_nge.c#2 integrate .. //depot/projects/sack/dev/ofw/ofw_console.c#2 integrate .. //depot/projects/sack/dev/pcf/envctrl.c#2 integrate .. //depot/projects/sack/dev/pcf/pcf_ebus.c#1 branch .. //depot/projects/sack/dev/pcf/pcf_isa.c#2 integrate .. //depot/projects/sack/dev/pdq/pdq_freebsd.h#2 integrate .. //depot/projects/sack/dev/re/if_re.c#2 integrate .. //depot/projects/sack/dev/rp/rp.c#2 integrate .. //depot/projects/sack/dev/sab/sab.c#2 integrate .. //depot/projects/sack/dev/si/si.c#2 integrate .. //depot/projects/sack/dev/sio/sio.c#2 integrate .. //depot/projects/sack/dev/sn/if_sn.c#2 integrate .. //depot/projects/sack/dev/sound/isa/sb16.c#2 integrate .. //depot/projects/sack/dev/sound/pci/emu10k1.c#2 integrate .. //depot/projects/sack/dev/sx/sx.c#2 integrate .. //depot/projects/sack/dev/twe/twe.c#2 integrate .. //depot/projects/sack/dev/twe/twe_freebsd.c#2 integrate .. //depot/projects/sack/dev/twe/twevar.h#2 integrate .. //depot/projects/sack/dev/tx/if_tx.c#2 integrate .. //depot/projects/sack/dev/usb/if_aue.c#2 integrate .. //depot/projects/sack/dev/usb/if_axe.c#2 integrate .. //depot/projects/sack/dev/usb/if_cue.c#2 integrate .. //depot/projects/sack/dev/usb/if_rue.c#2 integrate .. //depot/projects/sack/dev/usb/if_udav.c#2 integrate .. //depot/projects/sack/dev/usb/ucom.c#2 integrate .. //depot/projects/sack/dev/usb/uhub.c#2 integrate .. //depot/projects/sack/dev/wi/if_wi.c#2 integrate .. //depot/projects/sack/dev/wi/if_wi_pccard.c#2 integrate .. //depot/projects/sack/dev/xe/if_xe.c#2 integrate .. //depot/projects/sack/fs/fifofs/fifo_vnops.c#2 integrate .. //depot/projects/sack/geom/geom_io.c#2 integrate .. //depot/projects/sack/geom/vinum/geom_vinum.c#1 branch .. //depot/projects/sack/geom/vinum/geom_vinum.h#1 branch .. //depot/projects/sack/geom/vinum/geom_vinum_drive.c#1 branch .. //depot/projects/sack/geom/vinum/geom_vinum_init.c#1 branch .. //depot/projects/sack/geom/vinum/geom_vinum_list.c#1 branch .. //depot/projects/sack/geom/vinum/geom_vinum_plex.c#1 branch .. //depot/projects/sack/geom/vinum/geom_vinum_raid5.c#1 branch .. //depot/projects/sack/geom/vinum/geom_vinum_raid5.h#1 branch .. //depot/projects/sack/geom/vinum/geom_vinum_rm.c#1 branch .. //depot/projects/sack/geom/vinum/geom_vinum_share.c#1 branch .. //depot/projects/sack/geom/vinum/geom_vinum_share.h#1 branch .. //depot/projects/sack/geom/vinum/geom_vinum_state.c#1 branch .. //depot/projects/sack/geom/vinum/geom_vinum_subr.c#1 branch .. //depot/projects/sack/geom/vinum/geom_vinum_var.h#1 branch .. //depot/projects/sack/geom/vinum/geom_vinum_volume.c#1 branch .. //depot/projects/sack/i386/acpica/acpi_asus.c#2 integrate .. //depot/projects/sack/i386/acpica/acpi_machdep.c#2 integrate .. //depot/projects/sack/i386/acpica/acpi_toshiba.c#2 integrate .. //depot/projects/sack/i386/acpica/madt.c#2 integrate .. //depot/projects/sack/i386/bios/mca_machdep.c#2 integrate .. //depot/projects/sack/i386/bios/smapi.c#2 integrate .. //depot/projects/sack/i386/bios/smbios.c#2 integrate .. //depot/projects/sack/i386/bios/vpd.c#2 integrate .. //depot/projects/sack/i386/conf/NOTES#2 integrate .. //depot/projects/sack/i386/i386/bios.c#2 integrate .. //depot/projects/sack/i386/i386/machdep.c#2 integrate .. //depot/projects/sack/i386/i386/pmap.c#2 integrate .. //depot/projects/sack/i386/i386/symbols.raw#2 integrate .. //depot/projects/sack/i386/include/md_var.h#2 integrate .. //depot/projects/sack/i386/include/pc/bios.h#2 integrate .. //depot/projects/sack/i386/include/pmap.h#2 integrate .. //depot/projects/sack/i386/isa/vesa.c#2 integrate .. //depot/projects/sack/i386/pci/pci_pir.c#2 integrate .. //depot/projects/sack/i4b/driver/i4b_ipr.c#2 integrate .. //depot/projects/sack/ia64/ia64/machdep.c#2 integrate .. //depot/projects/sack/ia64/ia64/pmap.c#2 integrate .. //depot/projects/sack/isa/syscons_isa.c#2 integrate .. //depot/projects/sack/kern/kern_descrip.c#2 integrate .. //depot/projects/sack/kern/kern_exit.c#2 integrate .. //depot/projects/sack/kern/kern_kse.c#2 integrate .. //depot/projects/sack/kern/kern_proc.c#2 integrate .. //depot/projects/sack/kern/kern_prot.c#2 integrate .. //depot/projects/sack/kern/kern_resource.c#2 integrate .. //depot/projects/sack/kern/kern_sema.c#2 integrate .. //depot/projects/sack/kern/kern_sig.c#2 integrate .. //depot/projects/sack/kern/kern_sysctl.c#2 integrate .. //depot/projects/sack/kern/kern_thread.c#2 integrate .. //depot/projects/sack/kern/kern_xxx.c#2 integrate .. //depot/projects/sack/kern/subr_witness.c#2 integrate .. //depot/projects/sack/kern/sys_socket.c#2 integrate .. //depot/projects/sack/kern/tty.c#2 integrate .. //depot/projects/sack/kern/tty_compat.c#2 integrate .. //depot/projects/sack/kern/tty_conf.c#2 integrate .. //depot/projects/sack/kern/tty_pty.c#2 integrate .. //depot/projects/sack/kern/uipc_mbuf.c#2 integrate .. //depot/projects/sack/kern/uipc_socket.c#2 integrate .. //depot/projects/sack/kern/uipc_socket2.c#2 integrate .. //depot/projects/sack/kern/uipc_syscalls.c#2 integrate .. //depot/projects/sack/kern/uipc_usrreq.c#2 integrate .. //depot/projects/sack/kern/vfs_subr.c#2 integrate .. //depot/projects/sack/kern/vfs_syscalls.c#2 integrate .. //depot/projects/sack/modules/aic7xxx/ahc/ahc_eisa/Makefile#2 integrate .. //depot/projects/sack/modules/em/Makefile#2 integrate .. //depot/projects/sack/modules/esp/Makefile#1 branch .. //depot/projects/sack/modules/geom/geom_vinum/Makefile#1 branch .. //depot/projects/sack/modules/ipfilter/Makefile#2 integrate .. //depot/projects/sack/modules/ixgb/Makefile#2 integrate .. //depot/projects/sack/modules/vx/Makefile#2 integrate .. //depot/projects/sack/net/bpf.c#2 integrate .. //depot/projects/sack/net/firewire.h#1 branch .. //depot/projects/sack/net/if.c#2 integrate .. //depot/projects/sack/net/if_arp.h#2 integrate .. //depot/projects/sack/net/if_fwsubr.c#1 branch .. //depot/projects/sack/net/if_ppp.c#2 integrate .. //depot/projects/sack/net/if_sl.c#2 integrate .. //depot/projects/sack/net/if_spppsubr.c#2 integrate .. //depot/projects/sack/net/if_var.h#2 integrate .. //depot/projects/sack/net/netisr.h#2 integrate .. //depot/projects/sack/net/raw_cb.c#2 integrate .. //depot/projects/sack/net/raw_usrreq.c#2 integrate .. //depot/projects/sack/net/rtsock.c#2 integrate .. //depot/projects/sack/net80211/ieee80211_input.c#2 integrate .. //depot/projects/sack/netatalk/ddp_input.c#2 integrate .. //depot/projects/sack/netatalk/ddp_output.c#2 integrate .. //depot/projects/sack/netatalk/ddp_pcb.c#2 integrate .. //depot/projects/sack/netatm/atm_aal5.c#2 integrate .. //depot/projects/sack/netatm/atm_ioctl.h#2 integrate .. //depot/projects/sack/netatm/atm_socket.c#2 integrate .. //depot/projects/sack/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#2 integrate .. //depot/projects/sack/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#2 integrate .. //depot/projects/sack/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#2 integrate .. //depot/projects/sack/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#2 integrate .. //depot/projects/sack/netgraph/ng_ksocket.c#2 integrate .. //depot/projects/sack/netgraph/ng_rfc1490.c#2 integrate .. //depot/projects/sack/netgraph/ng_rfc1490.h#2 integrate .. //depot/projects/sack/netinet/accf_http.c#2 integrate .. //depot/projects/sack/netinet/if_ether.c#2 integrate .. //depot/projects/sack/netinet/igmp.c#2 integrate .. //depot/projects/sack/netinet/in.h#2 integrate .. //depot/projects/sack/netinet/in_pcb.c#2 integrate .. //depot/projects/sack/netinet/ip_divert.c#2 integrate .. //depot/projects/sack/netinet/ip_fw.h#2 integrate .. //depot/projects/sack/netinet/ip_fw2.c#2 integrate .. //depot/projects/sack/netinet/ip_input.c#2 integrate .. //depot/projects/sack/netinet/ip_output.c#2 integrate .. //depot/projects/sack/netinet/raw_ip.c#2 integrate .. //depot/projects/sack/netinet/tcp_input.c#3 integrate .. //depot/projects/sack/netinet/tcp_subr.c#3 integrate .. //depot/projects/sack/netinet/tcp_syncache.c#3 integrate .. //depot/projects/sack/netinet/tcp_usrreq.c#2 integrate .. //depot/projects/sack/netinet6/in6_pcb.c#2 integrate .. //depot/projects/sack/netinet6/ip6_input.c#2 integrate .. //depot/projects/sack/netipx/ipx_pcb.c#2 integrate .. //depot/projects/sack/netipx/ipx_usrreq.c#2 integrate .. //depot/projects/sack/netipx/spx_usrreq.c#2 integrate .. //depot/projects/sack/netnatm/natm.c#2 integrate .. //depot/projects/sack/netsmb/smb_trantcp.c#2 integrate .. //depot/projects/sack/pc98/i386/machdep.c#2 integrate .. //depot/projects/sack/pc98/pc98/pc98gdc.c#2 integrate .. //depot/projects/sack/pc98/pc98/sio.c#2 integrate .. //depot/projects/sack/pci/if_dc.c#2 integrate .. //depot/projects/sack/pci/if_de.c#2 integrate .. //depot/projects/sack/pci/if_mn.c#2 integrate .. //depot/projects/sack/pci/if_pcn.c#2 integrate .. //depot/projects/sack/pci/if_rl.c#2 integrate .. //depot/projects/sack/pci/if_sf.c#2 integrate .. //depot/projects/sack/pci/if_sis.c#2 integrate .. //depot/projects/sack/pci/if_sk.c#2 integrate .. //depot/projects/sack/pci/if_ste.c#2 integrate .. //depot/projects/sack/pci/if_vr.c#2 integrate .. //depot/projects/sack/pci/if_wb.c#2 integrate .. //depot/projects/sack/pci/if_xl.c#2 integrate .. //depot/projects/sack/security/mac/mac_socket.c#2 integrate .. //depot/projects/sack/sparc64/conf/GENERIC#2 integrate .. //depot/projects/sack/sys/_types.h#2 integrate .. //depot/projects/sack/sys/gmon.h#2 integrate .. //depot/projects/sack/sys/ioctl.h#2 integrate .. //depot/projects/sack/sys/mbuf.h#2 integrate .. //depot/projects/sack/sys/param.h#2 integrate .. //depot/projects/sack/sys/resource.h#2 integrate .. //depot/projects/sack/sys/signal.h#2 integrate .. //depot/projects/sack/sys/socketvar.h#2 integrate .. //depot/projects/sack/sys/tty.h#2 integrate .. //depot/projects/sack/sys/types.h#2 integrate .. //depot/projects/sack/sys/vmmeter.h#2 integrate .. //depot/projects/sack/ufs/ffs/ffs_snapshot.c#2 integrate .. //depot/projects/sack/vm/uma_core.c#2 integrate .. //depot/projects/sack/vm/vm_mmap.c#2 integrate Differences ... ==== //depot/projects/sack/alpha/alpha/machdep.c#2 (text+ko) ==== @@ -88,7 +88,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.219 2004/04/01 20:56:43 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.220 2004/06/11 11:16:17 phk Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -1180,7 +1180,7 @@ SIGISMEMBER(psp->ps_sigonstack, sig)) { sip = (osiginfo_t *)((caddr_t)td->td_sigstk.ss_sp + td->td_sigstk.ss_size - rndfsize); -#if defined(COMPAT_43) || defined(COMPAT_SUNOS) +#if defined(COMPAT_43) td->td_sigstk.ss_flags |= SS_ONSTACK; #endif } else @@ -1304,7 +1304,7 @@ SIGISMEMBER(psp->ps_sigonstack, sig)) { sfp = (struct sigframe4 *)((caddr_t)td->td_sigstk.ss_sp + td->td_sigstk.ss_size - rndfsize); -#if defined(COMPAT_43) || defined(COMPAT_SUNOS) +#if defined(COMPAT_43) td->td_sigstk.ss_flags |= SS_ONSTACK; #endif } else @@ -1428,7 +1428,7 @@ SIGISMEMBER(psp->ps_sigonstack, sig)) { sfp = (struct sigframe *)((caddr_t)td->td_sigstk.ss_sp + td->td_sigstk.ss_size - rndfsize); -#if defined(COMPAT_43) || defined(COMPAT_SUNOS) +#if defined(COMPAT_43) td->td_sigstk.ss_flags |= SS_ONSTACK; #endif } else @@ -1543,7 +1543,7 @@ return (EINVAL); PROC_LOCK(p); -#if defined(COMPAT_43) || defined(COMPAT_SUNOS) +#if defined(COMPAT_43) /* * Restore the user-supplied information */ @@ -1633,7 +1633,7 @@ alpha_pal_wrusp(uc.uc_mcontext.mc_regs[R_SP]); PROC_LOCK(p); -#if defined(COMPAT_43) || defined(COMPAT_SUNOS) +#if defined(COMPAT_43) if (uc.uc_mcontext.mc_onstack & 1) td->td_sigstk.ss_flags |= SS_ONSTACK; else @@ -1709,7 +1709,7 @@ alpha_pal_wrusp(uc.uc_mcontext.mc_regs[R_SP]); PROC_LOCK(p); -#if defined(COMPAT_43) || defined(COMPAT_SUNOS) +#if defined(COMPAT_43) if (uc.uc_mcontext.mc_onstack & 1) td->td_sigstk.ss_flags |= SS_ONSTACK; else ==== //depot/projects/sack/alpha/alpha/pmap.c#2 (text+ko) ==== @@ -148,7 +148,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.146 2004/04/26 17:49:05 gallatin Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.149 2004/06/12 06:03:27 alc Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -172,7 +172,6 @@ #include <vm/vm_pageout.h> #include <vm/vm_pager.h> #include <vm/uma.h> -#include <vm/uma_int.h> #include <sys/user.h> @@ -555,52 +554,6 @@ return 0; } -void * -uma_small_alloc(uma_zone_t zone, int bytes, u_int8_t *flags, int wait) -{ - static vm_pindex_t color; - vm_page_t m; - int pflags; - void *va; - - *flags = UMA_SLAB_PRIV; - - if ((wait & (M_NOWAIT|M_USE_RESERVE)) == M_NOWAIT) - pflags = VM_ALLOC_INTERRUPT; - else - pflags = VM_ALLOC_SYSTEM; - - if (wait & M_ZERO) - pflags |= VM_ALLOC_ZERO; - - for (;;) { - m = vm_page_alloc(NULL, color++, pflags | VM_ALLOC_NOOBJ); - if (m == NULL) { - if (wait & M_NOWAIT) - return (NULL); - else - VM_WAIT; - } else - break; - } - - va = (void *)ALPHA_PHYS_TO_K0SEG(m->phys_addr); - if ((wait & M_ZERO) && (m->flags & PG_ZERO) == 0) - bzero(va, PAGE_SIZE); - return (va); -} - -void -uma_small_free(void *mem, int size, u_int8_t flags) -{ - vm_page_t m; - - m = PHYS_TO_VM_PAGE(ALPHA_K0SEG_TO_PHYS((vm_offset_t)mem)); - vm_page_lock_queues(); - vm_page_free(m); - vm_page_unlock_queues(); -} - /* * Initialize the pmap module. * Called by vm_init, to initialize any structures that the pmap @@ -612,7 +565,6 @@ pmap_init(void) { int i; - int initial_pvs; /* * Allocate memory for random pmap data structures. Includes the @@ -630,12 +582,9 @@ /* * init the pv free list */ - initial_pvs = vm_page_array_size; - if (initial_pvs < MINPV) - initial_pvs = MINPV; pvzone = uma_zcreate("PV ENTRY", sizeof (struct pv_entry), NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM | UMA_ZONE_NOFREE); - uma_prealloc(pvzone, initial_pvs); + uma_prealloc(pvzone, MINPV); /* * Now it is safe to enable pv_table recording. ==== //depot/projects/sack/alpha/include/pc/bios.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/alpha/include/pc/bios.h,v 1.5 1999/08/28 00:38:56 peter Exp $ + * $FreeBSD: src/sys/alpha/include/pc/bios.h,v 1.6 2004/06/10 20:30:54 jhb Exp $ * from: i386/include/pc bios.h,v 1.2 */ @@ -71,13 +71,8 @@ }; extern void bios32(caddr_t func_addr, struct bios32_args *args); -#if 0 -#define BIOS_PADDRTOVADDR(x) (((x) - ISA_HOLE_START) + atdevbase) -#define BIOS_VADDRTOPADDR(x) (((x) - atdevbase) + ISA_HOLE_START) -#else #define BIOS_PADDRTOVADDR(x) (x) #define BIOS_VADDRTOPADDR(x) (x) -#endif /* * System Management BIOS / Desktop Management Interface tables ==== //depot/projects/sack/amd64/acpica/madt.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.13 2004/06/03 20:25:04 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.14 2004/06/10 21:30:08 peter Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -65,7 +65,6 @@ } ioapics[NIOAPICS]; struct lapic_info { - u_int la_present:1; u_int la_enabled:1; u_int la_acpi_id:8; } lapics[NLAPICS]; @@ -447,18 +446,17 @@ printf("MADT: Found CPU APIC ID %d ACPI ID %d: %s\n", proc->LocalApicId, proc->ProcessorId, proc->ProcessorEnabled ? "enabled" : "disabled"); + if (!proc->ProcessorEnabled) + break; if (proc->LocalApicId >= NLAPICS) panic("%s: CPU ID %d too high", __func__, proc->LocalApicId); la = &lapics[proc->LocalApicId]; - KASSERT(la->la_present == 0, + KASSERT(la->la_enabled == 0, ("Duplicate local APIC ID %d", proc->LocalApicId)); - la->la_present = 1; + la->la_enabled = 1; la->la_acpi_id = proc->ProcessorId; - if (proc->ProcessorEnabled) { - la->la_enabled = 1; - lapic_create(proc->LocalApicId, 0); - } + lapic_create(proc->LocalApicId, 0); break; } } @@ -548,15 +546,12 @@ int i; for (i = 0; i < NLAPICS; i++) { - if (!lapics[i].la_present) + if (!lapics[i].la_enabled) continue; if (lapics[i].la_acpi_id != acpi_id) continue; *apic_id = i; - if (lapics[i].la_enabled) - return (0); - else - return (ENXIO); + return (0); } return (ENOENT); } @@ -770,7 +765,7 @@ pc = pcpu_find(i); KASSERT(pc != NULL, ("no pcpu data for CPU %d", i)); la = &lapics[pc->pc_apic_id]; - if (!la->la_present || !la->la_enabled) + if (!la->la_enabled) panic("APIC: CPU with APIC ID %u is not enabled", pc->pc_apic_id); pc->pc_acpi_id = la->la_acpi_id; ==== //depot/projects/sack/amd64/amd64/fpu.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/fpu.c,v 1.151 2004/06/06 09:16:02 das Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/fpu.c,v 1.153 2004/06/08 01:35:48 peter Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -73,6 +73,7 @@ #define fnstsw(addr) __asm __volatile("fnstsw %0" : "=m" (*(addr))) #define fxrstor(addr) __asm("fxrstor %0" : : "m" (*(addr))) #define fxsave(addr) __asm __volatile("fxsave %0" : "=m" (*(addr))) +#define ldmxcsr(r) __asm __volatile("ldmxcsr %0" : : "m" (r)) #define start_emulating() __asm("smsw %%ax; orb %0,%%al; lmsw %%ax" \ : : "n" (CR0_TS) : "ax") #define stop_emulating() __asm("clts") @@ -111,6 +112,7 @@ fpuinit(void) { register_t savecrit; + u_int mxcsr; u_short control; savecrit = intr_disable(); @@ -119,6 +121,8 @@ fninit(); control = __INITIAL_FPUCW__; fldcw(&control); + mxcsr = __INITIAL_MXCSR__; + ldmxcsr(mxcsr); fxsave(&fpu_cleanstate); start_emulating(); fpu_cleanstate_ready = 1; ==== //depot/projects/sack/amd64/amd64/identcpu.c#2 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.132 2004/06/03 20:18:15 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.134 2004/06/08 01:20:37 peter Exp $"); #include "opt_cpu.h" @@ -69,13 +69,10 @@ void earlysetcpuclass(void); void panicifcpuunsupported(void); -static void print_AMD_features(void); static void print_AMD_info(void); static void print_AMD_assoc(int i); -int cpu_feature2; /* XXX change cpu_feature to long? */ int cpu_class; -u_int cpu_exthigh; /* Highest arg to extended CPUID */ char machine[] = "amd64"; SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD, machine, 0, "Machine class"); @@ -109,26 +106,18 @@ strncpy(cpu_model, amd64_cpus[cpu].cpu_name, sizeof (cpu_model)); /* Check for extended CPUID information and a processor name. */ - if (cpu_high > 0 && - (strcmp(cpu_vendor, "GenuineIntel") == 0 || - strcmp(cpu_vendor, "AuthenticAMD") == 0)) { - do_cpuid(0x80000000, regs); - if (regs[0] >= 0x80000000) { - cpu_exthigh = regs[0]; - if (cpu_exthigh >= 0x80000004) { - brand = cpu_brand; - for (i = 0x80000002; i < 0x80000005; i++) { - do_cpuid(i, regs); - memcpy(brand, regs, sizeof(regs)); - brand += sizeof(regs); - } - } + if (cpu_exthigh >= 0x80000004) { + brand = cpu_brand; + for (i = 0x80000002; i < 0x80000005; i++) { + do_cpuid(i, regs); + memcpy(brand, regs, sizeof(regs)); + brand += sizeof(regs); } } if (strcmp(cpu_vendor, "GenuineIntel") == 0) { - /* Better late than never I suppose.. */ - strcat(cpu_model, "IA-32e"); + /* Please make up your mind folks! */ + strcat(cpu_model, "EM64T"); } else if (strcmp(cpu_vendor, "AuthenticAMD") == 0) { /* * Values taken from AMD Processor Recognition @@ -259,6 +248,43 @@ "\040<b31>" ); } + if (amd_feature != 0) { + printf("\n AMD Features=0x%b", amd_feature, + "\020" /* in hex */ + "\001<s0>" /* Same */ + "\002<s1>" /* Same */ + "\003<s2>" /* Same */ + "\004<s3>" /* Same */ + "\005<s4>" /* Same */ + "\006<s5>" /* Same */ + "\007<s6>" /* Same */ + "\010<s7>" /* Same */ + "\011<s8>" /* Same */ + "\012<s9>" /* Same */ + "\013<b10>" /* Undefined */ + "\014SYSCALL" /* Have SYSCALL/SYSRET */ + "\015<s12>" /* Same */ + "\016<s13>" /* Same */ + "\017<s14>" /* Same */ + "\020<s15>" /* Same */ + "\021<s16>" /* Same */ + "\022<s17>" /* Same */ + "\023<b18>" /* Reserved, unknown */ + "\024MP" /* Multiprocessor Capable */ + "\025NX" /* Has EFER.NXE, NX */ + "\026<b21>" /* Undefined */ + "\027MMX+" /* AMD MMX Extensions */ + "\030<s23>" /* Same */ + "\031<s24>" /* Same */ + "\032<b25>" /* Undefined */ + "\033<b26>" /* Undefined */ + "\034<b27>" /* Undefined */ + "\035<b28>" /* Undefined */ + "\036LM" /* 64 bit long mode */ + "\0373DNow+" /* AMD 3DNow! Extensions */ + "\0403DNow" /* AMD 3DNow! */ + ); + } /* * If this CPU supports hyperthreading then mention @@ -269,8 +295,6 @@ printf("\n Hyperthreading: %d logical CPUs", (cpu_procinfo & CPUID_HTT_CORES) >> 16); } - if (cpu_exthigh >= 0x80000001) - print_AMD_features(); } /* Avoid ugly blank lines: only print newline when we have to. */ if (*cpu_vendor || cpu_id) @@ -327,6 +351,16 @@ cpu_feature = regs[3]; cpu_feature2 = regs[2]; + if (strcmp(cpu_vendor, "GenuineIntel") == 0 || + strcmp(cpu_vendor, "AuthenticAMD") == 0) { + do_cpuid(0x80000000, regs); + cpu_exthigh = regs[0]; + } + if (cpu_exthigh >= 0x80000001) { + do_cpuid(0x80000001, regs); + amd_feature = regs[3] & ~(cpu_feature & 0x0183f3ff); + } + /* XXX */ cpu = CPU_CLAWHAMMER; } @@ -358,111 +392,64 @@ static void print_AMD_info(void) { + u_int regs[4]; - if (cpu_exthigh >= 0x80000005) { - u_int regs[4]; + if (cpu_exthigh < 0x80000005) + return; - do_cpuid(0x80000005, regs); - printf("L1 2MB data TLB: %d entries", (regs[0] >> 16) & 0xff); - print_AMD_assoc(regs[0] >> 24); + do_cpuid(0x80000005, regs); + printf("L1 2MB data TLB: %d entries", (regs[0] >> 16) & 0xff); + print_AMD_assoc(regs[0] >> 24); - printf("L1 2MB instruction TLB: %d entries", regs[0] & 0xff); - print_AMD_assoc((regs[0] >> 8) & 0xff); + printf("L1 2MB instruction TLB: %d entries", regs[0] & 0xff); + print_AMD_assoc((regs[0] >> 8) & 0xff); - printf("L1 4KB data TLB: %d entries", (regs[1] >> 16) & 0xff); - print_AMD_assoc(regs[1] >> 24); + printf("L1 4KB data TLB: %d entries", (regs[1] >> 16) & 0xff); + print_AMD_assoc(regs[1] >> 24); - printf("L1 4KB instruction TLB: %d entries", regs[1] & 0xff); - print_AMD_assoc((regs[1] >> 8) & 0xff); + printf("L1 4KB instruction TLB: %d entries", regs[1] & 0xff); + print_AMD_assoc((regs[1] >> 8) & 0xff); - printf("L1 data cache: %d kbytes", regs[2] >> 24); - printf(", %d bytes/line", regs[2] & 0xff); - printf(", %d lines/tag", (regs[2] >> 8) & 0xff); - print_AMD_assoc((regs[2] >> 16) & 0xff); + printf("L1 data cache: %d kbytes", regs[2] >> 24); + printf(", %d bytes/line", regs[2] & 0xff); + printf(", %d lines/tag", (regs[2] >> 8) & 0xff); + print_AMD_assoc((regs[2] >> 16) & 0xff); - printf("L1 instruction cache: %d kbytes", regs[3] >> 24); - printf(", %d bytes/line", regs[3] & 0xff); - printf(", %d lines/tag", (regs[3] >> 8) & 0xff); - print_AMD_assoc((regs[3] >> 16) & 0xff); + printf("L1 instruction cache: %d kbytes", regs[3] >> 24); + printf(", %d bytes/line", regs[3] & 0xff); + printf(", %d lines/tag", (regs[3] >> 8) & 0xff); + print_AMD_assoc((regs[3] >> 16) & 0xff); - if (cpu_exthigh >= 0x80000006) { - do_cpuid(0x80000006, regs); - if ((regs[0] >> 16) != 0) { - printf("L2 2MB data TLB: %d entries", - (regs[0] >> 16) & 0xfff); - print_AMD_l2_assoc(regs[0] >> 28); - printf("L2 2MB instruction TLB: %d entries", - regs[0] & 0xfff); - print_AMD_l2_assoc((regs[0] >> 28) & 0xf); - } else { - printf("L2 2MB unified TLB: %d entries", - regs[0] & 0xfff); - print_AMD_l2_assoc((regs[0] >> 28) & 0xf); - } - if ((regs[1] >> 16) != 0) { - printf("L2 4KB data TLB: %d entries", - (regs[1] >> 16) & 0xfff); - print_AMD_l2_assoc(regs[1] >> 28); + if (cpu_exthigh >= 0x80000006) { + do_cpuid(0x80000006, regs); + if ((regs[0] >> 16) != 0) { + printf("L2 2MB data TLB: %d entries", + (regs[0] >> 16) & 0xfff); + print_AMD_l2_assoc(regs[0] >> 28); + printf("L2 2MB instruction TLB: %d entries", + regs[0] & 0xfff); + print_AMD_l2_assoc((regs[0] >> 28) & 0xf); + } else { + printf("L2 2MB unified TLB: %d entries", + regs[0] & 0xfff); + print_AMD_l2_assoc((regs[0] >> 28) & 0xf); + } + if ((regs[1] >> 16) != 0) { + printf("L2 4KB data TLB: %d entries", + (regs[1] >> 16) & 0xfff); + print_AMD_l2_assoc(regs[1] >> 28); - printf("L2 4KB instruction TLB: %d entries", - (regs[1] >> 16) & 0xfff); - print_AMD_l2_assoc((regs[1] >> 28) & 0xf); - } else { - printf("L2 4KB unified TLB: %d entries", - (regs[1] >> 16) & 0xfff); - print_AMD_l2_assoc((regs[1] >> 28) & 0xf); - } - printf("L2 unified cache: %d kbytes", regs[2] >> 16); - printf(", %d bytes/line", regs[2] & 0xff); - printf(", %d lines/tag", (regs[2] >> 8) & 0x0f); - print_AMD_l2_assoc((regs[2] >> 12) & 0x0f); + printf("L2 4KB instruction TLB: %d entries", + (regs[1] >> 16) & 0xfff); + print_AMD_l2_assoc((regs[1] >> 28) & 0xf); + } else { + printf("L2 4KB unified TLB: %d entries", + (regs[1] >> 16) & 0xfff); + print_AMD_l2_assoc((regs[1] >> 28) & 0xf); } + printf("L2 unified cache: %d kbytes", regs[2] >> 16); + printf(", %d bytes/line", regs[2] & 0xff); + printf(", %d lines/tag", (regs[2] >> 8) & 0x0f); + print_AMD_l2_assoc((regs[2] >> 12) & 0x0f); } } - -static void -print_AMD_features(void) -{ - u_int regs[4]; - - /* - * Values taken from AMD Processor Recognition - * http://www.amd.com/products/cpg/athlon/techdocs/pdf/20734.pdf - */ - do_cpuid(0x80000001, regs); - printf("\n AMD Features=0x%b", regs[3] & ~(cpu_feature & 0x0183f3ff), - "\020" /* in hex */ - "\001FPU" /* Integral FPU */ - "\002VME" /* Extended VM86 mode support */ - "\003DE" /* Debug extensions */ - "\004PSE" /* 4MByte page tables */ - "\005TSC" /* Timestamp counter */ - "\006MSR" /* Machine specific registers */ - "\007PAE" /* Physical address extension */ - "\010MCE" /* Machine Check support */ - "\011CX8" /* CMPEXCH8 instruction */ - "\012APIC" /* SMP local APIC */ - "\013<b10>" - "\014SYSCALL" /* SYSENTER/SYSEXIT instructions */ - "\015MTRR" /* Memory Type Range Registers */ - "\016PGE" /* PG_G (global bit) support */ - "\017MCA" /* Machine Check Architecture */ - "\020CMOV" /* CMOV instruction */ - "\021PAT" /* Page attributes table */ - "\022PGE36" /* 36 bit address space support */ - "\023RSVD" /* Reserved, unknown */ - "\024MP" /* Multiprocessor Capable */ - "\025NX" /* Has EFER.NXE, NX (no execute pte bit) */ - "\026<b21>" - "\027MMX+" /* AMD MMX Instruction Extensions */ - "\030MMX" - "\031FXSAVE" /* FXSAVE/FXRSTOR */ - "\032<b25>" - "\033<b26>" - "\034<b27>" - "\035<b28>" - "\036LM" /* Long mode */ - "\0373DNow!+" /* AMD 3DNow! Instruction Extensions */ - "\0403DNow!" /* AMD 3DNow! Instructions */ - ); -} ==== //depot/projects/sack/amd64/amd64/initcpu.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/initcpu.c,v 1.47 2003/11/21 03:01:59 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/initcpu.c,v 1.48 2004/06/08 01:02:51 peter Exp $"); #include "opt_cpu.h" @@ -41,7 +41,8 @@ #include <machine/md_var.h> #include <machine/specialreg.h> -void initializecpu(void); +#include <vm/vm.h> +#include <vm/pmap.h> static int hw_instruction_sse; SYSCTL_INT(_hw, OID_AUTO, instruction_sse, CTLFLAG_RD, @@ -49,31 +50,30 @@ int cpu; /* Are we 386, 386sx, 486, etc? */ u_int cpu_feature; /* Feature flags */ +u_int cpu_feature2; /* Feature flags */ +u_int amd_feature; /* Feature flags */ u_int cpu_high; /* Highest arg to CPUID */ +u_int cpu_exthigh; /* Highest arg to extended CPUID */ u_int cpu_id; /* Stepping ID */ u_int cpu_procinfo; /* HyperThreading Info / Brand Index / CLFUSH */ char cpu_vendor[20]; /* CPU Origin code */ u_int cpu_fxsr; /* SSE enabled */ /* - * Initialize CR4 (Control register 4) to enable SSE instructions. + * Initialize CPU control registers */ void -enable_sse(void) +initializecpu(void) { + uint64_t msr; + if ((cpu_feature & CPUID_XMM) && (cpu_feature & CPUID_FXSR)) { load_cr4(rcr4() | CR4_FXSR | CR4_XMM); cpu_fxsr = hw_instruction_sse = 1; } -} - -void -initializecpu(void) -{ - - switch (cpu) { - default: - break; + if ((amd_feature & AMDID_NX) != 0) { + msr = rdmsr(MSR_EFER) | EFER_NXE; + wrmsr(MSR_EFER, msr); + pg_nx = PG_NX; } - enable_sse(); } ==== //depot/projects/sack/amd64/amd64/machdep.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.607 2004/05/19 01:23:48 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.610 2004/06/11 11:16:18 phk Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -130,7 +130,6 @@ extern void printcpuinfo(void); /* XXX header file */ extern void identify_cpu(void); extern void panicifcpuunsupported(void); -extern void initializecpu(void); #define CS_SECURE(cs) (ISPL(cs) == SEL_UPL) #define EFL_SECURE(ef, oef) ((((ef) ^ (oef)) & ~PSL_USERCHANGE) == 0) @@ -141,7 +140,6 @@ SYSINIT(cpu, SI_SUB_CPU, SI_ORDER_FIRST, cpu_startup, NULL) int _udatasel, _ucodesel, _ucode32sel; -u_long atdevbase; int cold = 1; @@ -264,7 +262,7 @@ SIGISMEMBER(psp->ps_sigonstack, sig)) { sp = td->td_sigstk.ss_sp + td->td_sigstk.ss_size - sizeof(struct sigframe); -#if defined(COMPAT_43) || defined(COMPAT_SUNOS) +#if defined(COMPAT_43) >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200406141907.i5EJ7oC5087339>