svn commit: r233548 - in projects/pseries: . amd64/acpica
amd64/amd64 amd64/conf amd64/ia32 amd64/include arm/conf
arm/mv boot/common boot/fdt boot/uboot/common boot/uboot/lib
cddl/contrib/opensola...
Nathan Whitehorn
nwhitehorn at FreeBSD.org
Tue Mar 27 14:24:47 UTC 2012
Author: nwhitehorn
Date: Tue Mar 27 14:24:46 2012
New Revision: 233548
URL: http://svn.freebsd.org/changeset/base/233548
Log:
IFC @ r233546
Added:
projects/pseries/amd64/include/npx.h
- copied unchanged from r233546, head/sys/amd64/include/npx.h
projects/pseries/cddl/contrib/opensolaris/uts/mips/
- copied from r233546, head/sys/cddl/contrib/opensolaris/uts/mips/
projects/pseries/cddl/dev/dtrace/mips/
- copied from r233546, head/sys/cddl/dev/dtrace/mips/
projects/pseries/contrib/dev/acpica/compiler/preprocess.h
- copied unchanged from r233546, head/sys/contrib/dev/acpica/compiler/preprocess.h
projects/pseries/contrib/dev/acpica/compiler/prexpress.c
- copied unchanged from r233546, head/sys/contrib/dev/acpica/compiler/prexpress.c
projects/pseries/contrib/dev/acpica/compiler/prmacros.c
- copied unchanged from r233546, head/sys/contrib/dev/acpica/compiler/prmacros.c
projects/pseries/contrib/dev/acpica/compiler/prparser.l
- copied unchanged from r233546, head/sys/contrib/dev/acpica/compiler/prparser.l
projects/pseries/contrib/dev/acpica/compiler/prparser.y
- copied unchanged from r233546, head/sys/contrib/dev/acpica/compiler/prparser.y
projects/pseries/contrib/dev/acpica/compiler/prscan.c
- copied unchanged from r233546, head/sys/contrib/dev/acpica/compiler/prscan.c
projects/pseries/contrib/dev/acpica/compiler/prutils.c
- copied unchanged from r233546, head/sys/contrib/dev/acpica/compiler/prutils.c
projects/pseries/contrib/dev/ral/microcode.h
- copied unchanged from r233546, head/sys/contrib/dev/ral/microcode.h
projects/pseries/dev/hwpmc/hwpmc_octeon.c
- copied unchanged from r233546, head/sys/dev/hwpmc/hwpmc_octeon.c
projects/pseries/dev/iicbus/ds1374.c
- copied unchanged from r233546, head/sys/dev/iicbus/ds1374.c
projects/pseries/dev/iicbus/iicoc.c
- copied unchanged from r233546, head/sys/dev/iicbus/iicoc.c
projects/pseries/dev/iicbus/iicoc.h
- copied unchanged from r233546, head/sys/dev/iicbus/iicoc.h
projects/pseries/dev/mpt/mpilib/mpi_log_fc.h
- copied unchanged from r233546, head/sys/dev/mpt/mpilib/mpi_log_fc.h
projects/pseries/dev/mpt/mpilib/mpi_log_sas.h
- copied unchanged from r233546, head/sys/dev/mpt/mpilib/mpi_log_sas.h
projects/pseries/geom/part/g_part_ldm.c
- copied unchanged from r233546, head/sys/geom/part/g_part_ldm.c
projects/pseries/mips/cavium/octeon_pmc.c
- copied unchanged from r233546, head/sys/mips/cavium/octeon_pmc.c
projects/pseries/mips/conf/XLP.hints
- copied unchanged from r233546, head/sys/mips/conf/XLP.hints
projects/pseries/mips/mips/libkern_machdep.c
- copied unchanged from r233546, head/sys/mips/mips/libkern_machdep.c
projects/pseries/mips/nlm/board_cpld.c
- copied unchanged from r233546, head/sys/mips/nlm/board_cpld.c
projects/pseries/mips/nlm/board_eeprom.c
- copied unchanged from r233546, head/sys/mips/nlm/board_eeprom.c
projects/pseries/mips/nlm/dev/
- copied from r233546, head/sys/mips/nlm/dev/
projects/pseries/mips/nlm/hal/gbu.h
- copied unchanged from r233546, head/sys/mips/nlm/hal/gbu.h
projects/pseries/mips/nlm/hal/interlaken.h
- copied unchanged from r233546, head/sys/mips/nlm/hal/interlaken.h
projects/pseries/mips/nlm/hal/mdio.h
- copied unchanged from r233546, head/sys/mips/nlm/hal/mdio.h
projects/pseries/mips/nlm/hal/nae.h
- copied unchanged from r233546, head/sys/mips/nlm/hal/nae.h
projects/pseries/mips/nlm/hal/nlmsaelib.h
- copied unchanged from r233546, head/sys/mips/nlm/hal/nlmsaelib.h
projects/pseries/mips/nlm/hal/poe.h
- copied unchanged from r233546, head/sys/mips/nlm/hal/poe.h
projects/pseries/mips/nlm/hal/sgmii.h
- copied unchanged from r233546, head/sys/mips/nlm/hal/sgmii.h
projects/pseries/mips/nlm/hal/ucore_loader.h
- copied unchanged from r233546, head/sys/mips/nlm/hal/ucore_loader.h
projects/pseries/mips/nlm/hal/xaui.h
- copied unchanged from r233546, head/sys/mips/nlm/hal/xaui.h
projects/pseries/modules/acl_nfs4/
- copied from r233546, head/sys/modules/acl_nfs4/
projects/pseries/modules/acl_posix1e/
- copied from r233546, head/sys/modules/acl_posix1e/
projects/pseries/modules/geom/geom_part/geom_part_ldm/
- copied from r233546, head/sys/modules/geom/geom_part/geom_part_ldm/
projects/pseries/modules/ralfw/rt2860/
- copied from r233546, head/sys/modules/ralfw/rt2860/
projects/pseries/x86/include/fpu.h
- copied unchanged from r233546, head/sys/x86/include/fpu.h
projects/pseries/x86/include/psl.h
- copied unchanged from r233546, head/sys/x86/include/psl.h
projects/pseries/x86/include/reg.h
- copied unchanged from r233546, head/sys/x86/include/reg.h
projects/pseries/x86/include/segments.h
- copied unchanged from r233546, head/sys/x86/include/segments.h
projects/pseries/x86/include/specialreg.h
- copied unchanged from r233546, head/sys/x86/include/specialreg.h
projects/pseries/x86/include/sysarch.h
- copied unchanged from r233546, head/sys/x86/include/sysarch.h
Deleted:
projects/pseries/compat/ia32/ia32_reg.h
projects/pseries/contrib/dev/ral/rt2661_ucode.h
projects/pseries/contrib/octeon-sdk/cvmx-csr-db-support.c
projects/pseries/contrib/octeon-sdk/cvmx-csr-db.c
projects/pseries/contrib/octeon-sdk/cvmx-csr-db.h
projects/pseries/contrib/octeon-sdk/cvmx-error-custom.c
projects/pseries/contrib/octeon-sdk/cvmx-error-custom.h
projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn30xx.c
projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn31xx.c
projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn38xx.c
projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn38xxp2.c
projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn50xx.c
projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn52xx.c
projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn52xxp1.c
projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn56xx.c
projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn56xxp1.c
projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn58xx.c
projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn58xxp1.c
projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn61xx.c
projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn63xx.c
projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn63xxp1.c
projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn66xx.c
projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn68xx.c
projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn68xxp1.c
projects/pseries/contrib/octeon-sdk/cvmx-error-init-cnf71xx.c
projects/pseries/contrib/octeon-sdk/cvmx-error.c
projects/pseries/contrib/octeon-sdk/cvmx-error.h
projects/pseries/dev/hwpmc/hwpmc_mips24k.h
projects/pseries/dev/mpt/mpilib/mpi_inb.h
Modified:
projects/pseries/Makefile
projects/pseries/amd64/acpica/acpi_wakeup.c
projects/pseries/amd64/amd64/pmap.c
projects/pseries/amd64/amd64/trap.c
projects/pseries/amd64/conf/GENERIC
projects/pseries/amd64/conf/NOTES
projects/pseries/amd64/ia32/ia32_reg.c
projects/pseries/amd64/include/fpu.h
projects/pseries/amd64/include/proc.h
projects/pseries/amd64/include/psl.h
projects/pseries/amd64/include/reg.h
projects/pseries/amd64/include/segments.h
projects/pseries/amd64/include/specialreg.h
projects/pseries/amd64/include/sysarch.h
projects/pseries/arm/conf/AVILA
projects/pseries/arm/conf/BWCT
projects/pseries/arm/conf/CAMBRIA
projects/pseries/arm/conf/CNS11XXNAS
projects/pseries/arm/conf/CRB
projects/pseries/arm/conf/DB-78XXX
projects/pseries/arm/conf/DB-88F5XXX
projects/pseries/arm/conf/DB-88F6XXX
projects/pseries/arm/conf/DOCKSTAR
projects/pseries/arm/conf/EP80219
projects/pseries/arm/conf/GUMSTIX
projects/pseries/arm/conf/HL200
projects/pseries/arm/conf/HL201
projects/pseries/arm/conf/IQ31244
projects/pseries/arm/conf/KB920X
projects/pseries/arm/conf/LN2410SBC
projects/pseries/arm/conf/NSLU
projects/pseries/arm/conf/QILA9G20
projects/pseries/arm/conf/SAM9G20EK
projects/pseries/arm/conf/SHEEVAPLUG
projects/pseries/arm/conf/TS7800
projects/pseries/arm/mv/common.c
projects/pseries/boot/common/crc32.c
projects/pseries/boot/common/ufsread.c
projects/pseries/boot/fdt/fdt_loader_cmd.c
projects/pseries/boot/uboot/common/metadata.c
projects/pseries/boot/uboot/lib/Makefile
projects/pseries/boot/uboot/lib/glue.c
projects/pseries/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
projects/pseries/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
projects/pseries/cddl/dev/dtrace/dtrace_ioctl.c
projects/pseries/cddl/dev/lockstat/lockstat.c
projects/pseries/cddl/dev/profile/profile.c
projects/pseries/compat/ia32/ia32_sysvec.c
projects/pseries/conf/Makefile.mips
projects/pseries/conf/NOTES
projects/pseries/conf/files
projects/pseries/conf/files.mips
projects/pseries/conf/files.pc98
projects/pseries/conf/kern.mk
projects/pseries/conf/options
projects/pseries/conf/options.amd64
projects/pseries/conf/options.i386
projects/pseries/conf/options.mips
projects/pseries/contrib/dev/acpica/acpica_prep.sh
projects/pseries/contrib/dev/acpica/changes.txt (contents, props changed)
projects/pseries/contrib/dev/acpica/common/adisasm.c
projects/pseries/contrib/dev/acpica/common/getopt.c
projects/pseries/contrib/dev/acpica/compiler/aslcodegen.c
projects/pseries/contrib/dev/acpica/compiler/aslcompile.c
projects/pseries/contrib/dev/acpica/compiler/aslcompiler.h
projects/pseries/contrib/dev/acpica/compiler/aslcompiler.y
projects/pseries/contrib/dev/acpica/compiler/aslerror.c
projects/pseries/contrib/dev/acpica/compiler/aslfiles.c
projects/pseries/contrib/dev/acpica/compiler/aslglobal.h
projects/pseries/contrib/dev/acpica/compiler/aslmain.c
projects/pseries/contrib/dev/acpica/compiler/aslmessages.h
projects/pseries/contrib/dev/acpica/compiler/aslstartup.c
projects/pseries/contrib/dev/acpica/compiler/asltypes.h
projects/pseries/contrib/dev/acpica/compiler/aslutils.c
projects/pseries/contrib/dev/acpica/compiler/dtcompile.c
projects/pseries/contrib/dev/acpica/compiler/dtcompiler.h
projects/pseries/contrib/dev/acpica/compiler/dtexpress.c
projects/pseries/contrib/dev/acpica/compiler/dtio.c
projects/pseries/contrib/dev/acpica/compiler/dtparser.y
projects/pseries/contrib/dev/acpica/components/debugger/dbcmds.c
projects/pseries/contrib/dev/acpica/components/hardware/hwesleep.c
projects/pseries/contrib/dev/acpica/components/hardware/hwsleep.c
projects/pseries/contrib/dev/acpica/components/hardware/hwxfsleep.c
projects/pseries/contrib/dev/acpica/components/namespace/nsdump.c
projects/pseries/contrib/dev/acpica/components/namespace/nsdumpdv.c
projects/pseries/contrib/dev/acpica/components/namespace/nspredef.c
projects/pseries/contrib/dev/acpica/components/namespace/nsrepair.c
projects/pseries/contrib/dev/acpica/components/namespace/nsutils.c
projects/pseries/contrib/dev/acpica/components/tables/tbfadt.c
projects/pseries/contrib/dev/acpica/components/tables/tbinstal.c
projects/pseries/contrib/dev/acpica/components/tables/tbutils.c
projects/pseries/contrib/dev/acpica/include/achware.h
projects/pseries/contrib/dev/acpica/include/aclocal.h
projects/pseries/contrib/dev/acpica/include/acnames.h
projects/pseries/contrib/dev/acpica/include/acnamesp.h
projects/pseries/contrib/dev/acpica/include/acoutput.h
projects/pseries/contrib/dev/acpica/include/acpixf.h
projects/pseries/contrib/dev/acpica/include/actypes.h
projects/pseries/contrib/dev/ral/Makefile
projects/pseries/contrib/dev/ral/rt2860.fw.uu
projects/pseries/contrib/dev/run/rt2870.fw.uu
projects/pseries/contrib/octeon-sdk/cvmx-pcie.c
projects/pseries/contrib/octeon-sdk/cvmx-twsi.c
projects/pseries/contrib/octeon-sdk/cvmx-usb.c
projects/pseries/dev/acpica/acpi.c
projects/pseries/dev/acpica/acpivar.h
projects/pseries/dev/advansys/adv_eisa.c
projects/pseries/dev/advansys/adv_isa.c
projects/pseries/dev/advansys/adv_pci.c
projects/pseries/dev/advansys/adw_pci.c
projects/pseries/dev/ahb/ahb.c
projects/pseries/dev/aic7xxx/ahc_eisa.c
projects/pseries/dev/aic7xxx/ahc_isa.c
projects/pseries/dev/aic7xxx/ahc_pci.c
projects/pseries/dev/aic7xxx/ahd_pci.c
projects/pseries/dev/aic7xxx/aicasm/aicasm_symbol.c
projects/pseries/dev/amr/amr_pci.c
projects/pseries/dev/an/if_an_pci.c
projects/pseries/dev/arcmsr/arcmsr.c
projects/pseries/dev/asr/asr.c
projects/pseries/dev/ata/ata-all.c
projects/pseries/dev/ata/ata-all.h
projects/pseries/dev/ata/ata-card.c
projects/pseries/dev/ata/ata-cbus.c
projects/pseries/dev/ata/ata-disk.c
projects/pseries/dev/ata/ata-pci.c
projects/pseries/dev/ata/ata-pci.h
projects/pseries/dev/ata/ata-queue.c
projects/pseries/dev/ata/ata-raid.c
projects/pseries/dev/ata/atapi-cam.c
projects/pseries/dev/ata/atapi-cd.c
projects/pseries/dev/ata/atapi-fd.c
projects/pseries/dev/ata/atapi-tape.c
projects/pseries/dev/ata/chipsets/ata-acard.c
projects/pseries/dev/ata/chipsets/ata-acerlabs.c
projects/pseries/dev/ata/chipsets/ata-adaptec.c
projects/pseries/dev/ata/chipsets/ata-ahci.c
projects/pseries/dev/ata/chipsets/ata-amd.c
projects/pseries/dev/ata/chipsets/ata-ati.c
projects/pseries/dev/ata/chipsets/ata-cyrix.c
projects/pseries/dev/ata/chipsets/ata-highpoint.c
projects/pseries/dev/ata/chipsets/ata-intel.c
projects/pseries/dev/ata/chipsets/ata-ite.c
projects/pseries/dev/ata/chipsets/ata-jmicron.c
projects/pseries/dev/ata/chipsets/ata-marvell.c
projects/pseries/dev/ata/chipsets/ata-national.c
projects/pseries/dev/ata/chipsets/ata-nvidia.c
projects/pseries/dev/ata/chipsets/ata-promise.c
projects/pseries/dev/ata/chipsets/ata-serverworks.c
projects/pseries/dev/ata/chipsets/ata-siliconimage.c
projects/pseries/dev/ata/chipsets/ata-sis.c
projects/pseries/dev/ata/chipsets/ata-via.c
projects/pseries/dev/ath/ath_hal/ar5416/ar5416_reset.c
projects/pseries/dev/ath/if_ath.c
projects/pseries/dev/ath/if_ath_debug.c
projects/pseries/dev/ath/if_ath_tx.c
projects/pseries/dev/ath/if_ath_tx.h
projects/pseries/dev/ath/if_ath_tx_ht.c
projects/pseries/dev/ath/if_athvar.h
projects/pseries/dev/bge/if_bge.c
projects/pseries/dev/bge/if_bgereg.h
projects/pseries/dev/buslogic/bt_pci.c
projects/pseries/dev/bxe/if_bxe.c
projects/pseries/dev/cesa/cesa.c
projects/pseries/dev/ciss/ciss.c
projects/pseries/dev/cxgb/cxgb_sge.c
projects/pseries/dev/de/if_de.c
projects/pseries/dev/dpt/dpt_pci.c
projects/pseries/dev/e1000/e1000_osdep.h
projects/pseries/dev/en/midway.c
projects/pseries/dev/fb/vesa.c
projects/pseries/dev/fxp/if_fxp.c
projects/pseries/dev/glxsb/glxsb.c
projects/pseries/dev/hatm/if_hatm.c
projects/pseries/dev/hifn/hifn7751.c
projects/pseries/dev/hptiop/hptiop.c
projects/pseries/dev/hptmv/entry.c
projects/pseries/dev/hwpmc/hwpmc_logging.c
projects/pseries/dev/hwpmc/hwpmc_mips.c
projects/pseries/dev/hwpmc/hwpmc_mips24k.c
projects/pseries/dev/hwpmc/pmc_events.h
projects/pseries/dev/ida/ida_pci.c
projects/pseries/dev/if_ndis/if_ndis_pci.c
projects/pseries/dev/iir/iir_pci.c
projects/pseries/dev/ips/ips_pci.c
projects/pseries/dev/ipw/if_ipw.c
projects/pseries/dev/ipw/if_ipwvar.h
projects/pseries/dev/isci/isci.h
projects/pseries/dev/isci/isci_controller.c
projects/pseries/dev/isci/isci_remote_device.c
projects/pseries/dev/iwi/if_iwi.c
projects/pseries/dev/iwn/if_iwn.c
projects/pseries/dev/ixgb/if_ixgb.c
projects/pseries/dev/ixgbe/ixgbe.c
projects/pseries/dev/ixgbe/ixv.c
projects/pseries/dev/lmc/if_lmc.c
projects/pseries/dev/mfi/mfi_pci.c
projects/pseries/dev/mge/if_mge.c
projects/pseries/dev/mlx/mlx_pci.c
projects/pseries/dev/mly/mly.c
projects/pseries/dev/mpt/mpilib/mpi.h
projects/pseries/dev/mpt/mpilib/mpi_cnfg.h
projects/pseries/dev/mpt/mpilib/mpi_fc.h
projects/pseries/dev/mpt/mpilib/mpi_init.h
projects/pseries/dev/mpt/mpilib/mpi_ioc.h
projects/pseries/dev/mpt/mpilib/mpi_lan.h
projects/pseries/dev/mpt/mpilib/mpi_raid.h
projects/pseries/dev/mpt/mpilib/mpi_sas.h
projects/pseries/dev/mpt/mpilib/mpi_targ.h
projects/pseries/dev/mpt/mpilib/mpi_tool.h
projects/pseries/dev/mpt/mpilib/mpi_type.h
projects/pseries/dev/mpt/mpt.h
projects/pseries/dev/mpt/mpt_pci.c
projects/pseries/dev/mxge/if_mxge.c
projects/pseries/dev/nve/if_nve.c
projects/pseries/dev/ofw/ofw_bus_if.m
projects/pseries/dev/ofw/ofw_bus_subr.c
projects/pseries/dev/ofw/ofw_iicbus.c
projects/pseries/dev/patm/if_patm_attach.c
projects/pseries/dev/pcf/pcf_ebus.c
projects/pseries/dev/pci/pci.c
projects/pseries/dev/safe/safe.c
projects/pseries/dev/sound/pci/emu10kx.c
projects/pseries/dev/trm/trm.c
projects/pseries/dev/twe/twe_freebsd.c
projects/pseries/dev/tws/tws.c
projects/pseries/dev/uart/uart_bus_pci.c
projects/pseries/dev/ubsec/ubsec.c
projects/pseries/dev/usb/wlan/if_run.c
projects/pseries/dev/wds/wd7000.c
projects/pseries/dev/wpi/if_wpi.c
projects/pseries/dev/wtap/if_wtap.c
projects/pseries/dev/xen/blkfront/blkfront.c
projects/pseries/fs/fdescfs/fdesc_vfsops.c
projects/pseries/fs/nfsclient/nfs_clbio.c
projects/pseries/fs/nfsclient/nfs_clvnops.c
projects/pseries/fs/nullfs/null_vfsops.c
projects/pseries/fs/portalfs/portal_vfsops.c
projects/pseries/fs/tmpfs/tmpfs_subr.c
projects/pseries/fs/tmpfs/tmpfs_vnops.c
projects/pseries/fs/unionfs/union_vfsops.c
projects/pseries/geom/part/g_part.c
projects/pseries/geom/part/g_part.h
projects/pseries/i386/acpica/acpi_wakeup.c
projects/pseries/i386/conf/GENERIC
projects/pseries/i386/conf/NOTES
projects/pseries/i386/conf/XBOX
projects/pseries/i386/conf/XEN
projects/pseries/i386/i386/machdep.c
projects/pseries/i386/i386/pmap.c
projects/pseries/i386/i386/trap.c
projects/pseries/i386/include/npx.h
projects/pseries/i386/include/proc.h
projects/pseries/i386/include/psl.h
projects/pseries/i386/include/reg.h
projects/pseries/i386/include/segments.h
projects/pseries/i386/include/specialreg.h
projects/pseries/i386/include/sysarch.h
projects/pseries/ia64/conf/GENERIC
projects/pseries/ia64/conf/SKI
projects/pseries/ia64/ia32/ia32_reg.c
projects/pseries/ia64/ia32/ia32_signal.c
projects/pseries/ia64/ia32/ia32_trap.c
projects/pseries/ia64/include/reg.h
projects/pseries/kern/imgact_elf.c
projects/pseries/kern/kern_clocksource.c
projects/pseries/kern/kern_event.c
projects/pseries/kern/kern_exit.c
projects/pseries/kern/kern_linker.c
projects/pseries/kern/kern_proc.c
projects/pseries/kern/kern_racct.c
projects/pseries/kern/kern_sysctl.c
projects/pseries/kern/kern_umtx.c
projects/pseries/kern/sched_ule.c
projects/pseries/kern/subr_acl_nfs4.c
projects/pseries/kern/subr_acl_posix1e.c
projects/pseries/kern/subr_msgbuf.c
projects/pseries/kern/subr_uio.c
projects/pseries/kern/sys_capability.c
projects/pseries/kern/uipc_syscalls.c
projects/pseries/libkern/crc32.c
projects/pseries/mips/adm5120/adm5120_machdep.c
projects/pseries/mips/adm5120/std.adm5120
projects/pseries/mips/alchemy/alchemy_machdep.c
projects/pseries/mips/alchemy/std.alchemy
projects/pseries/mips/atheros/apb.c
projects/pseries/mips/atheros/ar71xx_chip.c
projects/pseries/mips/atheros/ar71xx_cpudef.h
projects/pseries/mips/atheros/ar71xx_machdep.c
projects/pseries/mips/atheros/ar71xxreg.h
projects/pseries/mips/atheros/ar724x_chip.c
projects/pseries/mips/atheros/ar91xx_chip.c
projects/pseries/mips/atheros/files.ar71xx
projects/pseries/mips/atheros/if_arge.c
projects/pseries/mips/atheros/std.ar71xx
projects/pseries/mips/cavium/files.octeon1
projects/pseries/mips/cavium/octeon_ebt3000_cf.c
projects/pseries/mips/cavium/octeon_irq.h
projects/pseries/mips/cavium/octeon_machdep.c
projects/pseries/mips/conf/AR71XX_BASE
projects/pseries/mips/conf/AR91XX_BASE
projects/pseries/mips/conf/MALTA
projects/pseries/mips/conf/MALTA64
projects/pseries/mips/conf/OCTEON1
projects/pseries/mips/conf/PB92
projects/pseries/mips/conf/RT305X
projects/pseries/mips/conf/SWARM
projects/pseries/mips/conf/SWARM64
projects/pseries/mips/conf/SWARM64_SMP
projects/pseries/mips/conf/SWARM_SMP
projects/pseries/mips/conf/XLP
projects/pseries/mips/conf/XLP64
projects/pseries/mips/conf/XLPN32
projects/pseries/mips/conf/XLR
projects/pseries/mips/conf/XLR64
projects/pseries/mips/conf/XLRN32
projects/pseries/mips/conf/std.XLP
projects/pseries/mips/idt/idt_machdep.c
projects/pseries/mips/idt/std.idt
projects/pseries/mips/include/_bus.h
projects/pseries/mips/include/bus.h
projects/pseries/mips/include/cache.h
projects/pseries/mips/include/cpufunc.h
projects/pseries/mips/include/frame.h
projects/pseries/mips/include/hwfunc.h
projects/pseries/mips/include/md_var.h
projects/pseries/mips/include/pmap.h
projects/pseries/mips/include/pmc_mdep.h
projects/pseries/mips/include/proc.h
projects/pseries/mips/include/trap.h
projects/pseries/mips/malta/malta_machdep.c
projects/pseries/mips/malta/std.malta
projects/pseries/mips/mips/bus_space_generic.c
projects/pseries/mips/mips/cache.c
projects/pseries/mips/mips/cache_mipsNN.c
projects/pseries/mips/mips/cpu.c
projects/pseries/mips/mips/exception.S
projects/pseries/mips/mips/freebsd32_machdep.c
projects/pseries/mips/mips/intr_machdep.c
projects/pseries/mips/mips/machdep.c
projects/pseries/mips/mips/pm_machdep.c
projects/pseries/mips/mips/pmap.c
projects/pseries/mips/mips/support.S
projects/pseries/mips/mips/swtch.S
projects/pseries/mips/mips/tick.c
projects/pseries/mips/mips/trap.c
projects/pseries/mips/mips/vm_machdep.c
projects/pseries/mips/nlm/board.c
projects/pseries/mips/nlm/board.h
projects/pseries/mips/nlm/cms.c
projects/pseries/mips/nlm/files.xlp
projects/pseries/mips/nlm/hal/iomap.h
projects/pseries/mips/nlm/hal/nlm_hal.c
projects/pseries/mips/nlm/hal/pcibus.h
projects/pseries/mips/nlm/hal/sys.h
projects/pseries/mips/nlm/mpreset.S
projects/pseries/mips/nlm/msgring.h
projects/pseries/mips/nlm/tick.c
projects/pseries/mips/nlm/xlp.h
projects/pseries/mips/nlm/xlp_machdep.c
projects/pseries/mips/nlm/xlp_pci.c
projects/pseries/mips/rmi/tick.c
projects/pseries/mips/rmi/xlr_machdep.c
projects/pseries/mips/rt305x/rt305x_machdep.c
projects/pseries/mips/rt305x/std.rt305x
projects/pseries/mips/sentry5/s5_machdep.c
projects/pseries/mips/sentry5/std.sentry5
projects/pseries/mips/sibyte/sb_machdep.c
projects/pseries/modules/Makefile
projects/pseries/modules/cyclic/Makefile
projects/pseries/modules/dtrace/Makefile
projects/pseries/modules/geom/geom_part/Makefile
projects/pseries/modules/mps/Makefile
projects/pseries/modules/netgraph/netflow/Makefile
projects/pseries/modules/ralfw/Makefile
projects/pseries/net/if_var.h
projects/pseries/net/route.c
projects/pseries/net/route.h
projects/pseries/net80211/ieee80211.c
projects/pseries/net80211/ieee80211_alq.c
projects/pseries/net80211/ieee80211_freebsd.c
projects/pseries/net80211/ieee80211_ht.c
projects/pseries/net80211/ieee80211_ht.h
projects/pseries/net80211/ieee80211_node.c
projects/pseries/net80211/ieee80211_node.h
projects/pseries/net80211/ieee80211_proto.c
projects/pseries/net80211/ieee80211_sta.c
projects/pseries/net80211/ieee80211_var.h
projects/pseries/netgraph/netflow/netflow.c
projects/pseries/netgraph/netflow/ng_netflow.c
projects/pseries/netgraph/netflow/ng_netflow.h
projects/pseries/netgraph/ng_vlan.c
projects/pseries/netgraph/ng_vlan.h
projects/pseries/netinet/in_pcb.h
projects/pseries/netinet/ip_fw.h
projects/pseries/netinet/ipfw/ip_fw2.c
projects/pseries/netinet/ipfw/ip_fw_private.h
projects/pseries/netinet/ipfw/ip_fw_sockopt.c
projects/pseries/netinet/ipfw/ip_fw_table.c
projects/pseries/netinet/sctp_bsd_addr.c
projects/pseries/netinet/sctp_peeloff.c
projects/pseries/netinet/sctp_usrreq.c
projects/pseries/netinet/sctputil.c
projects/pseries/netinet6/in6_pcb.c
projects/pseries/netinet6/sctp6_usrreq.c
projects/pseries/ofed/drivers/infiniband/core/addr.c
projects/pseries/ofed/drivers/infiniband/core/cma.c
projects/pseries/ofed/drivers/infiniband/core/fmr_pool.c
projects/pseries/ofed/drivers/infiniband/ulp/sdp/sdp_main.c
projects/pseries/pc98/conf/GENERIC
projects/pseries/pc98/include/psl.h
projects/pseries/pc98/include/reg.h
projects/pseries/pc98/include/specialreg.h
projects/pseries/pc98/include/sysarch.h
projects/pseries/pc98/pc98/machdep.c
projects/pseries/powerpc/aim/mmu_oea.c
projects/pseries/powerpc/aim/mmu_oea64.c
projects/pseries/powerpc/aim/moea64_native.c
projects/pseries/powerpc/conf/GENERIC
projects/pseries/powerpc/conf/GENERIC64
projects/pseries/powerpc/conf/MPC85XX
projects/pseries/powerpc/ofw/ofw_pcib_pci.c
projects/pseries/powerpc/ofw/ofw_pcibus.c
projects/pseries/powerpc/powermac/uninorth.c
projects/pseries/sparc64/conf/GENERIC
projects/pseries/sparc64/pci/fire.c
projects/pseries/sparc64/pci/ofw_pcibus.c
projects/pseries/sys/cpuset.h
projects/pseries/sys/elf_common.h
projects/pseries/sys/event.h
projects/pseries/sys/libkern.h
projects/pseries/sys/msgbuf.h
projects/pseries/sys/pmc.h
projects/pseries/sys/proc.h
projects/pseries/sys/signal.h
projects/pseries/sys/sysctl.h
projects/pseries/sys/vnode.h
projects/pseries/ufs/ffs/ffs_balloc.c
projects/pseries/ufs/ffs/ffs_extern.h
projects/pseries/ufs/ffs/ffs_inode.c
projects/pseries/ufs/ffs/ffs_rawread.c
projects/pseries/ufs/ffs/ffs_snapshot.c
projects/pseries/ufs/ffs/ffs_softdep.c
projects/pseries/ufs/ffs/ffs_vfsops.c
projects/pseries/ufs/ffs/ffs_vnops.c
projects/pseries/vm/vm_contig.c
projects/pseries/vm/vm_fault.c
projects/pseries/vm/vm_map.c
projects/pseries/vm/vm_mmap.c
projects/pseries/vm/vm_object.c
projects/pseries/vm/vm_object.h
projects/pseries/vm/vm_pageout.c
projects/pseries/vm/vm_pageout.h
projects/pseries/x86/acpica/madt.c
projects/pseries/x86/include/endian.h
projects/pseries/x86/isa/atpic.c
projects/pseries/x86/isa/icu.h
projects/pseries/x86/x86/busdma_machdep.c
projects/pseries/x86/x86/intr_machdep.c
Directory Properties:
projects/pseries/ (props changed)
projects/pseries/boot/ (props changed)
projects/pseries/cddl/contrib/opensolaris/ (props changed)
projects/pseries/conf/ (props changed)
projects/pseries/contrib/dev/acpica/ (props changed)
projects/pseries/contrib/dev/acpica/common/ (props changed)
projects/pseries/contrib/dev/acpica/compiler/ (props changed)
projects/pseries/contrib/dev/acpica/components/debugger/ (props changed)
projects/pseries/contrib/dev/acpica/components/hardware/ (props changed)
projects/pseries/contrib/dev/acpica/components/namespace/ (props changed)
projects/pseries/contrib/dev/acpica/components/tables/ (props changed)
projects/pseries/contrib/dev/acpica/include/ (props changed)
projects/pseries/contrib/octeon-sdk/ (props changed)
Modified: projects/pseries/Makefile
==============================================================================
--- projects/pseries/Makefile Tue Mar 27 14:24:29 2012 (r233547)
+++ projects/pseries/Makefile Tue Mar 27 14:24:46 2012 (r233548)
@@ -11,7 +11,7 @@ SUBDIR= boot
CSCOPEDIRS= boot bsm cam cddl compat conf contrib crypto ddb dev fs gdb \
geom gnu isa kern libkern modules net net80211 netatalk \
netgraph netinet netinet6 netipsec netipx netnatm netncp \
- netsmb nfs nfsclient nfsserver nlm opencrypto \
+ netsmb nfs nfsclient nfsserver nlm ofed opencrypto \
pci rpc security sys ufs vm xdr xen ${CSCOPE_ARCHDIR}
.if !defined(CSCOPE_ARCHDIR)
.if defined(ALL_ARCH)
Modified: projects/pseries/amd64/acpica/acpi_wakeup.c
==============================================================================
--- projects/pseries/amd64/acpica/acpi_wakeup.c Tue Mar 27 14:24:29 2012 (r233547)
+++ projects/pseries/amd64/acpica/acpi_wakeup.c Tue Mar 27 14:24:46 2012 (r233548)
@@ -223,6 +223,7 @@ acpi_sleep_machdep(struct acpi_softc *sc
#ifdef SMP
cpuset_t wakeup_cpus;
#endif
+ register_t rf;
ACPI_STATUS status;
int ret;
@@ -241,7 +242,7 @@ acpi_sleep_machdep(struct acpi_softc *sc
AcpiSetFirmwareWakingVector(WAKECODE_PADDR(sc));
- spinlock_enter();
+ rf = intr_disable();
intr_suspend();
if (savectx(susppcbs[0])) {
@@ -269,7 +270,7 @@ acpi_sleep_machdep(struct acpi_softc *sc
if (state == ACPI_STATE_S4 && sc->acpi_s4bios)
status = AcpiEnterSleepStateS4bios();
else
- status = AcpiEnterSleepState(state);
+ status = AcpiEnterSleepState(state, acpi_sleep_flags);
if (status != AE_OK) {
device_printf(sc->acpi_dev,
@@ -300,7 +301,7 @@ out:
mca_resume();
intr_resume();
- spinlock_exit();
+ intr_restore(rf);
AcpiSetFirmwareWakingVector(0);
Modified: projects/pseries/amd64/amd64/pmap.c
==============================================================================
--- projects/pseries/amd64/amd64/pmap.c Tue Mar 27 14:24:29 2012 (r233547)
+++ projects/pseries/amd64/amd64/pmap.c Tue Mar 27 14:24:46 2012 (r233548)
@@ -148,10 +148,6 @@ __FBSDID("$FreeBSD$");
#include <machine/smp.h>
#endif
-#ifndef PMAP_SHPGPERPROC
-#define PMAP_SHPGPERPROC 200
-#endif
-
#if !defined(DIAGNOSTIC)
#ifdef __GNUC_GNU_INLINE__
#define PMAP_INLINE __attribute__((__gnu_inline__)) inline
@@ -162,7 +158,6 @@ __FBSDID("$FreeBSD$");
#define PMAP_INLINE
#endif
-#define PV_STATS
#ifdef PV_STATS
#define PV_STAT(x) do { x ; } while (0)
#else
@@ -206,9 +201,8 @@ static u_int64_t DMPDPphys; /* phys addr
/*
* Data for the pv entry allocation mechanism
*/
-static int pv_entry_count = 0, pv_entry_max = 0, pv_entry_high_water = 0;
+static long pv_entry_count;
static struct md_page *pv_table;
-static int shpgperproc = PMAP_SHPGPERPROC;
/*
* All those kernel PT submaps that BSD is so fond of
@@ -222,7 +216,7 @@ caddr_t CADDR1 = 0;
static caddr_t crashdumpmap;
static void free_pv_entry(pmap_t pmap, pv_entry_t pv);
-static pv_entry_t get_pv_entry(pmap_t locked_pmap, int try);
+static pv_entry_t get_pv_entry(pmap_t locked_pmap, boolean_t try);
static void pmap_pv_demote_pde(pmap_t pmap, vm_offset_t va, vm_paddr_t pa);
static boolean_t pmap_pv_insert_pde(pmap_t pmap, vm_offset_t va, vm_paddr_t pa);
static void pmap_pv_promote_pde(pmap_t pmap, vm_offset_t va, vm_paddr_t pa);
@@ -731,16 +725,6 @@ pmap_init(void)
}
/*
- * Initialize the address space (zone) for the pv entries. Set a
- * high water mark so that the system can recover from excessive
- * numbers of pv entries.
- */
- TUNABLE_INT_FETCH("vm.pmap.shpgperproc", &shpgperproc);
- pv_entry_max = shpgperproc * maxproc + cnt.v_page_count;
- TUNABLE_INT_FETCH("vm.pmap.pv_entries", &pv_entry_max);
- pv_entry_high_water = 9 * (pv_entry_max / 10);
-
- /*
* If the kernel is running in a virtual machine on an AMD Family 10h
* processor, then it must assume that MCA is enabled by the virtual
* machine monitor.
@@ -775,36 +759,6 @@ pmap_init(void)
TAILQ_INIT(&pv_table[i].pv_list);
}
-static int
-pmap_pventry_proc(SYSCTL_HANDLER_ARGS)
-{
- int error;
-
- error = sysctl_handle_int(oidp, oidp->oid_arg1, oidp->oid_arg2, req);
- if (error == 0 && req->newptr) {
- shpgperproc = (pv_entry_max - cnt.v_page_count) / maxproc;
- pv_entry_high_water = 9 * (pv_entry_max / 10);
- }
- return (error);
-}
-SYSCTL_PROC(_vm_pmap, OID_AUTO, pv_entry_max, CTLTYPE_INT|CTLFLAG_RW,
- &pv_entry_max, 0, pmap_pventry_proc, "IU", "Max number of PV entries");
-
-static int
-pmap_shpgperproc_proc(SYSCTL_HANDLER_ARGS)
-{
- int error;
-
- error = sysctl_handle_int(oidp, oidp->oid_arg1, oidp->oid_arg2, req);
- if (error == 0 && req->newptr) {
- pv_entry_max = shpgperproc * maxproc + cnt.v_page_count;
- pv_entry_high_water = 9 * (pv_entry_max / 10);
- }
- return (error);
-}
-SYSCTL_PROC(_vm_pmap, OID_AUTO, shpgperproc, CTLTYPE_INT|CTLFLAG_RW,
- &shpgperproc, 0, pmap_shpgperproc_proc, "IU", "Page share factor per proc");
-
static SYSCTL_NODE(_vm_pmap, OID_AUTO, pde, CTLFLAG_RD, 0,
"2MB page mapping counters");
@@ -2050,7 +2004,7 @@ pv_to_chunk(pv_entry_t pv)
static uint64_t pc_freemask[_NPCM] = { PC_FREE0, PC_FREE1, PC_FREE2 };
-SYSCTL_INT(_vm_pmap, OID_AUTO, pv_entry_count, CTLFLAG_RD, &pv_entry_count, 0,
+SYSCTL_LONG(_vm_pmap, OID_AUTO, pv_entry_count, CTLFLAG_RD, &pv_entry_count, 0,
"Current number of pv entries");
#ifdef PV_STATS
@@ -2184,10 +2138,8 @@ free_pv_entry(pmap_t pmap, pv_entry_t pv
* when needed.
*/
static pv_entry_t
-get_pv_entry(pmap_t pmap, int try)
+get_pv_entry(pmap_t pmap, boolean_t try)
{
- static const struct timeval printinterval = { 60, 0 };
- static struct timeval lastprint;
struct vpgqueues *pq;
int bit, field;
pv_entry_t pv;
@@ -2197,12 +2149,6 @@ get_pv_entry(pmap_t pmap, int try)
PMAP_LOCK_ASSERT(pmap, MA_OWNED);
mtx_assert(&vm_page_queue_mtx, MA_OWNED);
PV_STAT(pv_entry_allocs++);
- pv_entry_count++;
- if (pv_entry_count > pv_entry_high_water)
- if (ratecheck(&lastprint, &printinterval))
- printf("Approaching the limit on PV entries, consider "
- "increasing either the vm.pmap.shpgperproc or the "
- "vm.pmap.pv_entry_max sysctl.\n");
pq = NULL;
retry:
pc = TAILQ_FIRST(&pmap->pm_pvchunk);
@@ -2220,8 +2166,10 @@ retry:
if (pc->pc_map[0] == 0 && pc->pc_map[1] == 0 &&
pc->pc_map[2] == 0) {
TAILQ_REMOVE(&pmap->pm_pvchunk, pc, pc_list);
- TAILQ_INSERT_TAIL(&pmap->pm_pvchunk, pc, pc_list);
+ TAILQ_INSERT_TAIL(&pmap->pm_pvchunk, pc,
+ pc_list);
}
+ pv_entry_count++;
PV_STAT(pv_entry_spare--);
return (pv);
}
@@ -2232,7 +2180,6 @@ retry:
VM_ALLOC_WIRED);
if (m == NULL) {
if (try) {
- pv_entry_count--;
PV_STAT(pc_chunk_tryfail++);
return (NULL);
}
@@ -2248,7 +2195,7 @@ retry:
PV_STAT(pmap_collect_active++);
pq = &vm_page_queues[PQ_ACTIVE];
} else
- panic("get_pv_entry: increase vm.pmap.shpgperproc");
+ panic("get_pv_entry: allocation failed");
pmap_collect(pmap, pq);
goto retry;
}
@@ -2262,6 +2209,7 @@ retry:
pc->pc_map[2] = PC_FREE2;
pv = &pc->pc_pventry[0];
TAILQ_INSERT_HEAD(&pmap->pm_pvchunk, pc, pc_list);
+ pv_entry_count++;
PV_STAT(pv_entry_spare += _NPCPV - 1);
return (pv);
}
@@ -2386,7 +2334,7 @@ pmap_remove_entry(pmap_t pmap, vm_page_t
mtx_assert(&vm_page_queue_mtx, MA_OWNED);
pmap_pvh_free(&m->md, pmap, va);
- if (TAILQ_EMPTY(&m->md.pv_list)) {
+ if (TAILQ_EMPTY(&m->md.pv_list) && (m->flags & PG_FICTITIOUS) == 0) {
pvh = pa_to_pvh(VM_PAGE_TO_PHYS(m));
if (TAILQ_EMPTY(&pvh->pv_list))
vm_page_aflag_clear(m, PGA_WRITEABLE);
@@ -2419,8 +2367,7 @@ pmap_try_insert_pv_entry(pmap_t pmap, vm
PMAP_LOCK_ASSERT(pmap, MA_OWNED);
mtx_assert(&vm_page_queue_mtx, MA_OWNED);
- if (pv_entry_count < pv_entry_high_water &&
- (pv = get_pv_entry(pmap, TRUE)) != NULL) {
+ if ((pv = get_pv_entry(pmap, TRUE)) != NULL) {
pv->pv_va = va;
TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_list);
return (TRUE);
@@ -2438,8 +2385,7 @@ pmap_pv_insert_pde(pmap_t pmap, vm_offse
pv_entry_t pv;
mtx_assert(&vm_page_queue_mtx, MA_OWNED);
- if (pv_entry_count < pv_entry_high_water &&
- (pv = get_pv_entry(pmap, TRUE)) != NULL) {
+ if ((pv = get_pv_entry(pmap, TRUE)) != NULL) {
pv->pv_va = va;
pvh = pa_to_pvh(pa);
TAILQ_INSERT_TAIL(&pvh->pv_list, pv, pv_list);
@@ -2849,6 +2795,8 @@ pmap_remove_all(vm_page_t m)
("pmap_remove_all: page %p is not managed", m));
free = NULL;
vm_page_lock_queues();
+ if ((m->flags & PG_FICTITIOUS) != 0)
+ goto small_mappings;
pvh = pa_to_pvh(VM_PAGE_TO_PHYS(m));
while ((pv = TAILQ_FIRST(&pvh->pv_list)) != NULL) {
pmap = PV_PMAP(pv);
@@ -2858,6 +2806,7 @@ pmap_remove_all(vm_page_t m)
(void)pmap_demote_pde(pmap, pde, va);
PMAP_UNLOCK(pmap);
}
+small_mappings:
while ((pv = TAILQ_FIRST(&m->md.pv_list)) != NULL) {
pmap = PV_PMAP(pv);
PMAP_LOCK(pmap);
@@ -2939,7 +2888,7 @@ pmap_protect(pmap_t pmap, vm_offset_t sv
pdp_entry_t *pdpe;
pd_entry_t ptpaddr, *pde;
pt_entry_t *pte;
- int anychanged;
+ boolean_t anychanged, pv_lists_locked;
if ((prot & VM_PROT_READ) == VM_PROT_NONE) {
pmap_remove(pmap, sva, eva);
@@ -2950,9 +2899,10 @@ pmap_protect(pmap_t pmap, vm_offset_t sv
(VM_PROT_WRITE|VM_PROT_EXECUTE))
return;
- anychanged = 0;
+ pv_lists_locked = FALSE;
+resume:
+ anychanged = FALSE;
- vm_page_lock_queues();
PMAP_LOCK(pmap);
for (; sva < eva; sva = va_next) {
@@ -2999,11 +2949,27 @@ pmap_protect(pmap_t pmap, vm_offset_t sv
* invalidated by pmap_protect_pde().
*/
if (pmap_protect_pde(pmap, pde, sva, prot))
- anychanged = 1;
- continue;
- } else if (!pmap_demote_pde(pmap, pde, sva)) {
- /* The large page mapping was destroyed. */
+ anychanged = TRUE;
continue;
+ } else {
+ if (!pv_lists_locked) {
+ pv_lists_locked = TRUE;
+ if (!mtx_trylock(&vm_page_queue_mtx)) {
+ if (anychanged)
+ pmap_invalidate_all(
+ pmap);
+ PMAP_UNLOCK(pmap);
+ vm_page_lock_queues();
+ goto resume;
+ }
+ }
+ if (!pmap_demote_pde(pmap, pde, sva)) {
+ /*
+ * The large page mapping was
+ * destroyed.
+ */
+ continue;
+ }
}
}
@@ -3037,13 +3003,14 @@ retry:
if (obits & PG_G)
pmap_invalidate_page(pmap, sva);
else
- anychanged = 1;
+ anychanged = TRUE;
}
}
}
if (anychanged)
pmap_invalidate_all(pmap);
- vm_page_unlock_queues();
+ if (pv_lists_locked)
+ vm_page_unlock_queues();
PMAP_UNLOCK(pmap);
}
@@ -3336,7 +3303,8 @@ validate:
}
if ((origpte & PG_MANAGED) != 0 &&
TAILQ_EMPTY(&om->md.pv_list) &&
- TAILQ_EMPTY(&pa_to_pvh(opa)->pv_list))
+ ((om->flags & PG_FICTITIOUS) != 0 ||
+ TAILQ_EMPTY(&pa_to_pvh(opa)->pv_list)))
vm_page_aflag_clear(om, PGA_WRITEABLE);
if (invlva)
pmap_invalidate_page(pmap, va);
@@ -3349,7 +3317,8 @@ validate:
* populated, then attempt promotion.
*/
if ((mpte == NULL || mpte->wire_count == NPTEPG) &&
- pg_ps_enabled && vm_reserv_level_iffullpop(m) == 0)
+ pg_ps_enabled && (m->flags & PG_FICTITIOUS) == 0 &&
+ vm_reserv_level_iffullpop(m) == 0)
pmap_promote_pde(pmap, pde, va);
vm_page_unlock_queues();
@@ -3969,7 +3938,7 @@ pmap_page_exists_quick(pmap_t pmap, vm_p
if (loops >= 16)
break;
}
- if (!rv && loops < 16) {
+ if (!rv && loops < 16 && (m->flags & PG_FICTITIOUS) == 0) {
pvh = pa_to_pvh(VM_PAGE_TO_PHYS(m));
TAILQ_FOREACH(pv, &pvh->pv_list, pv_list) {
if (PV_PMAP(pv) == pmap) {
@@ -4001,7 +3970,10 @@ pmap_page_wired_mappings(vm_page_t m)
return (count);
vm_page_lock_queues();
count = pmap_pvh_wired_mappings(&m->md, count);
- count = pmap_pvh_wired_mappings(pa_to_pvh(VM_PAGE_TO_PHYS(m)), count);
+ if ((m->flags & PG_FICTITIOUS) == 0) {
+ count = pmap_pvh_wired_mappings(pa_to_pvh(VM_PAGE_TO_PHYS(m)),
+ count);
+ }
vm_page_unlock_queues();
return (count);
}
@@ -4043,7 +4015,8 @@ pmap_page_is_mapped(vm_page_t m)
return (FALSE);
vm_page_lock_queues();
rv = !TAILQ_EMPTY(&m->md.pv_list) ||
- !TAILQ_EMPTY(&pa_to_pvh(VM_PAGE_TO_PHYS(m))->pv_list);
+ ((m->flags & PG_FICTITIOUS) == 0 &&
+ !TAILQ_EMPTY(&pa_to_pvh(VM_PAGE_TO_PHYS(m))->pv_list));
vm_page_unlock_queues();
return (rv);
}
@@ -4116,9 +4089,10 @@ pmap_remove_pages(pmap_t pmap)
m, (uintmax_t)m->phys_addr,
(uintmax_t)tpte));
- KASSERT(m < &vm_page_array[vm_page_array_size],
- ("pmap_remove_pages: bad tpte %#jx",
- (uintmax_t)tpte));
+ KASSERT((m->flags & PG_FICTITIOUS) != 0 ||
+ m < &vm_page_array[vm_page_array_size],
+ ("pmap_remove_pages: bad tpte %#jx",
+ (uintmax_t)tpte));
pte_clear(pte);
@@ -4160,7 +4134,8 @@ pmap_remove_pages(pmap_t pmap)
} else {
pmap_resident_count_dec(pmap, 1);
TAILQ_REMOVE(&m->md.pv_list, pv, pv_list);
- if (TAILQ_EMPTY(&m->md.pv_list)) {
+ if (TAILQ_EMPTY(&m->md.pv_list) &&
+ (m->flags & PG_FICTITIOUS) == 0) {
pvh = pa_to_pvh(VM_PAGE_TO_PHYS(m));
if (TAILQ_EMPTY(&pvh->pv_list))
vm_page_aflag_clear(m, PGA_WRITEABLE);
@@ -4211,7 +4186,8 @@ pmap_is_modified(vm_page_t m)
return (FALSE);
vm_page_lock_queues();
rv = pmap_is_modified_pvh(&m->md) ||
- pmap_is_modified_pvh(pa_to_pvh(VM_PAGE_TO_PHYS(m)));
+ ((m->flags & PG_FICTITIOUS) == 0 &&
+ pmap_is_modified_pvh(pa_to_pvh(VM_PAGE_TO_PHYS(m))));
vm_page_unlock_queues();
return (rv);
}
@@ -4282,7 +4258,8 @@ pmap_is_referenced(vm_page_t m)
("pmap_is_referenced: page %p is not managed", m));
vm_page_lock_queues();
rv = pmap_is_referenced_pvh(&m->md) ||
- pmap_is_referenced_pvh(pa_to_pvh(VM_PAGE_TO_PHYS(m)));
+ ((m->flags & PG_FICTITIOUS) == 0 &&
+ pmap_is_referenced_pvh(pa_to_pvh(VM_PAGE_TO_PHYS(m))));
vm_page_unlock_queues();
return (rv);
}
@@ -4339,6 +4316,8 @@ pmap_remove_write(vm_page_t m)
(m->aflags & PGA_WRITEABLE) == 0)
return;
vm_page_lock_queues();
+ if ((m->flags & PG_FICTITIOUS) != 0)
+ goto small_mappings;
pvh = pa_to_pvh(VM_PAGE_TO_PHYS(m));
TAILQ_FOREACH_SAFE(pv, &pvh->pv_list, pv_list, next_pv) {
pmap = PV_PMAP(pv);
@@ -4349,6 +4328,7 @@ pmap_remove_write(vm_page_t m)
(void)pmap_demote_pde(pmap, pde, va);
PMAP_UNLOCK(pmap);
}
+small_mappings:
TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) {
pmap = PV_PMAP(pv);
PMAP_LOCK(pmap);
@@ -4397,8 +4377,10 @@ pmap_ts_referenced(vm_page_t m)
KASSERT((m->oflags & VPO_UNMANAGED) == 0,
("pmap_ts_referenced: page %p is not managed", m));
- pvh = pa_to_pvh(VM_PAGE_TO_PHYS(m));
vm_page_lock_queues();
+ if ((m->flags & PG_FICTITIOUS) != 0)
+ goto small_mappings;
+ pvh = pa_to_pvh(VM_PAGE_TO_PHYS(m));
TAILQ_FOREACH_SAFE(pv, &pvh->pv_list, pv_list, pvn) {
pmap = PV_PMAP(pv);
PMAP_LOCK(pmap);
@@ -4429,6 +4411,7 @@ pmap_ts_referenced(vm_page_t m)
}
PMAP_UNLOCK(pmap);
}
+small_mappings:
if ((pv = TAILQ_FIRST(&m->md.pv_list)) != NULL) {
pvf = pv;
do {
@@ -4483,6 +4466,8 @@ pmap_clear_modify(vm_page_t m)
if ((m->aflags & PGA_WRITEABLE) == 0)
return;
vm_page_lock_queues();
+ if ((m->flags & PG_FICTITIOUS) != 0)
+ goto small_mappings;
pvh = pa_to_pvh(VM_PAGE_TO_PHYS(m));
TAILQ_FOREACH_SAFE(pv, &pvh->pv_list, pv_list, next_pv) {
pmap = PV_PMAP(pv);
@@ -4515,6 +4500,7 @@ pmap_clear_modify(vm_page_t m)
}
PMAP_UNLOCK(pmap);
}
+small_mappings:
TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) {
pmap = PV_PMAP(pv);
PMAP_LOCK(pmap);
@@ -4549,6 +4535,8 @@ pmap_clear_reference(vm_page_t m)
KASSERT((m->oflags & VPO_UNMANAGED) == 0,
("pmap_clear_reference: page %p is not managed", m));
vm_page_lock_queues();
+ if ((m->flags & PG_FICTITIOUS) != 0)
+ goto small_mappings;
pvh = pa_to_pvh(VM_PAGE_TO_PHYS(m));
TAILQ_FOREACH_SAFE(pv, &pvh->pv_list, pv_list, next_pv) {
pmap = PV_PMAP(pv);
@@ -4572,6 +4560,7 @@ pmap_clear_reference(vm_page_t m)
}
PMAP_UNLOCK(pmap);
}
+small_mappings:
TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) {
pmap = PV_PMAP(pv);
PMAP_LOCK(pmap);
Modified: projects/pseries/amd64/amd64/trap.c
==============================================================================
--- projects/pseries/amd64/amd64/trap.c Tue Mar 27 14:24:29 2012 (r233547)
+++ projects/pseries/amd64/amd64/trap.c Tue Mar 27 14:24:46 2012 (r233548)
@@ -301,26 +301,6 @@ trap(struct trapframe *frame)
}
code = frame->tf_err;
- if (type == T_PAGEFLT) {
- /*
- * If we get a page fault while in a critical section, then
- * it is most likely a fatal kernel page fault. The kernel
- * is already going to panic trying to get a sleep lock to
- * do the VM lookup, so just consider it a fatal trap so the
- * kernel can print out a useful trap message and even get
- * to the debugger.
- *
- * If we get a page fault while holding a non-sleepable
- * lock, then it is most likely a fatal kernel page fault.
- * If WITNESS is enabled, then it's going to whine about
- * bogus LORs with various VM locks, so just skip to the
- * fatal trap handling directly.
- */
- if (td->td_critnest != 0 ||
- WITNESS_CHECK(WARN_SLEEPOK | WARN_GIANTOK, NULL,
- "Kernel page fault") != 0)
- trap_fatal(frame, frame->tf_addr);
- }
if (ISPL(frame->tf_cs) == SEL_UPL) {
/* user trap */
@@ -645,7 +625,7 @@ trap_pfault(frame, usermode)
int usermode;
{
vm_offset_t va;
- struct vmspace *vm = NULL;
+ struct vmspace *vm;
vm_map_t map;
int rv = 0;
vm_prot_t ftype;
@@ -653,6 +633,50 @@ trap_pfault(frame, usermode)
struct proc *p = td->td_proc;
vm_offset_t eva = frame->tf_addr;
+ if (__predict_false((td->td_pflags & TDP_NOFAULTING) != 0)) {
+ /*
+ * Due to both processor errata and lazy TLB invalidation when
+ * access restrictions are removed from virtual pages, memory
+ * accesses that are allowed by the physical mapping layer may
+ * nonetheless cause one spurious page fault per virtual page.
+ * When the thread is executing a "no faulting" section that
+ * is bracketed by vm_fault_{disable,enable}_pagefaults(),
+ * every page fault is treated as a spurious page fault,
+ * unless it accesses the same virtual address as the most
+ * recent page fault within the same "no faulting" section.
+ */
+ if (td->td_md.md_spurflt_addr != eva ||
+ (td->td_pflags & TDP_RESETSPUR) != 0) {
+ /*
+ * Do nothing to the TLB. A stale TLB entry is
+ * flushed automatically by a page fault.
+ */
+ td->td_md.md_spurflt_addr = eva;
+ td->td_pflags &= ~TDP_RESETSPUR;
+ return (0);
+ }
+ } else {
+ /*
+ * If we get a page fault while in a critical section, then
+ * it is most likely a fatal kernel page fault. The kernel
+ * is already going to panic trying to get a sleep lock to
+ * do the VM lookup, so just consider it a fatal trap so the
+ * kernel can print out a useful trap message and even get
+ * to the debugger.
+ *
+ * If we get a page fault while holding a non-sleepable
+ * lock, then it is most likely a fatal kernel page fault.
+ * If WITNESS is enabled, then it's going to whine about
+ * bogus LORs with various VM locks, so just skip to the
+ * fatal trap handling directly.
+ */
+ if (td->td_critnest != 0 ||
+ WITNESS_CHECK(WARN_SLEEPOK | WARN_GIANTOK, NULL,
+ "Kernel page fault") != 0) {
+ trap_fatal(frame, eva);
+ return (-1);
+ }
+ }
va = trunc_page(eva);
if (va >= VM_MIN_KERNEL_ADDRESS) {
/*
@@ -664,14 +688,10 @@ trap_pfault(frame, usermode)
map = kernel_map;
} else {
/*
- * This is a fault on non-kernel virtual memory.
- * vm is initialized above to NULL. If curproc is NULL
- * or curproc->p_vmspace is NULL the fault is fatal.
+ * This is a fault on non-kernel virtual memory. If either
+ * p or p->p_vmspace is NULL, then the fault is fatal.
*/
- if (p != NULL)
- vm = p->p_vmspace;
-
- if (vm == NULL)
+ if (p == NULL || (vm = p->p_vmspace) == NULL)
goto nogo;
map = &vm->vm_map;
@@ -735,8 +755,7 @@ nogo:
trap_fatal(frame, eva);
return (-1);
}
-
- return((rv == KERN_PROTECTION_FAILURE) ? SIGBUS : SIGSEGV);
+ return ((rv == KERN_PROTECTION_FAILURE) ? SIGBUS : SIGSEGV);
}
static void
Modified: projects/pseries/amd64/conf/GENERIC
==============================================================================
--- projects/pseries/amd64/conf/GENERIC Tue Mar 27 14:24:29 2012 (r233547)
+++ projects/pseries/amd64/conf/GENERIC Tue Mar 27 14:24:46 2012 (r233548)
@@ -218,9 +218,12 @@ device ale # Atheros AR8121/AR8113/AR8
device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet
device bfe # Broadcom BCM440x 10/100 Ethernet
device bge # Broadcom BCM570xx Gigabit Ethernet
+device cas # Sun Cassini/Cassini+ and NS DP83065 Saturn
device dc # DEC/Intel 21143 and various workalikes
device et # Agere ET1310 10/100/Gigabit Ethernet
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
+device gem # Sun GEM/Sun ERI/Apple GMAC
+device hme # Sun HME (Happy Meal Ethernet)
device jme # JMicron JMC250 Gigabit/JMC260 Fast Ethernet
device lge # Level 1 LXT1001 gigabit Ethernet
device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet
@@ -285,7 +288,6 @@ device random # Entropy device
device ether # Ethernet support
device vlan # 802.1Q VLAN support
device tun # Packet tunnel.
-device pty # BSD-style compatibility pseudo ttys
device md # Memory "disks"
device gif # IPv6 and IPv4 tunneling
device faith # IPv6-to-IPv4 relaying (translation)
@@ -317,6 +319,9 @@ device dcons_crom # Configuration ROM f
# Sound support
device sound # Generic sound driver (required)
+device snd_cmi # CMedia CMI8338/CMI8738
+device snd_csa # Crystal Semiconductor CS461x/428x
+device snd_emu10kx # Creative SoundBlaster Live! and Audigy
device snd_es137x # Ensoniq AudioPCI ES137x
device snd_hda # Intel High Definition Audio
device snd_ich # Intel, NVidia and other ICH AC'97 Audio
Modified: projects/pseries/amd64/conf/NOTES
==============================================================================
--- projects/pseries/amd64/conf/NOTES Tue Mar 27 14:24:29 2012 (r233547)
+++ projects/pseries/amd64/conf/NOTES Tue Mar 27 14:24:46 2012 (r233548)
@@ -493,19 +493,6 @@ device cpuctl
options ENABLE_ALART # Control alarm on Intel intpm driver
#
-# Set the number of PV entries per process. Increasing this can
-# stop panics related to heavy use of shared memory. However, that can
-# (combined with large amounts of physical memory) cause panics at
-# boot time due the kernel running out of VM space.
-#
-# If you're tweaking this, you might also want to increase the sysctls
-# "vm.v_free_min", "vm.v_free_reserved", and "vm.v_free_target".
-#
-# The value below is the one more than the default.
-#
-options PMAP_SHPGPERPROC=201
-
-#
# Number of initial kernel page table pages used for early bootstrap.
# This number should include enough pages to map the kernel and any
# modules or other data loaded with the kernel by the loader. Each
@@ -572,6 +559,10 @@ options LINSYSFS
options KSTACK_PAGES=5
+# Enable detailed accounting by the PV entry allocator.
+
+options PV_STATS
+
#####################################################################
# More undocumented options for linting.
Modified: projects/pseries/amd64/ia32/ia32_reg.c
==============================================================================
--- projects/pseries/amd64/ia32/ia32_reg.c Tue Mar 27 14:24:29 2012 (r233547)
+++ projects/pseries/amd64/ia32/ia32_reg.c Tue Mar 27 14:24:46 2012 (r233548)
@@ -65,7 +65,6 @@ __FBSDID("$FreeBSD$");
#include <compat/freebsd32/freebsd32_util.h>
#include <compat/freebsd32/freebsd32_proto.h>
#include <machine/fpu.h>
-#include <compat/ia32/ia32_reg.h>
#include <machine/psl.h>
#include <machine/segments.h>
#include <machine/specialreg.h>
Modified: projects/pseries/amd64/include/fpu.h
==============================================================================
--- projects/pseries/amd64/include/fpu.h Tue Mar 27 14:24:29 2012 (r233547)
+++ projects/pseries/amd64/include/fpu.h Tue Mar 27 14:24:46 2012 (r233548)
@@ -41,64 +41,7 @@
#ifndef _MACHINE_FPU_H_
#define _MACHINE_FPU_H_
-/* Contents of each x87 floating point accumulator */
-struct fpacc87 {
- uint8_t fp_bytes[10];
-};
-
-/* Contents of each SSE extended accumulator */
-struct xmmacc {
- uint8_t xmm_bytes[16];
-};
-
-/* Contents of the upper 16 bytes of each AVX extended accumulator */
-struct ymmacc {
- uint8_t ymm_bytes[16];
-};
-
-struct envxmm {
- uint16_t en_cw; /* control word (16bits) */
- uint16_t en_sw; /* status word (16bits) */
- uint8_t en_tw; /* tag word (8bits) */
- uint8_t en_zero;
- uint16_t en_opcode; /* opcode last executed (11 bits ) */
- uint64_t en_rip; /* floating point instruction pointer */
- uint64_t en_rdp; /* floating operand pointer */
- uint32_t en_mxcsr; /* SSE sontorol/status register */
- uint32_t en_mxcsr_mask; /* valid bits in mxcsr */
-};
-
-struct savefpu {
- struct envxmm sv_env;
- struct {
- struct fpacc87 fp_acc;
- uint8_t fp_pad[6]; /* padding */
- } sv_fp[8];
- struct xmmacc sv_xmm[16];
- uint8_t sv_pad[96];
-} __aligned(16);
-
-struct xstate_hdr {
- uint64_t xstate_bv;
- uint8_t xstate_rsrv0[16];
- uint8_t xstate_rsrv[40];
-};
-
-struct savefpu_xstate {
- struct xstate_hdr sx_hd;
- struct ymmacc sx_ymm[16];
-};
-
-struct savefpu_ymm {
- struct envxmm sv_env;
- struct {
- struct fpacc87 fp_acc;
- int8_t fp_pad[6]; /* padding */
- } sv_fp[8];
- struct xmmacc sv_xmm[16];
- uint8_t sv_pad[96];
- struct savefpu_xstate sv_xstate;
-} __aligned(64);
+#include <x86/fpu.h>
#ifdef _KERNEL
@@ -108,32 +51,6 @@ struct fpu_kern_ctx;
#define XSAVE_AREA_ALIGN 64
-#endif
-
-/*
- * The hardware default control word for i387's and later coprocessors is
- * 0x37F, giving:
- *
- * round to nearest
- * 64-bit precision
- * all exceptions masked.
- *
- * FreeBSD/i386 uses 53 bit precision for things like fadd/fsub/fsqrt etc
- * because of the difference between memory and fpu register stack arguments.
- * If its using an intermediate fpu register, it has 80/64 bits to work
- * with. If it uses memory, it has 64/53 bits to work with. However,
- * gcc is aware of this and goes to a fair bit of trouble to make the
- * best use of it.
- *
- * This is mostly academic for AMD64, because the ABI prefers the use
- * SSE2 based math. For FreeBSD/amd64, we go with the default settings.
- */
-#define __INITIAL_FPUCW__ 0x037F
-#define __INITIAL_FPUCW_I386__ 0x127F
-#define __INITIAL_MXCSR__ 0x1F80
-#define __INITIAL_MXCSR_MASK__ 0xFFBF
-
-#ifdef _KERNEL
void fpudna(void);
void fpudrop(void);
void fpuexit(struct thread *td);
Copied: projects/pseries/amd64/include/npx.h (from r233546, head/sys/amd64/include/npx.h)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ projects/pseries/amd64/include/npx.h Tue Mar 27 14:24:46 2012 (r233548, copy of r233546, head/sys/amd64/include/npx.h)
@@ -0,0 +1,6 @@
+/*-
+ * This file is in the public domain.
+ */
+/* $FreeBSD$ */
+
+#include <x86/fpu.h>
Modified: projects/pseries/amd64/include/proc.h
==============================================================================
--- projects/pseries/amd64/include/proc.h Tue Mar 27 14:24:29 2012 (r233547)
+++ projects/pseries/amd64/include/proc.h Tue Mar 27 14:24:46 2012 (r233548)
@@ -46,6 +46,7 @@ struct proc_ldt {
struct mdthread {
int md_spinlock_count; /* (k) */
register_t md_saved_flags; /* (k) */
+ register_t md_spurflt_addr; /* (k) Spurious page fault address. */
};
struct mdproc {
Modified: projects/pseries/amd64/include/psl.h
==============================================================================
--- projects/pseries/amd64/include/psl.h Tue Mar 27 14:24:29 2012 (r233547)
+++ projects/pseries/amd64/include/psl.h Tue Mar 27 14:24:46 2012 (r233548)
@@ -1,84 +1,6 @@
/*-
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * William Jolitz.
- *
- * 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.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
- *
- * from: @(#)psl.h 5.2 (Berkeley) 1/18/91
- * $FreeBSD$
+ * This file is in the public domain.
*/
+/* $FreeBSD$ */
-#ifndef _MACHINE_PSL_H_
-#define _MACHINE_PSL_H_
-
-/*
- * 386 processor status longword.
- */
-#define PSL_C 0x00000001 /* carry bit */
-#define PSL_PF 0x00000004 /* parity bit */
-#define PSL_AF 0x00000010 /* bcd carry bit */
-#define PSL_Z 0x00000040 /* zero bit */
-#define PSL_N 0x00000080 /* negative bit */
-#define PSL_T 0x00000100 /* trace enable bit */
-#define PSL_I 0x00000200 /* interrupt enable bit */
-#define PSL_D 0x00000400 /* string instruction direction bit */
-#define PSL_V 0x00000800 /* overflow bit */
-#define PSL_IOPL 0x00003000 /* i/o privilege level */
-#define PSL_NT 0x00004000 /* nested task bit */
-#define PSL_RF 0x00010000 /* resume flag bit */
-/* #define PSL_VM 0x00020000 */ /* virtual 8086 mode bit */
-#define PSL_AC 0x00040000 /* alignment checking */
-/* #define PSL_VIF 0x00080000 */ /* virtual interrupt enable */
-/* #define PSL_VIP 0x00100000 */ /* virtual interrupt pending */
-#define PSL_ID 0x00200000 /* identification bit */
-
-/*
- * The i486 manual says that we are not supposed to change reserved flags,
- * but this is too much trouble since the reserved flags depend on the cpu
- * and setting them to their historical values works in practice.
- */
-#define PSL_RESERVED_DEFAULT 0x00000002
-
-/*
- * Initial flags for kernel and user mode. The kernel later inherits
- * PSL_I and some other flags from user mode.
- */
-#define PSL_KERNEL PSL_RESERVED_DEFAULT
-#define PSL_USER (PSL_RESERVED_DEFAULT | PSL_I)
-
-/*
- * Bits that can be changed in user mode on 486's. We allow these bits
- * to be changed using ptrace(), sigreturn() and procfs. Setting PS_NT
- * is undesirable but it may as well be allowed since users can inflict
- * it on the kernel directly. Changes to PSL_AC are silently ignored on
- * 386's.
- */
-#define PSL_USERCHANGE (PSL_C | PSL_PF | PSL_AF | PSL_Z | PSL_N | PSL_T \
- | PSL_D | PSL_V | PSL_NT | PSL_AC | PSL_ID)
-
-#endif /* !_MACHINE_PSL_H_ */
+#include <x86/psl.h>
Modified: projects/pseries/amd64/include/reg.h
==============================================================================
--- projects/pseries/amd64/include/reg.h Tue Mar 27 14:24:29 2012 (r233547)
+++ projects/pseries/amd64/include/reg.h Tue Mar 27 14:24:46 2012 (r233548)
@@ -1,141 +1,6 @@
/*-
- * Copyright (c) 2003 Peter Wemm.
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * William Jolitz.
- *
- * 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.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
- *
- * from: @(#)reg.h 5.5 (Berkeley) 1/18/91
- * $FreeBSD$
+ * This file is in the public domain.
*/
+/* $FreeBSD$ */
-#ifndef _MACHINE_REG_H_
-#define _MACHINE_REG_H_
-
-#if defined(_KERNEL) && !defined(_STANDALONE)
-#include "opt_compat.h"
-#endif
-
-/*
- * Register set accessible via /proc/$pid/regs and PT_{SET,GET}REGS.
- */
-struct reg {
- register_t r_r15;
- register_t r_r14;
- register_t r_r13;
- register_t r_r12;
- register_t r_r11;
- register_t r_r10;
- register_t r_r9;
- register_t r_r8;
- register_t r_rdi;
- register_t r_rsi;
- register_t r_rbp;
- register_t r_rbx;
- register_t r_rdx;
- register_t r_rcx;
- register_t r_rax;
- uint32_t r_trapno;
- uint16_t r_fs;
- uint16_t r_gs;
- uint32_t r_err;
- uint16_t r_es;
- uint16_t r_ds;
- register_t r_rip;
- register_t r_cs;
- register_t r_rflags;
- register_t r_rsp;
- register_t r_ss;
-};
-
-/*
- * Register set accessible via /proc/$pid/fpregs.
- */
-struct fpreg {
- /*
- * XXX should get struct from fpu.h. Here we give a slightly
- * simplified struct. This may be too much detail. Perhaps
- * an array of unsigned longs is best.
- */
- unsigned long fpr_env[4];
- unsigned char fpr_acc[8][16];
- unsigned char fpr_xacc[16][16];
- unsigned long fpr_spare[12];
-};
-
-/*
- * Register set accessible via /proc/$pid/dbregs.
- */
-struct dbreg {
- unsigned long dr[16]; /* debug registers */
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-projects
mailing list