From owner-svn-src-projects@FreeBSD.ORG Sun Mar 21 10:44:19 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 512EE1065672; Sun, 21 Mar 2010 10:44:19 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4070E8FC08; Sun, 21 Mar 2010 10:44:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2LAiJf1070910; Sun, 21 Mar 2010 10:44:19 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2LAiJnS070909; Sun, 21 Mar 2010 10:44:19 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <201003211044.o2LAiJnS070909@svn.freebsd.org> From: Roman Divacky Date: Sun, 21 Mar 2010 10:44:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r205406 - projects/clangbsd/usr.bin/clang X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 21 Mar 2010 10:44:19 -0000 Author: rdivacky Date: Sun Mar 21 10:44:18 2010 New Revision: 205406 URL: http://svn.freebsd.org/changeset/base/205406 Log: Add commented out -DNDEBUG, this disabled asserts. At this stage we want the asserts on but it slows down the compiler some 20% so add it here so it's not forgotten. Modified: projects/clangbsd/usr.bin/clang/clang.build.mk Modified: projects/clangbsd/usr.bin/clang/clang.build.mk ============================================================================== --- projects/clangbsd/usr.bin/clang/clang.build.mk Sun Mar 21 01:30:13 2010 (r205405) +++ projects/clangbsd/usr.bin/clang/clang.build.mk Sun Mar 21 10:44:18 2010 (r205406) @@ -7,7 +7,7 @@ CFLAGS+=-I${LLVM_SRCS}/include -I${CLANG -I${LLVM_SRCS}/${SRCDIR} ${INCDIR:C/^/-I${LLVM_SRCS}\//} -I. \ -I${.CURDIR}/../../include \ -DLLVM_ON_UNIX -DLLVM_ON_FREEBSD \ - -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS + -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS #-DNDEBUG .ifndef REQUIRES_RTTI CFLAGS+= -fno-rtti From owner-svn-src-projects@FreeBSD.ORG Sun Mar 21 17:05:42 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C0997106566B; Sun, 21 Mar 2010 17:05:42 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AB3CB8FC15; Sun, 21 Mar 2010 17:05:42 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2LH5gwu062798; Sun, 21 Mar 2010 17:05:42 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2LH5gWK062783; Sun, 21 Mar 2010 17:05:42 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <201003211705.o2LH5gWK062783@svn.freebsd.org> From: Roman Divacky Date: Sun, 21 Mar 2010 17:05:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r205420 - in projects/clangbsd: contrib/llvm contrib/llvm/autoconf contrib/llvm/docs contrib/llvm/include/llvm contrib/llvm/include/llvm/ADT contrib/llvm/include/llvm/Analysis contrib/l... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 21 Mar 2010 17:05:42 -0000 Author: rdivacky Date: Sun Mar 21 17:05:41 2010 New Revision: 205420 URL: http://svn.freebsd.org/changeset/base/205420 Log: Update clang/llvm from vendor and update the build infrastructure. Added: projects/clangbsd/contrib/llvm/include/llvm/MC/MCObjectWriter.h - copied unchanged from r205408, vendor/llvm/dist/include/llvm/MC/MCObjectWriter.h projects/clangbsd/contrib/llvm/include/llvm/MC/MachObjectWriter.h - copied unchanged from r205408, vendor/llvm/dist/include/llvm/MC/MachObjectWriter.h projects/clangbsd/contrib/llvm/lib/MC/MCObjectWriter.cpp - copied unchanged from r205408, vendor/llvm/dist/lib/MC/MCObjectWriter.cpp projects/clangbsd/contrib/llvm/lib/MC/MachObjectWriter.cpp - copied unchanged from r205408, vendor/llvm/dist/lib/MC/MachObjectWriter.cpp projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2010-03-18-ldm-rtrn.ll - copied unchanged from r205408, vendor/llvm/dist/test/CodeGen/ARM/2010-03-18-ldm-rtrn.ll projects/clangbsd/contrib/llvm/test/CodeGen/Generic/dbg_value.ll - copied unchanged from r205408, vendor/llvm/dist/test/CodeGen/Generic/dbg_value.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/2010-03-17-ISelBug.ll - copied unchanged from r205408, vendor/llvm/dist/test/CodeGen/X86/2010-03-17-ISelBug.ll projects/clangbsd/contrib/llvm/test/DebugInfo/2010-03-19-DbgDeclare.ll - copied unchanged from r205408, vendor/llvm/dist/test/DebugInfo/2010-03-19-DbgDeclare.ll projects/clangbsd/contrib/llvm/test/FrontendObjC/2010-03-17-StructRef.m - copied unchanged from r205408, vendor/llvm/dist/test/FrontendObjC/2010-03-17-StructRef.m projects/clangbsd/contrib/llvm/test/MC/AsmParser/X86/x86_64-encoding.s - copied unchanged from r205408, vendor/llvm/dist/test/MC/AsmParser/X86/x86_64-encoding.s projects/clangbsd/contrib/llvm/test/MC/AsmParser/X86/x86_64-incl_decl.s - copied unchanged from r205408, vendor/llvm/dist/test/MC/AsmParser/X86/x86_64-incl_decl.s projects/clangbsd/contrib/llvm/test/MC/MachO/darwin-x86_64-diff-relocs.s - copied unchanged from r205408, vendor/llvm/dist/test/MC/MachO/darwin-x86_64-diff-relocs.s projects/clangbsd/contrib/llvm/test/MC/MachO/darwin-x86_64-reloc-offsets.s - copied unchanged from r205408, vendor/llvm/dist/test/MC/MachO/darwin-x86_64-reloc-offsets.s projects/clangbsd/contrib/llvm/test/MC/MachO/darwin-x86_64-reloc.s - copied unchanged from r205408, vendor/llvm/dist/test/MC/MachO/darwin-x86_64-reloc.s projects/clangbsd/contrib/llvm/test/MC/MachO/x86_32-optimal_nop.s - copied unchanged from r205408, vendor/llvm/dist/test/MC/MachO/x86_32-optimal_nop.s projects/clangbsd/contrib/llvm/tools/clang/docs/Block-ABI-Apple.txt - copied unchanged from r205408, vendor/clang/dist/docs/Block-ABI-Apple.txt projects/clangbsd/contrib/llvm/tools/clang/include/clang/Lex/PreprocessingRecord.h - copied unchanged from r205408, vendor/clang/dist/include/clang/Lex/PreprocessingRecord.h projects/clangbsd/contrib/llvm/tools/clang/lib/Headers/nmmintrin.h - copied unchanged from r205408, vendor/clang/dist/lib/Headers/nmmintrin.h projects/clangbsd/contrib/llvm/tools/clang/lib/Headers/varargs.h - copied unchanged from r205408, vendor/clang/dist/lib/Headers/varargs.h projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/PreprocessingRecord.cpp - copied unchanged from r205408, vendor/clang/dist/lib/Lex/PreprocessingRecord.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp - copied unchanged from r205408, vendor/clang/dist/lib/Sema/AnalysisBasedWarnings.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.h - copied unchanged from r205408, vendor/clang/dist/lib/Sema/AnalysisBasedWarnings.h projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/uninit-vals-ps-region.m - copied unchanged from r205408, vendor/clang/dist/test/Analysis/uninit-vals-ps-region.m projects/clangbsd/contrib/llvm/tools/clang/test/CXX/class.access/class.access.nest/p1.cpp - copied unchanged from r205408, vendor/clang/dist/test/CXX/class.access/class.access.nest/p1.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/const-arithmetic.c - copied unchanged from r205408, vendor/clang/dist/test/CodeGen/const-arithmetic.c projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/cxx-apple-kext.cpp - copied unchanged from r205408, vendor/clang/dist/test/CodeGenCXX/cxx-apple-kext.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/global-dtor-no-atexit.cpp - copied unchanged from r205408, vendor/clang/dist/test/CodeGenCXX/global-dtor-no-atexit.cpp projects/clangbsd/contrib/llvm/tools/clang/test/Driver/cc-print-options.c - copied unchanged from r205408, vendor/clang/dist/test/Driver/cc-print-options.c projects/clangbsd/contrib/llvm/tools/clang/test/Index/annotate-tokens-pp.c - copied unchanged from r205408, vendor/clang/dist/test/Index/annotate-tokens-pp.c projects/clangbsd/contrib/llvm/tools/clang/test/Index/c-index-getCursor-pp.c - copied unchanged from r205408, vendor/clang/dist/test/Index/c-index-getCursor-pp.c projects/clangbsd/contrib/llvm/tools/clang/test/PCH/headermap.h - copied unchanged from r205408, vendor/clang/dist/test/PCH/headermap.h projects/clangbsd/contrib/llvm/tools/clang/test/PCH/headermap.m - copied unchanged from r205408, vendor/clang/dist/test/PCH/headermap.m projects/clangbsd/contrib/llvm/tools/clang/test/Sema/warn-shadow.c - copied unchanged from r205408, vendor/clang/dist/test/Sema/warn-shadow.c projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/warn-shadow.cpp - copied unchanged from r205408, vendor/clang/dist/test/SemaCXX/warn-shadow.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/warn-sign-compare.cpp - copied unchanged from r205408, vendor/clang/dist/test/SemaCXX/warn-sign-compare.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjC/block-type-safety.m - copied unchanged from r205408, vendor/clang/dist/test/SemaObjC/block-type-safety.m projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjC/warn-incompatible-builtin-types.m - copied unchanged from r205408, vendor/clang/dist/test/SemaObjC/warn-incompatible-builtin-types.m projects/clangbsd/contrib/llvm/tools/clang/www/cxx_compatibility.html - copied unchanged from r205408, vendor/clang/dist/www/cxx_compatibility.html Deleted: projects/clangbsd/contrib/llvm/test/MC/MachO/Darwin/dg.exp projects/clangbsd/contrib/llvm/test/MC/MachO/Darwin/optimal_nop.s projects/clangbsd/contrib/llvm/test/MC/MachO/Darwin/x86_32_diff_as.s projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/uninit-vals-ps-region.c projects/clangbsd/contrib/llvm/tools/clang/test/Sema/block-byref-args.c Modified: projects/clangbsd/contrib/llvm/CMakeLists.txt projects/clangbsd/contrib/llvm/Makefile.rules projects/clangbsd/contrib/llvm/autoconf/configure.ac projects/clangbsd/contrib/llvm/configure projects/clangbsd/contrib/llvm/docs/ReleaseNotes.html projects/clangbsd/contrib/llvm/docs/SourceLevelDebugging.html projects/clangbsd/contrib/llvm/include/llvm/ADT/BitVector.h projects/clangbsd/contrib/llvm/include/llvm/ADT/EquivalenceClasses.h projects/clangbsd/contrib/llvm/include/llvm/ADT/FoldingSet.h projects/clangbsd/contrib/llvm/include/llvm/ADT/SmallVector.h projects/clangbsd/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h projects/clangbsd/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h projects/clangbsd/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineJumpTableInfo.h projects/clangbsd/contrib/llvm/include/llvm/Instructions.h projects/clangbsd/contrib/llvm/include/llvm/IntrinsicsX86.td projects/clangbsd/contrib/llvm/include/llvm/MC/MCAssembler.h projects/clangbsd/contrib/llvm/include/llvm/MC/MCCodeEmitter.h projects/clangbsd/contrib/llvm/include/llvm/MC/MCContext.h projects/clangbsd/contrib/llvm/include/llvm/MC/MCStreamer.h projects/clangbsd/contrib/llvm/include/llvm/MC/MCSymbol.h projects/clangbsd/contrib/llvm/include/llvm/MC/MCValue.h projects/clangbsd/contrib/llvm/include/llvm/Support/Allocator.h projects/clangbsd/contrib/llvm/include/llvm/Support/RecyclingAllocator.h projects/clangbsd/contrib/llvm/include/llvm/Target/Target.td projects/clangbsd/contrib/llvm/include/llvm/Target/TargetAsmBackend.h projects/clangbsd/contrib/llvm/include/llvm/Target/TargetLowering.h projects/clangbsd/contrib/llvm/include/llvm/Target/TargetOptions.h projects/clangbsd/contrib/llvm/include/llvm/Target/TargetRegistry.h projects/clangbsd/contrib/llvm/include/llvm/Target/TargetSelectionDAG.td projects/clangbsd/contrib/llvm/lib/Analysis/ConstantFolding.cpp projects/clangbsd/contrib/llvm/lib/Analysis/LoopDependenceAnalysis.cpp projects/clangbsd/contrib/llvm/lib/Analysis/ScalarEvolution.cpp projects/clangbsd/contrib/llvm/lib/Analysis/ScalarEvolutionExpander.cpp projects/clangbsd/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp projects/clangbsd/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/BranchFolding.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/GCStrategy.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/MachineFunction.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/RegAllocLocal.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/SimpleRegisterCoalescing.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/TailDuplication.cpp projects/clangbsd/contrib/llvm/lib/MC/CMakeLists.txt projects/clangbsd/contrib/llvm/lib/MC/MCAsmStreamer.cpp projects/clangbsd/contrib/llvm/lib/MC/MCAssembler.cpp projects/clangbsd/contrib/llvm/lib/MC/MCCodeEmitter.cpp projects/clangbsd/contrib/llvm/lib/MC/MCContext.cpp projects/clangbsd/contrib/llvm/lib/MC/MCExpr.cpp projects/clangbsd/contrib/llvm/lib/MC/MCMachOStreamer.cpp projects/clangbsd/contrib/llvm/lib/MC/MCValue.cpp projects/clangbsd/contrib/llvm/lib/MC/TargetAsmBackend.cpp projects/clangbsd/contrib/llvm/lib/Support/FoldingSet.cpp projects/clangbsd/contrib/llvm/lib/System/Unix/Signals.inc projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMAddressingModes.h projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.h projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMCodeEmitter.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMISelLowering.h projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrFormats.td projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrNEON.td projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrThumb.td projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrVFP.td projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMTargetMachine.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMTargetMachine.h projects/clangbsd/contrib/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h projects/clangbsd/contrib/llvm/lib/Target/ARM/NEONPreAllocPass.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp projects/clangbsd/contrib/llvm/lib/Target/Alpha/AlphaInstrFormats.td projects/clangbsd/contrib/llvm/lib/Target/Alpha/AlphaInstrInfo.td projects/clangbsd/contrib/llvm/lib/Target/Blackfin/BlackfinInstrInfo.td projects/clangbsd/contrib/llvm/lib/Target/Blackfin/BlackfinIntrinsicInfo.cpp projects/clangbsd/contrib/llvm/lib/Target/CBackend/CBackend.cpp projects/clangbsd/contrib/llvm/lib/Target/CellSPU/SPUInstrInfo.td projects/clangbsd/contrib/llvm/lib/Target/CellSPU/SPUNodes.td projects/clangbsd/contrib/llvm/lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp projects/clangbsd/contrib/llvm/lib/Target/Mips/MipsInstrInfo.td projects/clangbsd/contrib/llvm/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.cpp projects/clangbsd/contrib/llvm/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.h projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16Section.h projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp projects/clangbsd/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.td projects/clangbsd/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.td projects/clangbsd/contrib/llvm/lib/Target/TargetData.cpp projects/clangbsd/contrib/llvm/lib/Target/TargetLoweringObjectFile.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/AsmPrinter/X86MCInstLower.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c projects/clangbsd/contrib/llvm/lib/Target/X86/X86.td projects/clangbsd/contrib/llvm/lib/Target/X86/X86AsmBackend.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/X86FastISel.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/X86FixupKinds.h projects/clangbsd/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/X86Instr64bit.td projects/clangbsd/contrib/llvm/lib/Target/X86/X86InstrFPStack.td projects/clangbsd/contrib/llvm/lib/Target/X86/X86InstrInfo.td projects/clangbsd/contrib/llvm/lib/Target/X86/X86InstrSSE.td projects/clangbsd/contrib/llvm/lib/Target/X86/X86MCCodeEmitter.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/X86Subtarget.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/X86Subtarget.h projects/clangbsd/contrib/llvm/lib/Target/X86/X86TargetMachine.cpp projects/clangbsd/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.td projects/clangbsd/contrib/llvm/lib/Transforms/IPO/GlobalOpt.cpp projects/clangbsd/contrib/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/SimplifyLibCalls.cpp projects/clangbsd/contrib/llvm/lib/VMCore/AsmWriter.cpp projects/clangbsd/contrib/llvm/lib/VMCore/Verifier.cpp projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2009-10-27-double-align.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2009-10-30.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/arm-negative-stride.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/globals.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/ifcvt5.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/ifcvt6.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/ifcvt7.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/ifcvt8.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/ldm.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/ldrd.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/str_pre-2.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/tls2.ll projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/2009-10-15-ITBlockBranch.ll projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/large-stack.ll projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/ldr-str-imm12.ll projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-ldr.ll projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-ldrh.ll projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-str.ll projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-str_pre.ll projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-strb.ll projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-strh.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/2007-01-08-InstrSched.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/gather-addresses.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/lsr-reuse.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/sibcall.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/sse2.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/sse3.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/sse42.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/widen_load-2.ll projects/clangbsd/contrib/llvm/test/LLVMC/AppendCmdHook.td projects/clangbsd/contrib/llvm/test/LLVMC/C++/dash-x.cpp projects/clangbsd/contrib/llvm/test/LLVMC/C++/hello.cpp projects/clangbsd/contrib/llvm/test/LLVMC/C++/together.cpp projects/clangbsd/contrib/llvm/test/LLVMC/C/emit-llvm.c projects/clangbsd/contrib/llvm/test/LLVMC/C/hello.c projects/clangbsd/contrib/llvm/test/LLVMC/C/include.c projects/clangbsd/contrib/llvm/test/LLVMC/C/opt-test.c projects/clangbsd/contrib/llvm/test/LLVMC/C/sink.c projects/clangbsd/contrib/llvm/test/LLVMC/C/wall.c projects/clangbsd/contrib/llvm/test/LLVMC/EmptyCompilationGraph.td projects/clangbsd/contrib/llvm/test/LLVMC/EnvParentheses.td projects/clangbsd/contrib/llvm/test/LLVMC/ExternOptions.td projects/clangbsd/contrib/llvm/test/LLVMC/ForwardAs.td projects/clangbsd/contrib/llvm/test/LLVMC/ForwardTransformedValue.td projects/clangbsd/contrib/llvm/test/LLVMC/ForwardValue.td projects/clangbsd/contrib/llvm/test/LLVMC/HookWithArguments.td projects/clangbsd/contrib/llvm/test/LLVMC/HookWithInFile.td projects/clangbsd/contrib/llvm/test/LLVMC/Init.td projects/clangbsd/contrib/llvm/test/LLVMC/MultiValuedOption.td projects/clangbsd/contrib/llvm/test/LLVMC/MultipleCompilationGraphs.td projects/clangbsd/contrib/llvm/test/LLVMC/NoActions.td projects/clangbsd/contrib/llvm/test/LLVMC/NoCompilationGraph.td projects/clangbsd/contrib/llvm/test/LLVMC/OneOrMore.td projects/clangbsd/contrib/llvm/test/LLVMC/OptionPreprocessor.td projects/clangbsd/contrib/llvm/test/LLVMC/TestWarnings.td projects/clangbsd/contrib/llvm/test/MC/AsmParser/X86/x86_32-bit_cat.s projects/clangbsd/contrib/llvm/test/MC/AsmParser/X86/x86_32-encoding.s projects/clangbsd/contrib/llvm/test/MC/AsmParser/X86/x86_64-new-encoder.s projects/clangbsd/contrib/llvm/test/MC/MachO/reloc.s projects/clangbsd/contrib/llvm/test/TableGen/2003-08-03-PassCode.td projects/clangbsd/contrib/llvm/test/TableGen/2006-09-18-LargeInt.td projects/clangbsd/contrib/llvm/test/TableGen/AnonDefinitionOnDemand.td projects/clangbsd/contrib/llvm/test/TableGen/DagDefSubst.td projects/clangbsd/contrib/llvm/test/TableGen/DagIntSubst.td projects/clangbsd/contrib/llvm/test/TableGen/DefmInherit.td projects/clangbsd/contrib/llvm/test/TableGen/ForwardRef.td projects/clangbsd/contrib/llvm/test/TableGen/GeneralList.td projects/clangbsd/contrib/llvm/test/TableGen/IntBitInit.td projects/clangbsd/contrib/llvm/test/TableGen/LazyChange.td projects/clangbsd/contrib/llvm/test/TableGen/ListArgs.td projects/clangbsd/contrib/llvm/test/TableGen/ListArgsSimple.td projects/clangbsd/contrib/llvm/test/TableGen/ListConversion.td projects/clangbsd/contrib/llvm/test/TableGen/ListSlices.td projects/clangbsd/contrib/llvm/test/TableGen/MultiClass.td projects/clangbsd/contrib/llvm/test/TableGen/MultiClassDefName.td projects/clangbsd/contrib/llvm/test/TableGen/MultiClassInherit.td projects/clangbsd/contrib/llvm/test/TableGen/Slice.td projects/clangbsd/contrib/llvm/test/TableGen/String.td projects/clangbsd/contrib/llvm/test/TableGen/SuperSubclassSameName.td projects/clangbsd/contrib/llvm/test/TableGen/TargetInstrInfo.td projects/clangbsd/contrib/llvm/test/TableGen/TargetInstrSpec.td projects/clangbsd/contrib/llvm/test/TableGen/TemplateArgRename.td projects/clangbsd/contrib/llvm/test/TableGen/Tree.td projects/clangbsd/contrib/llvm/test/TableGen/TreeNames.td projects/clangbsd/contrib/llvm/test/TableGen/UnsetBitInit.td projects/clangbsd/contrib/llvm/test/TableGen/cast.td projects/clangbsd/contrib/llvm/test/TableGen/eq.td projects/clangbsd/contrib/llvm/test/TableGen/foreach.td projects/clangbsd/contrib/llvm/test/TableGen/if.td projects/clangbsd/contrib/llvm/test/TableGen/lisp.td projects/clangbsd/contrib/llvm/test/TableGen/nameconcat.td projects/clangbsd/contrib/llvm/test/TableGen/strconcat.td projects/clangbsd/contrib/llvm/test/TableGen/subst.td projects/clangbsd/contrib/llvm/test/TableGen/subst2.td projects/clangbsd/contrib/llvm/test/lit.cfg projects/clangbsd/contrib/llvm/tools/bugpoint/BugDriver.cpp projects/clangbsd/contrib/llvm/tools/bugpoint/BugDriver.h projects/clangbsd/contrib/llvm/tools/bugpoint/OptimizerDriver.cpp projects/clangbsd/contrib/llvm/tools/bugpoint/bugpoint.cpp projects/clangbsd/contrib/llvm/tools/clang/Makefile projects/clangbsd/contrib/llvm/tools/clang/VER projects/clangbsd/contrib/llvm/tools/clang/docs/LanguageExtensions.html projects/clangbsd/contrib/llvm/tools/clang/docs/UsersManual.html projects/clangbsd/contrib/llvm/tools/clang/include/clang-c/Index.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Expr.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/ExternalASTSource.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Stmt.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/UnresolvedSet.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/SourceLocation.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/Version.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Checker/BugReporter/BugReporter.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/GRState.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/Store.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/CodeGen/CodeGenOptions.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td projects/clangbsd/contrib/llvm/tools/clang/include/clang/Driver/Driver.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Driver/Options.td projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInstance.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/FrontendActions.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/FrontendOptions.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/PCHBitCodes.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/PCHReader.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/PCHWriter.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/PreprocessorOptions.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/Utils.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/VerifyDiagnosticsClient.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearch.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Parse/Action.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Parse/Parser.h projects/clangbsd/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/AST/Decl.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/AST/DeclObjC.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/AST/Expr.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Basic/SourceLocation.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/BasicStore.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/BugReporter.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/BugReporterVisitors.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/CallAndMessageChecker.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/CheckDeadStores.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/FlatStore.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/GRExprEngine.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/GRState.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/RegionStore.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGCXX.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGDeclCXX.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGObjCGNU.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGVtable.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/Mangle.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/Mangle.h projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/Arg.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/Compilation.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/Driver.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/OptTable.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/ToolChains.h projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/Tools.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/CacheTokens.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/FrontendActions.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PCHReader.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PCHWriter.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PrintPreprocessedOutput.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/RewriteMacros.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/Warnings.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Headers/emmintrin.h projects/clangbsd/contrib/llvm/tools/clang/lib/Headers/smmintrin.h projects/clangbsd/contrib/llvm/tools/clang/lib/Headers/xmmintrin.h projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/CMakeLists.txt projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/MacroArgs.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/PPLexerChange.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/TokenLexer.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/AttributeList.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/Parser.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/CMakeLists.txt projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/CXXFieldCollector.h projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/ParseAST.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/Sema.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/Sema.h projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaAccess.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaInit.h projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaObjCProperty.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaOverload.h projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/dead-stores.c projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/misc-ps-region-store.m projects/clangbsd/contrib/llvm/tools/clang/test/CXX/class.access/class.friend/p1.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CXX/class.access/p4.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CXX/class/class.union/p1.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/atomic.c projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/attr.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/deferred-global-init.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/global-init.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/mangle.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/vtable-layout.cpp projects/clangbsd/contrib/llvm/tools/clang/test/Driver/darwin-ld.c projects/clangbsd/contrib/llvm/tools/clang/test/Index/c-index-getCursor-test.m projects/clangbsd/contrib/llvm/tools/clang/test/PCH/changed-files.c projects/clangbsd/contrib/llvm/tools/clang/test/Sema/block-misc.c projects/clangbsd/contrib/llvm/tools/clang/test/Sema/invalid-init-diag.c projects/clangbsd/contrib/llvm/tools/clang/test/Sema/x86-intrinsics-headers.c projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/access-base-class.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/class.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/condition.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/conditional-expr.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjC/class-method-self.m projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjC/comptypes-1.m projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjC/id.m projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjC/invalid-code.m projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjC/ivar-in-class-extension.m projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjC/property-not-lvalue.m projects/clangbsd/contrib/llvm/tools/clang/test/lit.cfg projects/clangbsd/contrib/llvm/tools/clang/tools/CIndex/CIndex.cpp projects/clangbsd/contrib/llvm/tools/clang/tools/CIndex/CIndex.exports projects/clangbsd/contrib/llvm/tools/clang/tools/CIndex/CIndexUSRs.cpp projects/clangbsd/contrib/llvm/tools/clang/tools/CIndex/CXCursor.cpp projects/clangbsd/contrib/llvm/tools/clang/tools/CIndex/CXCursor.h projects/clangbsd/contrib/llvm/tools/clang/tools/driver/cc1_main.cpp projects/clangbsd/contrib/llvm/tools/clang/tools/driver/driver.cpp projects/clangbsd/contrib/llvm/tools/edis/Makefile projects/clangbsd/contrib/llvm/tools/llvm-mc/Disassembler.cpp projects/clangbsd/contrib/llvm/tools/llvm-mc/llvm-mc.cpp projects/clangbsd/contrib/llvm/unittests/ADT/APFloatTest.cpp projects/clangbsd/contrib/llvm/unittests/ADT/APIntTest.cpp projects/clangbsd/contrib/llvm/unittests/ADT/SmallVectorTest.cpp projects/clangbsd/contrib/llvm/unittests/Support/LeakDetectorTest.cpp projects/clangbsd/contrib/llvm/unittests/VMCore/InstructionsTest.cpp projects/clangbsd/contrib/llvm/utils/FileCheck/FileCheck.cpp projects/clangbsd/contrib/llvm/utils/NewNightlyTest.pl projects/clangbsd/contrib/llvm/utils/TableGen/AsmMatcherEmitter.cpp projects/clangbsd/contrib/llvm/utils/TableGen/AsmWriterEmitter.cpp projects/clangbsd/contrib/llvm/utils/TableGen/ClangDiagnosticsEmitter.cpp projects/clangbsd/contrib/llvm/utils/TableGen/CodeEmitterGen.cpp projects/clangbsd/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.cpp projects/clangbsd/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.h projects/clangbsd/contrib/llvm/utils/TableGen/CodeGenInstruction.cpp projects/clangbsd/contrib/llvm/utils/TableGen/CodeGenInstruction.h projects/clangbsd/contrib/llvm/utils/TableGen/CodeGenTarget.cpp projects/clangbsd/contrib/llvm/utils/TableGen/CodeGenTarget.h projects/clangbsd/contrib/llvm/utils/TableGen/DAGISelEmitter.cpp projects/clangbsd/contrib/llvm/utils/TableGen/DAGISelMatcher.cpp projects/clangbsd/contrib/llvm/utils/TableGen/DAGISelMatcherGen.cpp projects/clangbsd/contrib/llvm/utils/TableGen/DisassemblerEmitter.cpp projects/clangbsd/contrib/llvm/utils/TableGen/EDEmitter.cpp projects/clangbsd/contrib/llvm/utils/TableGen/FastISelEmitter.cpp projects/clangbsd/contrib/llvm/utils/TableGen/InstrEnumEmitter.cpp projects/clangbsd/contrib/llvm/utils/TableGen/InstrInfoEmitter.cpp projects/clangbsd/contrib/llvm/utils/TableGen/Record.cpp projects/clangbsd/contrib/llvm/utils/buildit/build_llvm projects/clangbsd/contrib/llvm/utils/lit/lit/ExampleTests/Clang/lit.cfg projects/clangbsd/contrib/llvm/utils/lit/lit/LitConfig.py projects/clangbsd/contrib/llvm/utils/lit/lit/LitFormats.py projects/clangbsd/contrib/llvm/utils/lit/lit/TestFormats.py projects/clangbsd/contrib/llvm/utils/lit/lit/TestRunner.py projects/clangbsd/contrib/llvm/utils/lit/lit/lit.py projects/clangbsd/usr.bin/clang/lib/libclanglex/Makefile projects/clangbsd/usr.bin/clang/lib/libclangsema/Makefile projects/clangbsd/usr.bin/clang/lib/libllvmmc/Makefile Directory Properties: projects/clangbsd/contrib/llvm/ (props changed) projects/clangbsd/contrib/llvm/tools/clang/ (props changed) Modified: projects/clangbsd/contrib/llvm/CMakeLists.txt ============================================================================== --- projects/clangbsd/contrib/llvm/CMakeLists.txt Sun Mar 21 16:38:45 2010 (r205419) +++ projects/clangbsd/contrib/llvm/CMakeLists.txt Sun Mar 21 17:05:41 2010 (r205420) @@ -217,7 +217,9 @@ if( MSVC ) # List of valid CRTs for MSVC set(MSVC_CRT MD - MDd) + MDd + MT + MTd) set(LLVM_USE_CRT "" CACHE STRING "Specify VC++ CRT to use for debug/release configurations.") add_llvm_definitions( -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS ) Modified: projects/clangbsd/contrib/llvm/Makefile.rules ============================================================================== --- projects/clangbsd/contrib/llvm/Makefile.rules Sun Mar 21 16:38:45 2010 (r205419) +++ projects/clangbsd/contrib/llvm/Makefile.rules Sun Mar 21 17:05:41 2010 (r205420) @@ -578,8 +578,6 @@ endif ifeq ($(TARGET_OS),Darwin) ifneq ($(ARCH),ARM) TargetCommonOpts += -mmacosx-version-min=$(DARWIN_VERSION) - else - TargetCommonOpts += -marm endif endif Modified: projects/clangbsd/contrib/llvm/autoconf/configure.ac ============================================================================== --- projects/clangbsd/contrib/llvm/autoconf/configure.ac Sun Mar 21 16:38:45 2010 (r205419) +++ projects/clangbsd/contrib/llvm/autoconf/configure.ac Sun Mar 21 17:05:41 2010 (r205420) @@ -31,12 +31,12 @@ dnl=== dnl===-----------------------------------------------------------------------=== dnl Initialize autoconf and define the package name, version number and dnl email address for reporting bugs. -AC_INIT([[llvm]],[[2.7svn]],[llvmbugs@cs.uiuc.edu]) +AC_INIT([[llvm]],[[2.8svn]],[llvmbugs@cs.uiuc.edu]) dnl Provide a copyright substitution and ensure the copyright notice is included dnl in the output of --version option of the generated configure script. -AC_SUBST(LLVM_COPYRIGHT,["Copyright (c) 2003-2009 University of Illinois at Urbana-Champaign."]) -AC_COPYRIGHT([Copyright (c) 2003-2009 University of Illinois at Urbana-Champaign.]) +AC_SUBST(LLVM_COPYRIGHT,["Copyright (c) 2003-2010 University of Illinois at Urbana-Champaign."]) +AC_COPYRIGHT([Copyright (c) 2003-2010 University of Illinois at Urbana-Champaign.]) dnl Indicate that we require autoconf 2.59 or later. Ths is needed because we dnl use some autoconf macros only available in 2.59. @@ -62,6 +62,41 @@ dnl Configure all of the projects presen dnl just AC_CONFIG_SUBDIRS on the set of directories in projects that have a dnl configure script, that usage of the AC_CONFIG_SUBDIRS macro is deprecated. dnl Instead we match on the known projects. + +dnl +dnl One tricky part of doing this is that some projects depend upon other +dnl projects. For example, several projects rely upon the LLVM test suite. +dnl We want to configure those projects first so that their object trees are +dnl created before running the configure scripts of projects that depend upon +dnl them. +dnl + +dnl Several projects use llvm-gcc, so configure that first +if test -d ${srcdir}/projects/llvm-gcc ; then + AC_CONFIG_SUBDIRS([projects/llvm-gcc]) +fi + +dnl Several projects use the LLVM test suite, so configure it next. +if test -d ${srcdir}/projects/test-suite ; then + AC_CONFIG_SUBDIRS([projects/test-suite]) +fi + +dnl llvm-test is the old name of the test-suite, kept here for backwards +dnl compatibility +if test -d ${srcdir}/projects/llvm-test ; then + AC_CONFIG_SUBDIRS([projects/llvm-test]) +fi + +dnl Some projects use poolalloc; configure that next +if test -d ${srcdir}/projects/poolalloc ; then + AC_CONFIG_SUBDIRS([projects/poolalloc]) +fi + +if test -d ${srcdir}/projects/llvm-poolalloc ; then + AC_CONFIG_SUBDIRS([projects/llvm-poolalloc]) +fi + +dnl Check for all other projects for i in `ls ${srcdir}/projects` do if test -d ${srcdir}/projects/${i} ; then @@ -70,16 +105,9 @@ do sample) AC_CONFIG_SUBDIRS([projects/sample]) ;; privbracket) AC_CONFIG_SUBDIRS([projects/privbracket]) ;; llvm-stacker) AC_CONFIG_SUBDIRS([projects/llvm-stacker]) ;; - # llvm-test is the old name of the test-suite, kept here for backwards - # compatibility - llvm-test) AC_CONFIG_SUBDIRS([projects/llvm-test]) ;; - test-suite) AC_CONFIG_SUBDIRS([projects/test-suite]) ;; llvm-reopt) AC_CONFIG_SUBDIRS([projects/llvm-reopt]);; - llvm-gcc) AC_CONFIG_SUBDIRS([projects/llvm-gcc]) ;; llvm-java) AC_CONFIG_SUBDIRS([projects/llvm-java]) ;; llvm-tv) AC_CONFIG_SUBDIRS([projects/llvm-tv]) ;; - llvm-poolalloc) AC_CONFIG_SUBDIRS([projects/llvm-poolalloc]) ;; - poolalloc) AC_CONFIG_SUBDIRS([projects/poolalloc]) ;; safecode) AC_CONFIG_SUBDIRS([projects/safecode]) ;; llvm-kernel) AC_CONFIG_SUBDIRS([projects/llvm-kernel]) ;; *) Modified: projects/clangbsd/contrib/llvm/configure ============================================================================== --- projects/clangbsd/contrib/llvm/configure Sun Mar 21 16:38:45 2010 (r205419) +++ projects/clangbsd/contrib/llvm/configure Sun Mar 21 17:05:41 2010 (r205420) @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.60 for llvm 2.7svn. +# Generated by GNU Autoconf 2.60 for llvm 2.8svn. # # Report bugs to . # @@ -9,7 +9,7 @@ # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. # -# Copyright (c) 2003-2009 University of Illinois at Urbana-Champaign. +# Copyright (c) 2003-2010 University of Illinois at Urbana-Champaign. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## @@ -561,8 +561,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='llvm' PACKAGE_TARNAME='-llvm-' -PACKAGE_VERSION='2.7svn' -PACKAGE_STRING='llvm 2.7svn' +PACKAGE_VERSION='2.8svn' +PACKAGE_STRING='llvm 2.8svn' PACKAGE_BUGREPORT='llvmbugs@cs.uiuc.edu' ac_unique_file="lib/VMCore/Module.cpp" @@ -802,17 +802,17 @@ CPP CXX CXXFLAGS CCC' -ac_subdirs_all='projects/sample +ac_subdirs_all='projects/llvm-gcc +projects/test-suite +projects/llvm-test +projects/poolalloc +projects/llvm-poolalloc +projects/sample projects/privbracket projects/llvm-stacker -projects/llvm-test -projects/test-suite projects/llvm-reopt -projects/llvm-gcc projects/llvm-java projects/llvm-tv -projects/llvm-poolalloc -projects/poolalloc projects/safecode projects/llvm-kernel' @@ -1316,7 +1316,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures llvm 2.7svn to adapt to many kinds of systems. +\`configure' configures llvm 2.8svn to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1382,7 +1382,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of llvm 2.7svn:";; + short | recursive ) echo "Configuration of llvm 2.8svn:";; esac cat <<\_ACEOF @@ -1533,7 +1533,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -llvm configure 2.7svn +llvm configure 2.8svn generated by GNU Autoconf 2.60 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1541,7 +1541,7 @@ Copyright (C) 1992, 1993, 1994, 1995, 19 This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. -Copyright (c) 2003-2009 University of Illinois at Urbana-Champaign. +Copyright (c) 2003-2010 University of Illinois at Urbana-Champaign. _ACEOF exit fi @@ -1549,7 +1549,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by llvm $as_me 2.7svn, which was +It was created by llvm $as_me 2.8svn, which was generated by GNU Autoconf 2.60. Invocation command line was $ $0 $@ @@ -1903,7 +1903,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -LLVM_COPYRIGHT="Copyright (c) 2003-2009 University of Illinois at Urbana-Champaign." +LLVM_COPYRIGHT="Copyright (c) 2003-2010 University of Illinois at Urbana-Champaign." @@ -1951,6 +1951,33 @@ echo "$as_me: error: Already configured fi fi + + +if test -d ${srcdir}/projects/llvm-gcc ; then + subdirs="$subdirs projects/llvm-gcc" + +fi + +if test -d ${srcdir}/projects/test-suite ; then + subdirs="$subdirs projects/test-suite" + +fi + +if test -d ${srcdir}/projects/llvm-test ; then + subdirs="$subdirs projects/llvm-test" + +fi + +if test -d ${srcdir}/projects/poolalloc ; then + subdirs="$subdirs projects/poolalloc" + +fi + +if test -d ${srcdir}/projects/llvm-poolalloc ; then + subdirs="$subdirs projects/llvm-poolalloc" + +fi + for i in `ls ${srcdir}/projects` do if test -d ${srcdir}/projects/${i} ; then @@ -1962,24 +1989,12 @@ do ;; llvm-stacker) subdirs="$subdirs projects/llvm-stacker" ;; - # llvm-test is the old name of the test-suite, kept here for backwards - # compatibility - llvm-test) subdirs="$subdirs projects/llvm-test" - ;; - test-suite) subdirs="$subdirs projects/test-suite" - ;; llvm-reopt) subdirs="$subdirs projects/llvm-reopt" ;; - llvm-gcc) subdirs="$subdirs projects/llvm-gcc" - ;; llvm-java) subdirs="$subdirs projects/llvm-java" ;; llvm-tv) subdirs="$subdirs projects/llvm-tv" ;; - llvm-poolalloc) subdirs="$subdirs projects/llvm-poolalloc" - ;; - poolalloc) subdirs="$subdirs projects/poolalloc" - ;; safecode) subdirs="$subdirs projects/safecode" ;; llvm-kernel) subdirs="$subdirs projects/llvm-kernel" @@ -11136,7 +11151,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by llvm $as_me 2.7svn, which was +This file was extended by llvm $as_me 2.8svn, which was generated by GNU Autoconf 2.60. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20661,7 +20676,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -llvm config.status 2.7svn +llvm config.status 2.8svn configured by $0, generated by GNU Autoconf 2.60, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Modified: projects/clangbsd/contrib/llvm/docs/ReleaseNotes.html ============================================================================== --- projects/clangbsd/contrib/llvm/docs/ReleaseNotes.html Sun Mar 21 16:38:45 2010 (r205419) +++ projects/clangbsd/contrib/llvm/docs/ReleaseNotes.html Sun Mar 21 17:05:41 2010 (r205420) @@ -10,6 +10,9 @@
LLVM 2.7 Release Notes
+ +
  1. Introduction
  2. Sub-project Status Update
  3. @@ -48,14 +51,18 @@ href="http://llvm.org/releases/">LLVM re

    For more information about LLVM, including information about the latest release, please check out the main LLVM web site. If you have questions or comments, the LLVM Developer's Mailing -List is a good place to send them.

    +href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">LLVM Developer's +Mailing List is a good place to send them.

    Note that if you are reading this file from a Subversion checkout or the main LLVM web page, this document applies to the next release, not the current one. To see the release notes for a specific release, please see the releases page.

    + +

    FIXME: llvm.org moved to new server, mention new logo, Ted and Doug new code + owners.

    + @@ -66,6 +73,7 @@ Almost dead code. llvm/Analysis/PointerTracking.h => Edwin wants this, consider for 2.8. ABCD, SCCVN, GEPSplitterPass MSIL backend? + lib/Transforms/Utils/SSI.cpp -> ABCD depends on it. --> @@ -78,8 +86,6 @@ Almost dead code. loop dependence analysis ELF Writer? How stable?
  4. PostRA scheduler improvements, ARM adoption (David Goodwin).
  5. - 2.7 supports the GDB 7.0 jit interfaces for debug info. - 2.7 eliminates ADT/iterator.h --> @@ -123,6 +128,7 @@ development. Here we include updates on
    • ...
    • +include a link to cxx_compatibility.html
    @@ -139,7 +145,7 @@ href="http://clang.llvm.org/StaticAnalys in C and Objective-C programs. The tool performs checks to find bugs that occur on a specific path within a program.

    -

    In the LLVM 2.7 time-frame, the analyzer core has ...

    +

    In the LLVM 2.7 time-frame, the analyzer core has sprouted legs and...

    @@ -192,24 +198,6 @@ License, a "BSD-style" license.

    - -
    -

    -The new LLVM KLEE project is a symbolic -execution framework for programs in LLVM bitcode form. KLEE tries to -symbolically evaluate "all" paths through the application and records state -transitions that lead to fault states. This allows it to construct testcases -that lead to faults and can even be used to verify algorithms. For more -details, please see the OSDI 2008 paper about -KLEE.

    - -
    - - - @@ -257,6 +245,8 @@ The LLVM Machine Code (MC) Toolkit proje
    +Need update. +

    @@ -278,6 +269,8 @@ a counter based JIT, type feedback and s

    +Need update. +

    @@ -308,9 +301,9 @@ built-in list and matrix support (includ an easy-to-use C interface. The interpreter uses LLVM as a backend to JIT-compile Pure programs to fast native code.

    -

    Pure versions ??? and later have been tested and are known to work with -LLVM 2.7 (and continue to work with older LLVM releases >= 2.3 as well). -

    +

    Pure versions 0.43 and later have been tested and are known to work with +LLVM 2.7 (and continue to work with older LLVM releases >= 2.5).

    + @@ -321,6 +314,8 @@ LLVM 2.7 (and continue to work with olde

    +Need update. +

    @@ -342,7 +337,8 @@ fully featured as the original DMD compi Roadsend PHP (rphp) is an open source implementation of the PHP programming language that uses LLVM for its optimizer, JIT and static compiler. This is a -reimplementation of an earlier project that is now based on LLVM.

    +reimplementation of an earlier project that is now based on LLVM. +

    @@ -355,7 +351,8 @@ reimplementation of an earlier project t Unladen Swallow is a branch of Python intended to be fully compatible and significantly faster. It uses LLVM's optimization passes and JIT -compiler.

    +compiler. +

    @@ -365,10 +362,13 @@ compiler.

    +Need update. + +

    @@ -378,13 +378,15 @@ code.

    +Need update. +

    @@ -418,6 +420,54 @@ in this section.
  6. ...
  7. +Extensible metadata solid. + +Debug info improvements: using metadata instead of llvm.dbg global variables. +This brings several enhancements including improved compile times. + +New instruction selector. +GHC Haskell ABI/ calling conv support. +Pre-Alpha support for unions in IR. +New InlineHint and StackAlignment function attributes +Code generator MC'ized except for debug info and EH. +New SCEV AA pass: -scev-aa +Inliner reuses arrays allocas when inlining multiple callers to reduce stack usage. +MC encoding and disassembler apis. +Optimal Edge Profiling? +Instcombine is now a library, has its own IRBuilder to simplify itself. +New llvm/Support/Regex.h API. FileCheck now does regex's +Many subtle pointer invalidation bugs in Callgraph have been fixed and it now uses asserting value handles. +MC Disassembler (with blog post), MCInstPrinter. Many X86 backend and AsmPrinter simplifications +Various tools like llc and opt now read either .ll or .bc files as input. +Malloc and free instructions got removed. +compiler-rt support for ARM. +completely llvm-gcc NEON support. +Can transcode from GAS to intel syntax with "llvm-mc foo.s -output-asm-variant=1" +JIT debug information with GDB 7.0 +New CodeGen Level CSE +CMake can now run tests, what other improvements? +ARM/Thumb using reg scavenging for stack object address materialization (PEI). +New SSAUpdater and MachineSSAUpdater classes for unstructured ssa updating, + changed jump threading, GVN, etc to use it which simplified them and speed + them up. +Combiner-AA improvements, why not on by default? +Pre-regalloc tail duplication +x86 sibcall optimization +New LSR with full strength reduction mode +The most awesome sext / zext optimization pass. ? + + + +CondProp pass removed (functionality merged into jump threading). +AndersAA got removed (from 2.7 or mainline?) +PredSimplify, LoopVR, GVNPRE got removed. +LLVM command line tools now overwrite their output, before they would only do this with -f. +DOUT removed, use DEBUG(errs() instead. +Much stuff converted to use raw_ostream instead of std::ostream. +TargetAsmInfo renamed to MCAsmInfo +llvm/ADT/iterator.h gone. + + @@ -699,13 +749,7 @@ listed by component. If you run into a href="http://llvm.org/bugs/">LLVM bug database and submit a bug if there isn't already one.

    -
      -
    • The llvm-gcc bootstrap will fail with some versions of binutils (e.g. 2.15) - with a message of "Error: can not do 8 - byte pc-relative relocation" when building C++ code. We intend to - fix this on mainline, but a workaround is to upgrade to binutils 2.17 or - later.
    • - +
      • LLVM will not correctly compile on Solaris and/or OpenSolaris using the stock GCC 3.x.x series 'out the box', See: Broken versions of GCC and other tools. @@ -731,10 +775,11 @@ components, please contact us on the LLVMdev list.

          -
        • The MSIL, Alpha, SPU, MIPS, PIC16, Blackfin, MSP430 and SystemZ backends are - experimental.
        • +
        • The MSIL, Alpha, SPU, MIPS, PIC16, Blackfin, MSP430, SystemZ and MicroBlaze + backends are experimental.
        • The llc "-filetype=asm" (the default) is the only - supported value for this option. The ELF writer is experimental.
        • + supported value for this option. The MachO writer is experimental, and + works much better in mainline SVN.
        @@ -865,7 +910,7 @@ appropriate nops inserted to ensure rest
        @@ -883,24 +928,6 @@ appropriate nops inserted to ensure rest - -
        - -

        The C++ front-end is considered to be fully -tested and works for a number of non-trivial programs, including LLVM -itself, Qt, Mozilla, etc.

        - -
          -
        • Exception handling works well on the X86 and PowerPC targets. Currently - only Linux and Darwin targets are supported (both 32 and 64 bit).
        • -
        - -
        - - - @@ -997,7 +1024,7 @@ lists.

        src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"> LLVM Compiler Infrastructure
        - Last modified: $Date: 2010-03-01 20:29:17 +0100 (Mon, 01 Mar 2010) $ + Last modified: $Date: 2010-03-19 04:18:05 +0100 (Fri, 19 Mar 2010) $ Modified: projects/clangbsd/contrib/llvm/docs/SourceLevelDebugging.html ============================================================================== --- projects/clangbsd/contrib/llvm/docs/SourceLevelDebugging.html Sun Mar 21 16:38:45 2010 (r205419) +++ projects/clangbsd/contrib/llvm/docs/SourceLevelDebugging.html Sun Mar 21 17:05:41 2010 (r205420) @@ -237,7 +237,7 @@ height="369">

        LLVM debugging information has been carefully designed to make it possible for the optimizer to optimize the program and debugging information without necessarily having to know anything about debugging information. In - particular, te use of metadadta avoids duplicated dubgging information from + particular, the use of metadata avoids duplicated debugging information from the beginning, and the global dead code elimination pass automatically deletes debugging information for a function if it decides to delete the function.

        @@ -370,7 +370,7 @@ height="369">
        -

        These descriptors contain informations for a file. Global variables and top +

        These descriptors contain information for a file. Global variables and top level functions would be defined using this context.k File descriptors also provide context for source line correspondence.

        @@ -967,7 +967,7 @@ call void @llvm.dbg.declare({ }* %2, met -

        Here !14 indicates that Z is declaread at line number 5 and +

        Here !14 indicates that Z is declared at line number 5 and column number 9 inside of lexical scope !13. The lexical scope itself resides inside of lexical scope !1 described above.

        @@ -1762,7 +1762,7 @@ enum Trees { Chris Lattner
        LLVM Compiler Infrastructure
        - Last modified: $Date: 2010-03-09 01:44:10 +0100 (Tue, 09 Mar 2010) $ + Last modified: $Date: 2010-03-17 16:01:50 +0100 (Wed, 17 Mar 2010) $ Modified: projects/clangbsd/contrib/llvm/include/llvm/ADT/BitVector.h ============================================================================== --- projects/clangbsd/contrib/llvm/include/llvm/ADT/BitVector.h Sun Mar 21 16:38:45 2010 (r205419) +++ projects/clangbsd/contrib/llvm/include/llvm/ADT/BitVector.h Sun Mar 21 17:05:41 2010 (r205420) @@ -329,7 +329,8 @@ public: Size = RHS.size(); unsigned RHSWords = NumBitWords(Size); if (Size <= Capacity * BITWORD_SIZE) { - std::copy(RHS.Bits, &RHS.Bits[RHSWords], Bits); + if (Size) + std::copy(RHS.Bits, &RHS.Bits[RHSWords], Bits); clear_unused_bits(); return *this; } Modified: projects/clangbsd/contrib/llvm/include/llvm/ADT/EquivalenceClasses.h ============================================================================== --- projects/clangbsd/contrib/llvm/include/llvm/ADT/EquivalenceClasses.h Sun Mar 21 16:38:45 2010 (r205419) +++ projects/clangbsd/contrib/llvm/include/llvm/ADT/EquivalenceClasses.h Sun Mar 21 17:05:41 2010 (r205420) @@ -16,6 +16,7 @@ #define LLVM_ADT_EQUIVALENCECLASSES_H #include "llvm/System/DataTypes.h" +#include #include namespace llvm { Modified: projects/clangbsd/contrib/llvm/include/llvm/ADT/FoldingSet.h ============================================================================== --- projects/clangbsd/contrib/llvm/include/llvm/ADT/FoldingSet.h Sun Mar 21 16:38:45 2010 (r205419) +++ projects/clangbsd/contrib/llvm/include/llvm/ADT/FoldingSet.h Sun Mar 21 17:05:41 2010 (r205420) @@ -23,6 +23,7 @@ namespace llvm { class APFloat; class APInt; + class BumpPtrAllocator; /// This folding set used for two purposes: /// 1. Given information about a node we want to create, look up the unique @@ -198,6 +199,23 @@ template struct FoldingSetTr }; //===--------------------------------------------------------------------===// +/// FoldingSetNodeIDRef - This class describes a reference to an interned +/// FoldingSetNodeID, which can be a useful to store node id data rather +/// than using plain FoldingSetNodeIDs, since the 32-element SmallVector +/// is often much larger than necessary, and the possibility of heap +/// allocation means it requires a non-trivial destructor call. +class FoldingSetNodeIDRef { + unsigned* Data; + size_t Size; +public: + FoldingSetNodeIDRef() : Data(0), Size(0) {} + FoldingSetNodeIDRef(unsigned *D, size_t S) : Data(D), Size(S) {} + + unsigned *getData() const { return Data; } + size_t getSize() const { return Size; } +}; + +//===--------------------------------------------------------------------===// /// FoldingSetNodeID - This class is used to gather all the unique data bits of /// a node. When all the bits are gathered this class is used to produce a /// hash value for the node. @@ -210,11 +228,8 @@ class FoldingSetNodeID { public: FoldingSetNodeID() {} - /// getRawData - Return the ith entry in the Bits data. - /// - unsigned getRawData(unsigned i) const { - return Bits[i]; - } + FoldingSetNodeID(FoldingSetNodeIDRef Ref) + : Bits(Ref.getData(), Ref.getData() + Ref.getSize()) {} /// Add* - Add various data types to Bit data. /// @@ -242,6 +257,11 @@ public: /// operator== - Used to compare two nodes to each other. /// bool operator==(const FoldingSetNodeID &RHS) const; + + /// Intern - Copy this node's data to a memory region allocated from the + /// given allocator and return a FoldingSetNodeIDRef describing the + /// interned data. + FoldingSetNodeIDRef Intern(BumpPtrAllocator &Allocator) const; }; // Convenience type to hide the implementation of the folding set. Modified: projects/clangbsd/contrib/llvm/include/llvm/ADT/SmallVector.h ============================================================================== --- projects/clangbsd/contrib/llvm/include/llvm/ADT/SmallVector.h Sun Mar 21 16:38:45 2010 (r205419) +++ projects/clangbsd/contrib/llvm/include/llvm/ADT/SmallVector.h Sun Mar 21 17:05:41 2010 (r205420) @@ -57,17 +57,18 @@ protected: // something else. An array of char would work great, but might not be // aligned sufficiently. Instead, we either use GCC extensions, or some // number of union instances for the space, which guarantee maximal alignment. + struct U { #ifdef __GNUC__ - typedef char U; - U FirstEl __attribute__((aligned)); + char X __attribute__((aligned)); #else - union U { - double D; - long double LD; - long long L; - void *P; - } FirstEl; + union { + double D; + long double LD; + long long L; + void *P; + } X; #endif + } FirstEl; // Space after 'FirstEl' is clobbered, do not add any instance vars after it. protected: Modified: projects/clangbsd/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h ============================================================================== --- projects/clangbsd/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h Sun Mar 21 16:38:45 2010 (r205419) +++ projects/clangbsd/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h Sun Mar 21 17:05:41 2010 (r205420) @@ -49,7 +49,11 @@ namespace llvm { /// are opaque objects that the client is not allowed to do much with /// directly. /// - class SCEV : public FastFoldingSetNode { + class SCEV : public FoldingSetNode { + /// FastID - A reference to an Interned FoldingSetNodeID for this node. + /// The ScalarEvolution's BumpPtrAllocator holds the data. + FoldingSetNodeIDRef FastID; + // The SCEV baseclass this node corresponds to const unsigned short SCEVType; @@ -64,11 +68,14 @@ namespace llvm { protected: virtual ~SCEV(); public: - explicit SCEV(const FoldingSetNodeID &ID, unsigned SCEVTy) : - FastFoldingSetNode(ID), SCEVType(SCEVTy), SubclassData(0) {} + explicit SCEV(const FoldingSetNodeIDRef ID, unsigned SCEVTy) : + FastID(ID), SCEVType(SCEVTy), SubclassData(0) {} unsigned getSCEVType() const { return SCEVType; } + /// Profile - FoldingSet support. + void Profile(FoldingSetNodeID& ID) { ID = FastID; } + /// isLoopInvariant - Return true if the value of this SCEV is unchanging in /// the specified loop. virtual bool isLoopInvariant(const Loop *L) const = 0; Modified: projects/clangbsd/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h ============================================================================== --- projects/clangbsd/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h Sun Mar 21 16:38:45 2010 (r205419) +++ projects/clangbsd/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h Sun Mar 21 17:05:41 2010 (r205420) @@ -79,12 +79,7 @@ namespace llvm { /// expandCodeFor - Insert code to directly compute the specified SCEV /// expression into the program. The inserted code is inserted into the /// specified block. - Value *expandCodeFor(const SCEV *SH, const Type *Ty, Instruction *I) { - BasicBlock::iterator IP = I; - while (isInsertedInstruction(IP)) ++IP; - Builder.SetInsertPoint(IP->getParent(), IP); - return expandCodeFor(SH, Ty); - } + Value *expandCodeFor(const SCEV *SH, const Type *Ty, Instruction *I); /// setIVIncInsertPos - Set the current IV increment loop and position. void setIVIncInsertPos(const Loop *L, Instruction *Pos) { @@ -109,6 +104,13 @@ namespace llvm { /// is useful for late optimization passes. void disableCanonicalMode() { CanonicalMode = false; } + /// clearInsertPoint - Clear the current insertion point. This is useful + /// if the instruction that had been serving as the insertion point may + /// have been deleted. + void clearInsertPoint() { + Builder.ClearInsertionPoint(); + } + private: LLVMContext &getContext() const { return SE.getContext(); } Modified: projects/clangbsd/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h ============================================================================== --- projects/clangbsd/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h Sun Mar 21 16:38:45 2010 (r205419) +++ projects/clangbsd/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h Sun Mar 21 17:05:41 2010 (r205420) @@ -37,7 +37,7 @@ namespace llvm { friend class ScalarEvolution; ConstantInt *V; - SCEVConstant(const FoldingSetNodeID &ID, ConstantInt *v) : + SCEVConstant(const FoldingSetNodeIDRef ID, ConstantInt *v) : SCEV(ID, scConstant), V(v) {} public: ConstantInt *getValue() const { return V; } @@ -81,7 +81,7 @@ namespace llvm { const SCEV *Op; const Type *Ty; - SCEVCastExpr(const FoldingSetNodeID &ID, + SCEVCastExpr(const FoldingSetNodeIDRef ID, unsigned SCEVTy, const SCEV *op, const Type *ty); public: @@ -120,7 +120,7 @@ namespace llvm { class SCEVTruncateExpr : public SCEVCastExpr { friend class ScalarEvolution; - SCEVTruncateExpr(const FoldingSetNodeID &ID, + SCEVTruncateExpr(const FoldingSetNodeIDRef ID, const SCEV *op, const Type *ty); public: @@ -140,7 +140,7 @@ namespace llvm { class SCEVZeroExtendExpr : public SCEVCastExpr { friend class ScalarEvolution; - SCEVZeroExtendExpr(const FoldingSetNodeID &ID, + SCEVZeroExtendExpr(const FoldingSetNodeIDRef ID, const SCEV *op, const Type *ty); public: @@ -160,7 +160,7 @@ namespace llvm { class SCEVSignExtendExpr : public SCEVCastExpr { friend class ScalarEvolution; - SCEVSignExtendExpr(const FoldingSetNodeID &ID, + SCEVSignExtendExpr(const FoldingSetNodeIDRef ID, const SCEV *op, const Type *ty); public: @@ -180,25 +180,27 @@ namespace llvm { /// class SCEVNAryExpr : public SCEV { protected: - SmallVector Operands; - - SCEVNAryExpr(const FoldingSetNodeID &ID, - enum SCEVTypes T, const SmallVectorImpl &ops) - : SCEV(ID, T), Operands(ops.begin(), ops.end()) {} + // Since SCEVs are immutable, ScalarEvolution allocates operand + // arrays with its SCEVAllocator, so this class just needs a simple + // pointer rather than a more elaborate vector-like data structure. + // This also avoids the need for a non-trivial destructor. + const SCEV *const *Operands; + size_t NumOperands; + + SCEVNAryExpr(const FoldingSetNodeIDRef ID, + enum SCEVTypes T, const SCEV *const *O, size_t N) + : SCEV(ID, T), Operands(O), NumOperands(N) {} public: - unsigned getNumOperands() const { return (unsigned)Operands.size(); } + size_t getNumOperands() const { return NumOperands; } const SCEV *getOperand(unsigned i) const { - assert(i < Operands.size() && "Operand index out of range!"); + assert(i < NumOperands && "Operand index out of range!"); return Operands[i]; } - const SmallVectorImpl &getOperands() const { - return Operands; - } - typedef SmallVectorImpl::const_iterator op_iterator; - op_iterator op_begin() const { return Operands.begin(); } - op_iterator op_end() const { return Operands.end(); } + typedef const SCEV *const *op_iterator; + op_iterator op_begin() const { return Operands; } + op_iterator op_end() const { return Operands + NumOperands; } virtual bool isLoopInvariant(const Loop *L) const { for (unsigned i = 0, e = getNumOperands(); i != e; ++i) @@ -260,10 +262,9 @@ namespace llvm { /// class SCEVCommutativeExpr : public SCEVNAryExpr { protected: - SCEVCommutativeExpr(const FoldingSetNodeID &ID, - enum SCEVTypes T, - const SmallVectorImpl &ops) - : SCEVNAryExpr(ID, T, ops) {} + SCEVCommutativeExpr(const FoldingSetNodeIDRef ID, + enum SCEVTypes T, const SCEV *const *O, size_t N) + : SCEVNAryExpr(ID, T, O, N) {} public: virtual const char *getOperationStr() const = 0; @@ -287,9 +288,9 @@ namespace llvm { class SCEVAddExpr : public SCEVCommutativeExpr { friend class ScalarEvolution; - SCEVAddExpr(const FoldingSetNodeID &ID, - const SmallVectorImpl &ops) - : SCEVCommutativeExpr(ID, scAddExpr, ops) { + SCEVAddExpr(const FoldingSetNodeIDRef ID, + const SCEV *const *O, size_t N) + : SCEVCommutativeExpr(ID, scAddExpr, O, N) { } public: @@ -315,9 +316,9 @@ namespace llvm { class SCEVMulExpr : public SCEVCommutativeExpr { friend class ScalarEvolution; - SCEVMulExpr(const FoldingSetNodeID &ID, - const SmallVectorImpl &ops) - : SCEVCommutativeExpr(ID, scMulExpr, ops) { + SCEVMulExpr(const FoldingSetNodeIDRef ID, + const SCEV *const *O, size_t N) + : SCEVCommutativeExpr(ID, scMulExpr, O, N) { } public: @@ -339,7 +340,7 @@ namespace llvm { const SCEV *LHS; const SCEV *RHS; - SCEVUDivExpr(const FoldingSetNodeID &ID, const SCEV *lhs, const SCEV *rhs) + SCEVUDivExpr(const FoldingSetNodeIDRef ID, const SCEV *lhs, const SCEV *rhs) : SCEV(ID, scUDivExpr), LHS(lhs), RHS(rhs) {} public: @@ -389,10 +390,10 @@ namespace llvm { const Loop *L; - SCEVAddRecExpr(const FoldingSetNodeID &ID, - const SmallVectorImpl &ops, const Loop *l) - : SCEVNAryExpr(ID, scAddRecExpr, ops), L(l) { - for (size_t i = 0, e = Operands.size(); i != e; ++i) + SCEVAddRecExpr(const FoldingSetNodeIDRef ID, *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Mon Mar 22 18:50:57 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AE348106568B; Mon, 22 Mar 2010 18:50:57 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9988E8FC13; Mon, 22 Mar 2010 18:50:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2MIovo0009130; Mon, 22 Mar 2010 18:50:57 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2MIovk8009116; Mon, 22 Mar 2010 18:50:57 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201003221850.o2MIovk8009116@svn.freebsd.org> From: Marcel Moolenaar Date: Mon, 22 Mar 2010 18:50:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r205456 - in projects/altix/sys: amd64/acpica amd64/amd64 amd64/include arm/arm arm/conf arm/s3c2xx0 cam/scsi cddl/contrib/opensolaris/uts/common/fs/zfs compat/freebsd32 compat/linux co... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Mar 2010 18:50:57 -0000 Author: marcel Date: Mon Mar 22 18:50:57 2010 New Revision: 205456 URL: http://svn.freebsd.org/changeset/base/205456 Log: Merge svn+ssh://svn.freebsd.org/base/head@205454 Added: projects/altix/sys/arm/conf/LN2410SBC - copied unchanged from r205454, head/sys/arm/conf/LN2410SBC projects/altix/sys/arm/s3c2xx0/ - copied from r205454, head/sys/arm/s3c2xx0/ projects/altix/sys/dev/usb/controller/ohci_s3c24x0.c - copied unchanged from r205454, head/sys/dev/usb/controller/ohci_s3c24x0.c projects/altix/sys/netinet/ipfw/dn_sched_prio.c - copied unchanged from r205454, head/sys/netinet/ipfw/dn_sched_prio.c Modified: projects/altix/sys/amd64/acpica/acpi_machdep.c projects/altix/sys/amd64/amd64/mca.c projects/altix/sys/amd64/amd64/pmap.c projects/altix/sys/amd64/include/specialreg.h projects/altix/sys/arm/arm/pmap.c projects/altix/sys/cam/scsi/scsi_sg.c projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/altix/sys/compat/freebsd32/freebsd32.h projects/altix/sys/compat/freebsd32/freebsd32_ipc.h projects/altix/sys/compat/freebsd32/freebsd32_misc.c projects/altix/sys/compat/freebsd32/freebsd32_proto.h projects/altix/sys/compat/freebsd32/freebsd32_syscall.h projects/altix/sys/compat/freebsd32/freebsd32_syscalls.c projects/altix/sys/compat/freebsd32/freebsd32_sysent.c projects/altix/sys/compat/freebsd32/freebsd32_util.h projects/altix/sys/compat/freebsd32/syscalls.master projects/altix/sys/compat/linux/linux_file.c projects/altix/sys/compat/x86bios/x86bios.c projects/altix/sys/conf/NOTES projects/altix/sys/conf/files projects/altix/sys/dev/ahci/ahci.c projects/altix/sys/dev/bce/if_bce.c projects/altix/sys/dev/bce/if_bcefw.h projects/altix/sys/dev/bce/if_bcereg.h projects/altix/sys/dev/isp/isp_freebsd.c projects/altix/sys/dev/isp/isp_freebsd.h projects/altix/sys/dev/isp/isp_pci.c projects/altix/sys/dev/isp/isp_sbus.c projects/altix/sys/dev/mii/brgphy.c projects/altix/sys/dev/mii/brgphyreg.h projects/altix/sys/dev/mii/mii.c projects/altix/sys/dev/mii/miidevs projects/altix/sys/dev/mxge/if_mxge.c projects/altix/sys/dev/siis/siis.c projects/altix/sys/dev/sound/pci/hda/hdac.c projects/altix/sys/geom/gate/g_gate.c projects/altix/sys/geom/geom_dump.c projects/altix/sys/geom/multipath/g_multipath.c projects/altix/sys/i386/acpica/acpi_machdep.c projects/altix/sys/i386/i386/pmap.c projects/altix/sys/i386/i386/trap.c projects/altix/sys/i386/include/specialreg.h projects/altix/sys/ia64/ia64/clock.c projects/altix/sys/ia64/ia64/db_machdep.c projects/altix/sys/ia64/ia64/exception.S projects/altix/sys/ia64/ia64/highfp.c projects/altix/sys/ia64/ia64/interrupt.c projects/altix/sys/ia64/ia64/machdep.c projects/altix/sys/ia64/ia64/mp_machdep.c projects/altix/sys/ia64/ia64/pmap.c projects/altix/sys/ia64/include/frame.h projects/altix/sys/ia64/include/pcb.h projects/altix/sys/ia64/include/pcpu.h projects/altix/sys/ia64/pci/pci_cfgreg.c projects/altix/sys/kern/kern_syscalls.c projects/altix/sys/kern/subr_eventhandler.c projects/altix/sys/kern/sysv_ipc.c projects/altix/sys/kern/sysv_msg.c projects/altix/sys/kern/sysv_sem.c projects/altix/sys/kern/sysv_shm.c projects/altix/sys/kern/uipc_mqueue.c projects/altix/sys/kern/uipc_sem.c projects/altix/sys/kern/uipc_syscalls.c projects/altix/sys/kern/vfs_aio.c projects/altix/sys/kern/vfs_syscalls.c projects/altix/sys/kern/vfs_vnops.c projects/altix/sys/mips/include/clock.h projects/altix/sys/mips/include/db_machdep.h projects/altix/sys/mips/include/trap.h projects/altix/sys/mips/mips/db_trace.c projects/altix/sys/mips/mips/exception.S projects/altix/sys/mips/mips/nexus.c projects/altix/sys/mips/mips/pmap.c projects/altix/sys/mips/mips/tick.c projects/altix/sys/mips/mips/trap.c projects/altix/sys/mips/sibyte/sb_asm.S projects/altix/sys/mips/sibyte/sb_machdep.c projects/altix/sys/mips/sibyte/sb_scd.c projects/altix/sys/mips/sibyte/sb_scd.h projects/altix/sys/net/if_llatbl.c projects/altix/sys/net/if_vlan.c projects/altix/sys/net/vnet.c projects/altix/sys/net/vnet.h projects/altix/sys/net80211/ieee80211_adhoc.c projects/altix/sys/net80211/ieee80211_ht.c projects/altix/sys/net80211/ieee80211_mesh.c projects/altix/sys/net80211/ieee80211_sta.c projects/altix/sys/netinet/ip_divert.c projects/altix/sys/netinet/ipfw/dn_sched.h projects/altix/sys/netinet/ipfw/ip_fw_private.h projects/altix/sys/netinet/ipfw/ip_fw_table.c projects/altix/sys/netinet/ipfw/test/Makefile projects/altix/sys/netinet/raw_ip.c projects/altix/sys/netinet/tcp_subr.c projects/altix/sys/netinet/tcp_timer.c projects/altix/sys/netinet/udp_usrreq.c projects/altix/sys/powerpc/aim/mmu_oea64.c projects/altix/sys/powerpc/powermac/uninorth.c projects/altix/sys/sparc64/include/dcr.h projects/altix/sys/sparc64/include/tlb.h projects/altix/sys/sparc64/include/tte.h projects/altix/sys/sparc64/include/ver.h projects/altix/sys/sparc64/include/wstate.h projects/altix/sys/sparc64/pci/schizo.c projects/altix/sys/sparc64/pci/schizovar.h projects/altix/sys/sparc64/sparc64/cheetah.c projects/altix/sys/sparc64/sparc64/exception.S projects/altix/sys/sparc64/sparc64/genassym.c projects/altix/sys/sparc64/sparc64/locore.S projects/altix/sys/sparc64/sparc64/machdep.c projects/altix/sys/sparc64/sparc64/pmap.c projects/altix/sys/sparc64/sparc64/support.S projects/altix/sys/sparc64/sparc64/swtch.S projects/altix/sys/sys/eventhandler.h projects/altix/sys/sys/sysent.h projects/altix/sys/vm/uma_int.h Directory Properties: projects/altix/sys/ (props changed) Modified: projects/altix/sys/amd64/acpica/acpi_machdep.c ============================================================================== --- projects/altix/sys/amd64/acpica/acpi_machdep.c Mon Mar 22 18:43:36 2010 (r205455) +++ projects/altix/sys/amd64/acpica/acpi_machdep.c Mon Mar 22 18:50:57 2010 (r205456) @@ -627,8 +627,10 @@ map_table(vm_paddr_t pa, int offset, con if (ACPI_FAILURE(AcpiTbChecksum(table, length))) { if (bootverbose) printf("ACPI: Failed checksum for table %s\n", sig); +#if (ACPI_CHECKSUM_ABORT) table_unmap(table, length); return (NULL); +#endif } return (table); } Modified: projects/altix/sys/amd64/amd64/mca.c ============================================================================== --- projects/altix/sys/amd64/amd64/mca.c Mon Mar 22 18:43:36 2010 (r205455) +++ projects/altix/sys/amd64/amd64/mca.c Mon Mar 22 18:50:57 2010 (r205456) @@ -565,19 +565,16 @@ mca_init(void) /* * Disable logging of level one TLB parity (L1TP) errors by - * the data and instruction caches as an alternative - * workaround for AMD Family 10h Erratum 383. Unlike the - * recommended workaround, there is no performance penalty to - * this workaround. However, L1TP errors will go unreported. + * the data cache as an alternative workaround for AMD Family + * 10h Erratum 383. Unlike the recommended workaround, there + * is no performance penalty to this workaround. However, + * L1TP errors will go unreported. */ if (cpu_vendor_id == CPU_VENDOR_AMD && CPUID_TO_FAMILY(cpu_id) == 0x10 && !amd10h_L1TP) { mask = rdmsr(MSR_MC0_CTL_MASK); if ((mask & (1UL << 5)) == 0) wrmsr(MSR_MC0_CTL_MASK, mask | (1UL << 5)); - mask = rdmsr(MSR_MC1_CTL_MASK); - if ((mask & (1UL << 5)) == 0) - wrmsr(MSR_MC1_CTL_MASK, mask | (1UL << 5)); } for (i = 0; i < (mcg_cap & MCG_CAP_COUNT); i++) { /* By default enable logging of all errors. */ Modified: projects/altix/sys/amd64/amd64/pmap.c ============================================================================== --- projects/altix/sys/amd64/amd64/pmap.c Mon Mar 22 18:43:36 2010 (r205455) +++ projects/altix/sys/amd64/amd64/pmap.c Mon Mar 22 18:50:57 2010 (r205456) @@ -576,8 +576,6 @@ pmap_bootstrap(vm_paddr_t *firstaddr) virtual_avail = va; - invltlb(); - /* Initialize the PAT MSR. */ pmap_init_pat(); } @@ -1123,7 +1121,7 @@ pmap_invalidate_cache_range(vm_offset_t /* * No targeted cache flush methods are supported by CPU, - * or the supplied range is bigger then 2MB. + * or the supplied range is bigger than 2MB. * Globally invalidate cache. */ pmap_invalidate_cache(); Modified: projects/altix/sys/amd64/include/specialreg.h ============================================================================== --- projects/altix/sys/amd64/include/specialreg.h Mon Mar 22 18:43:36 2010 (r205455) +++ projects/altix/sys/amd64/include/specialreg.h Mon Mar 22 18:50:57 2010 (r205456) @@ -321,16 +321,16 @@ #define MTRR_N64K 8 /* numbers of fixed-size entries */ #define MTRR_N16K 16 #define MTRR_N4K 64 -#define MTRR_CAP_WC 0x0000000000000400UL -#define MTRR_CAP_FIXED 0x0000000000000100UL -#define MTRR_CAP_VCNT 0x00000000000000ffUL -#define MTRR_DEF_ENABLE 0x0000000000000800UL -#define MTRR_DEF_FIXED_ENABLE 0x0000000000000400UL -#define MTRR_DEF_TYPE 0x00000000000000ffUL -#define MTRR_PHYSBASE_PHYSBASE 0x000ffffffffff000UL -#define MTRR_PHYSBASE_TYPE 0x00000000000000ffUL -#define MTRR_PHYSMASK_PHYSMASK 0x000ffffffffff000UL -#define MTRR_PHYSMASK_VALID 0x0000000000000800UL +#define MTRR_CAP_WC 0x0000000000000400 +#define MTRR_CAP_FIXED 0x0000000000000100 +#define MTRR_CAP_VCNT 0x00000000000000ff +#define MTRR_DEF_ENABLE 0x0000000000000800 +#define MTRR_DEF_FIXED_ENABLE 0x0000000000000400 +#define MTRR_DEF_TYPE 0x00000000000000ff +#define MTRR_PHYSBASE_PHYSBASE 0x000ffffffffff000 +#define MTRR_PHYSBASE_TYPE 0x00000000000000ff +#define MTRR_PHYSMASK_PHYSMASK 0x000ffffffffff000 +#define MTRR_PHYSMASK_VALID 0x0000000000000800 /* Performance Control Register (5x86 only). */ #define PCR0 0x20 @@ -360,31 +360,31 @@ #define MCG_STATUS_RIPV 0x00000001 #define MCG_STATUS_EIPV 0x00000002 #define MCG_STATUS_MCIP 0x00000004 -#define MCG_CTL_ENABLE 0xffffffffffffffffUL -#define MCG_CTL_DISABLE 0x0000000000000000UL +#define MCG_CTL_ENABLE 0xffffffffffffffff +#define MCG_CTL_DISABLE 0x0000000000000000 #define MSR_MC_CTL(x) (MSR_MC0_CTL + (x) * 4) #define MSR_MC_STATUS(x) (MSR_MC0_STATUS + (x) * 4) #define MSR_MC_ADDR(x) (MSR_MC0_ADDR + (x) * 4) #define MSR_MC_MISC(x) (MSR_MC0_MISC + (x) * 4) #define MSR_MC_CTL2(x) (MSR_MC0_CTL2 + (x)) /* If MCG_CAP_CMCI_P */ -#define MC_STATUS_MCA_ERROR 0x000000000000ffffUL -#define MC_STATUS_MODEL_ERROR 0x00000000ffff0000UL -#define MC_STATUS_OTHER_INFO 0x01ffffff00000000UL -#define MC_STATUS_COR_COUNT 0x001fffc000000000UL /* If MCG_CAP_TES_P */ -#define MC_STATUS_TES_STATUS 0x0060000000000000UL /* If MCG_CAP_TES_P */ -#define MC_STATUS_AR 0x0080000000000000UL /* If MCG_CAP_CMCI_P */ -#define MC_STATUS_S 0x0100000000000000UL /* If MCG_CAP_CMCI_P */ -#define MC_STATUS_PCC 0x0200000000000000UL -#define MC_STATUS_ADDRV 0x0400000000000000UL -#define MC_STATUS_MISCV 0x0800000000000000UL -#define MC_STATUS_EN 0x1000000000000000UL -#define MC_STATUS_UC 0x2000000000000000UL -#define MC_STATUS_OVER 0x4000000000000000UL -#define MC_STATUS_VAL 0x8000000000000000UL -#define MC_MISC_RA_LSB 0x000000000000003fUL /* If MCG_CAP_SER_P */ -#define MC_MISC_ADDRESS_MODE 0x00000000000001c0UL /* If MCG_CAP_SER_P */ -#define MC_CTL2_THRESHOLD 0x0000000000003fffUL -#define MC_CTL2_CMCI_EN 0x0000000040000000UL +#define MC_STATUS_MCA_ERROR 0x000000000000ffff +#define MC_STATUS_MODEL_ERROR 0x00000000ffff0000 +#define MC_STATUS_OTHER_INFO 0x01ffffff00000000 +#define MC_STATUS_COR_COUNT 0x001fffc000000000 /* If MCG_CAP_TES_P */ +#define MC_STATUS_TES_STATUS 0x0060000000000000 /* If MCG_CAP_TES_P */ +#define MC_STATUS_AR 0x0080000000000000 /* If MCG_CAP_CMCI_P */ +#define MC_STATUS_S 0x0100000000000000 /* If MCG_CAP_CMCI_P */ +#define MC_STATUS_PCC 0x0200000000000000 +#define MC_STATUS_ADDRV 0x0400000000000000 +#define MC_STATUS_MISCV 0x0800000000000000 +#define MC_STATUS_EN 0x1000000000000000 +#define MC_STATUS_UC 0x2000000000000000 +#define MC_STATUS_OVER 0x4000000000000000 +#define MC_STATUS_VAL 0x8000000000000000 +#define MC_MISC_RA_LSB 0x000000000000003f /* If MCG_CAP_SER_P */ +#define MC_MISC_ADDRESS_MODE 0x00000000000001c0 /* If MCG_CAP_SER_P */ +#define MC_CTL2_THRESHOLD 0x0000000000003fff +#define MC_CTL2_CMCI_EN 0x0000000040000000 /* * The following four 3-byte registers control the non-cacheable regions. @@ -507,7 +507,6 @@ #define MSR_TOP_MEM2 0xc001001d /* boundary for ram above 4G */ #define MSR_K8_UCODE_UPDATE 0xc0010020 /* update microcode */ #define MSR_MC0_CTL_MASK 0xc0010044 -#define MSR_MC1_CTL_MASK 0xc0010045 /* VIA ACE crypto featureset: for via_feature_rng */ #define VIA_HAS_RNG 1 /* cpu has RNG */ Modified: projects/altix/sys/arm/arm/pmap.c ============================================================================== --- projects/altix/sys/arm/arm/pmap.c Mon Mar 22 18:43:36 2010 (r205455) +++ projects/altix/sys/arm/arm/pmap.c Mon Mar 22 18:50:57 2010 (r205456) @@ -1605,10 +1605,11 @@ pmap_enter_pv(struct vm_page *pg, struct pve->pv_flags = PVF_WRITE | PVF_UNMAN; pg->md.pv_kva = 0; + if (!(km = PMAP_OWNED(pmap_kernel()))) + PMAP_LOCK(pmap_kernel()); TAILQ_INSERT_HEAD(&pg->md.pv_list, pve, pv_list); - TAILQ_INSERT_HEAD(&pm->pm_pvlist, pve, pv_plist); - if ((km = PMAP_OWNED(pmap_kernel()))) - PMAP_UNLOCK(pmap_kernel()); + TAILQ_INSERT_HEAD(&pve->pv_pmap->pm_pvlist, pve, pv_plist); + PMAP_UNLOCK(pmap_kernel()); vm_page_unlock_queues(); if ((pve = pmap_get_pv_entry()) == NULL) panic("pmap_kenter_internal: no pv entries"); @@ -1712,6 +1713,7 @@ pmap_nuke_pv(struct vm_page *pg, pmap_t pv = TAILQ_FIRST(&pg->md.pv_list); if (pv != NULL && (pv->pv_flags & PVF_UNMAN) && TAILQ_NEXT(pv, pv_list) == NULL) { + pm = kernel_pmap; pg->md.pv_kva = pv->pv_va; /* a recursive pmap_nuke_pv */ TAILQ_REMOVE(&pg->md.pv_list, pv, pv_list); Copied: projects/altix/sys/arm/conf/LN2410SBC (from r205454, head/sys/arm/conf/LN2410SBC) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/altix/sys/arm/conf/LN2410SBC Mon Mar 22 18:50:57 2010 (r205456, copy of r205454, head/sys/arm/conf/LN2410SBC) @@ -0,0 +1,87 @@ +# LN2410SBC -- Custom kernel configuration for the LN2410SBC +# +# For more information on this file, please read the handbook section on +# Kernel Configuration Files: +# +# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# +# $FreeBSD$ + +machine arm +ident LN2410SBC + +include "../s3c2xx0/std.ln2410sbc" +#To statically compile in device wiring instead of /boot/device.hints +#hints "GENERIC.hints" #Default places to look for devices. +makeoptions MODULES_OVERRIDE="" + +device board_ln2410sbc + +makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols +options HZ=100 +options DDB +options KDB + +options SCHED_4BSD #4BSD scheduler +options INET #InterNETworking +#options INET6 #IPv6 communications protocols +options FFS #Berkeley Fast Filesystem +#options SOFTUPDATES #Enable FFS soft updates support +#options UFS_ACL #Support for access control lists +#options UFS_DIRHASH #Improve performance on big directories +#options MD_ROOT #MD is a potential root device +#options MD_ROOT_SIZE=4096 # 4MB ram disk +options ROOTDEVNAME=\"ufs:da0s1\" + +#options BOOTP +#options BOOTP_NFSROOT # NFS mount root filesystem using BOOTP info +#options NFSCLIENT #Network File System client +#options NFS_ROOT #NFS usable as root device + +options PSEUDOFS #Pseudo-filesystem framework +#options SCSI_DELAY=5000 #Delay (in ms) before probing SCSI +options KTRACE #ktrace(1) support +options SYSVSHM #SYSV-style shared memory +options SYSVMSG #SYSV-style message queues +options SYSVSEM #SYSV-style semaphores +options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions + +options MUTEX_NOINLINE +options RWLOCK_NOINLINE +options SX_NOINLINE + +options NO_FFS_SNAPSHOT +options NO_SWAPPING +device random +device pty + +device loop +device ether +device bpf + +device uart + +# Debugging for use in -current +options INVARIANTS #Enable calls of extra sanity checking +options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS +options WITNESS #Enable checks to detect deadlocks and cycles +options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed + +device md + +device usb +device ohci +device umass +device scbus # SCSI bus (required for da) +device da # Direct Access (disks) + Modified: projects/altix/sys/cam/scsi/scsi_sg.c ============================================================================== --- projects/altix/sys/cam/scsi/scsi_sg.c Mon Mar 22 18:43:36 2010 (r205455) +++ projects/altix/sys/cam/scsi/scsi_sg.c Mon Mar 22 18:50:57 2010 (r205456) @@ -586,7 +586,7 @@ sgioctl(struct cdev *dev, u_long cmd, ca { struct sg_scsi_id id; - id.host_no = 0; /* XXX */ + id.host_no = cam_sim_path(xpt_path_sim(periph->path)); id.channel = xpt_path_path_id(periph->path); id.scsi_id = xpt_path_target_id(periph->path); id.lun = xpt_path_lun_id(periph->path); Modified: projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c ============================================================================== --- projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Mon Mar 22 18:43:36 2010 (r205455) +++ projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Mon Mar 22 18:50:57 2010 (r205456) @@ -224,7 +224,7 @@ extern kmem_cache_t *zio_data_buf_cache[ * second level ARC benefit from these fast lookups. */ -#define ARCS_LOCK_PAD 128 +#define ARCS_LOCK_PAD CACHE_LINE_SIZE struct arcs_lock { kmutex_t arcs_lock; #ifdef _KERNEL @@ -244,7 +244,7 @@ typedef struct arc_state { uint64_t arcs_lsize[ARC_BUFC_NUMTYPES]; /* amount of evictable data */ uint64_t arcs_size; /* total amount of data in this state */ list_t arcs_lists[ARC_BUFC_NUMLISTS]; /* list of evictable buffers */ - struct arcs_lock arcs_locks[ARC_BUFC_NUMLISTS] __aligned(128); + struct arcs_lock arcs_locks[ARC_BUFC_NUMLISTS] __aligned(CACHE_LINE_SIZE); } arc_state_t; #define ARCS_LOCK(s, i) &((s)->arcs_locks[(i)].arcs_lock) @@ -568,7 +568,7 @@ static void arc_evict_ghost(arc_state_t * Hash table routines */ -#define HT_LOCK_PAD 128 +#define HT_LOCK_PAD CACHE_LINE_SIZE struct ht_lock { kmutex_t ht_lock; @@ -581,7 +581,7 @@ struct ht_lock { typedef struct buf_hash_table { uint64_t ht_mask; arc_buf_hdr_t **ht_table; - struct ht_lock ht_locks[BUF_LOCKS]; + struct ht_lock ht_locks[BUF_LOCKS] __aligned(CACHE_LINE_SIZE); } buf_hash_table_t; static buf_hash_table_t buf_hash_table; Modified: projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c ============================================================================== --- projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Mon Mar 22 18:43:36 2010 (r205455) +++ projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Mon Mar 22 18:50:57 2010 (r205456) @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -505,17 +506,26 @@ vdev_geom_open(vdev_t *vd, uint64_t *psi if ((owned = mtx_owned(&Giant))) mtx_unlock(&Giant); error = 0; - cp = vdev_geom_open_by_path(vd, 1); - if (cp == NULL) { - /* - * The device at vd->vdev_path doesn't have the expected guid. - * The disks might have merely moved around so try all other - * geom providers to find one with the right guid. - */ - cp = vdev_geom_open_by_guid(vd); - } - if (cp == NULL) + + /* + * If we're creating pool, just find GEOM provider by its name + * and ignore GUID mismatches. + */ + if (vd->vdev_spa->spa_load_state == SPA_LOAD_NONE) cp = vdev_geom_open_by_path(vd, 0); + else { + cp = vdev_geom_open_by_path(vd, 1); + if (cp == NULL) { + /* + * The device at vd->vdev_path doesn't have the + * expected guid. The disks might have merely + * moved around so try all other GEOM providers + * to find one with the right guid. + */ + cp = vdev_geom_open_by_guid(vd); + } + } + if (cp == NULL) { ZFS_LOG(1, "Provider %s not found.", vd->vdev_path); error = ENOENT; Modified: projects/altix/sys/compat/freebsd32/freebsd32.h ============================================================================== --- projects/altix/sys/compat/freebsd32/freebsd32.h Mon Mar 22 18:43:36 2010 (r205455) +++ projects/altix/sys/compat/freebsd32/freebsd32.h Mon Mar 22 18:50:57 2010 (r205456) @@ -221,4 +221,12 @@ struct prpsinfo32 { char pr_psargs[PRARGSZ+1]; }; +struct mq_attr32 { + int mq_flags; + int mq_maxmsg; + int mq_msgsize; + int mq_curmsgs; + int __reserved[4]; +}; + #endif /* !_COMPAT_FREEBSD32_FREEBSD32_H_ */ Modified: projects/altix/sys/compat/freebsd32/freebsd32_ipc.h ============================================================================== --- projects/altix/sys/compat/freebsd32/freebsd32_ipc.h Mon Mar 22 18:43:36 2010 (r205455) +++ projects/altix/sys/compat/freebsd32/freebsd32_ipc.h Mon Mar 22 18:50:57 2010 (r205456) @@ -147,6 +147,14 @@ struct shmid_ds32_old { int32_t shm_ctime; uint32_t shm_internal; }; + +void freebsd32_ipcperm_old_in(struct ipc_perm32_old *ip32, + struct ipc_perm *ip); +void freebsd32_ipcperm_old_out(struct ipc_perm *ip, + struct ipc_perm32_old *ip32); #endif +void freebsd32_ipcperm_in(struct ipc_perm32 *ip32, struct ipc_perm *ip); +void freebsd32_ipcperm_out(struct ipc_perm *ip, struct ipc_perm32 *ip32); + #endif /* !_COMPAT_FREEBSD32_FREEBSD32_IPC_H_ */ Modified: projects/altix/sys/compat/freebsd32/freebsd32_misc.c ============================================================================== --- projects/altix/sys/compat/freebsd32/freebsd32_misc.c Mon Mar 22 18:43:36 2010 (r205455) +++ projects/altix/sys/compat/freebsd32/freebsd32_misc.c Mon Mar 22 18:50:57 2010 (r205456) @@ -873,7 +873,7 @@ freebsd32_pwritev(struct thread *td, str return (error); } -static int +int freebsd32_copyiniov(struct iovec32 *iovp32, u_int iovcnt, struct iovec **iovp, int error) { @@ -1400,591 +1400,6 @@ freebsd4_freebsd32_fhstatfs(struct threa } #endif -#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \ - defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7) -static void -freebsd32_ipcperm_old_in(struct ipc_perm32_old *ip32, struct ipc_perm *ip) -{ - - CP(*ip32, *ip, cuid); - CP(*ip32, *ip, cgid); - CP(*ip32, *ip, uid); - CP(*ip32, *ip, gid); - CP(*ip32, *ip, mode); - CP(*ip32, *ip, seq); - CP(*ip32, *ip, key); -} - -static void -freebsd32_ipcperm_old_out(struct ipc_perm *ip, struct ipc_perm32_old *ip32) -{ - - CP(*ip, *ip32, cuid); - CP(*ip, *ip32, cgid); - CP(*ip, *ip32, uid); - CP(*ip, *ip32, gid); - CP(*ip, *ip32, mode); - CP(*ip, *ip32, seq); - CP(*ip, *ip32, key); -} -#endif - -static void -freebsd32_ipcperm_in(struct ipc_perm32 *ip32, struct ipc_perm *ip) -{ - - CP(*ip32, *ip, cuid); - CP(*ip32, *ip, cgid); - CP(*ip32, *ip, uid); - CP(*ip32, *ip, gid); - CP(*ip32, *ip, mode); - CP(*ip32, *ip, seq); - CP(*ip32, *ip, key); -} - -static void -freebsd32_ipcperm_out(struct ipc_perm *ip, struct ipc_perm32 *ip32) -{ - - CP(*ip, *ip32, cuid); - CP(*ip, *ip32, cgid); - CP(*ip, *ip32, uid); - CP(*ip, *ip32, gid); - CP(*ip, *ip32, mode); - CP(*ip, *ip32, seq); - CP(*ip, *ip32, key); -} - -int -freebsd32_semsys(struct thread *td, struct freebsd32_semsys_args *uap) -{ - -#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \ - defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7) - switch (uap->which) { - case 0: - return (freebsd7_freebsd32_semctl(td, - (struct freebsd7_freebsd32_semctl_args *)&uap->a2)); - default: - return (semsys(td, (struct semsys_args *)uap)); - } -#else - return (nosys(td, NULL)); -#endif -} - -#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \ - defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7) -int -freebsd7_freebsd32_semctl(struct thread *td, - struct freebsd7_freebsd32_semctl_args *uap) -{ - struct semid_ds32_old dsbuf32; - struct semid_ds dsbuf; - union semun semun; - union semun32 arg; - register_t rval; - int error; - - switch (uap->cmd) { - case SEM_STAT: - case IPC_SET: - case IPC_STAT: - case GETALL: - case SETVAL: - case SETALL: - error = copyin(uap->arg, &arg, sizeof(arg)); - if (error) - return (error); - break; - } - - switch (uap->cmd) { - case SEM_STAT: - case IPC_STAT: - semun.buf = &dsbuf; - break; - case IPC_SET: - error = copyin(PTRIN(arg.buf), &dsbuf32, sizeof(dsbuf32)); - if (error) - return (error); - freebsd32_ipcperm_old_in(&dsbuf32.sem_perm, &dsbuf.sem_perm); - PTRIN_CP(dsbuf32, dsbuf, sem_base); - CP(dsbuf32, dsbuf, sem_nsems); - CP(dsbuf32, dsbuf, sem_otime); - CP(dsbuf32, dsbuf, sem_ctime); - semun.buf = &dsbuf; - break; - case GETALL: - case SETALL: - semun.array = PTRIN(arg.array); - break; - case SETVAL: - semun.val = arg.val; - break; - } - - error = kern_semctl(td, uap->semid, uap->semnum, uap->cmd, &semun, - &rval); - if (error) - return (error); - - switch (uap->cmd) { - case SEM_STAT: - case IPC_STAT: - bzero(&dsbuf32, sizeof(dsbuf32)); - freebsd32_ipcperm_old_out(&dsbuf.sem_perm, &dsbuf32.sem_perm); - PTROUT_CP(dsbuf, dsbuf32, sem_base); - CP(dsbuf, dsbuf32, sem_nsems); - CP(dsbuf, dsbuf32, sem_otime); - CP(dsbuf, dsbuf32, sem_ctime); - error = copyout(&dsbuf32, PTRIN(arg.buf), sizeof(dsbuf32)); - break; - } - - if (error == 0) - td->td_retval[0] = rval; - return (error); -} -#endif - -int -freebsd32_semctl(struct thread *td, struct freebsd32_semctl_args *uap) -{ - struct semid_ds32 dsbuf32; - struct semid_ds dsbuf; - union semun semun; - union semun32 arg; - register_t rval; - int error; - - switch (uap->cmd) { - case SEM_STAT: - case IPC_SET: - case IPC_STAT: - case GETALL: - case SETVAL: - case SETALL: - error = copyin(uap->arg, &arg, sizeof(arg)); - if (error) - return (error); - break; - } - - switch (uap->cmd) { - case SEM_STAT: - case IPC_STAT: - semun.buf = &dsbuf; - break; - case IPC_SET: - error = copyin(PTRIN(arg.buf), &dsbuf32, sizeof(dsbuf32)); - if (error) - return (error); - freebsd32_ipcperm_in(&dsbuf32.sem_perm, &dsbuf.sem_perm); - PTRIN_CP(dsbuf32, dsbuf, sem_base); - CP(dsbuf32, dsbuf, sem_nsems); - CP(dsbuf32, dsbuf, sem_otime); - CP(dsbuf32, dsbuf, sem_ctime); - semun.buf = &dsbuf; - break; - case GETALL: - case SETALL: - semun.array = PTRIN(arg.array); - break; - case SETVAL: - semun.val = arg.val; - break; - } - - error = kern_semctl(td, uap->semid, uap->semnum, uap->cmd, &semun, - &rval); - if (error) - return (error); - - switch (uap->cmd) { - case SEM_STAT: - case IPC_STAT: - bzero(&dsbuf32, sizeof(dsbuf32)); - freebsd32_ipcperm_out(&dsbuf.sem_perm, &dsbuf32.sem_perm); - PTROUT_CP(dsbuf, dsbuf32, sem_base); - CP(dsbuf, dsbuf32, sem_nsems); - CP(dsbuf, dsbuf32, sem_otime); - CP(dsbuf, dsbuf32, sem_ctime); - error = copyout(&dsbuf32, PTRIN(arg.buf), sizeof(dsbuf32)); - break; - } - - if (error == 0) - td->td_retval[0] = rval; - return (error); -} - -int -freebsd32_msgsys(struct thread *td, struct freebsd32_msgsys_args *uap) -{ - -#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \ - defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7) - switch (uap->which) { - case 0: - return (freebsd7_freebsd32_msgctl(td, - (struct freebsd7_freebsd32_msgctl_args *)&uap->a2)); - case 2: - return (freebsd32_msgsnd(td, - (struct freebsd32_msgsnd_args *)&uap->a2)); - case 3: - return (freebsd32_msgrcv(td, - (struct freebsd32_msgrcv_args *)&uap->a2)); - default: - return (msgsys(td, (struct msgsys_args *)uap)); - } -#else - return (nosys(td, NULL)); -#endif -} - -#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \ - defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7) -int -freebsd7_freebsd32_msgctl(struct thread *td, - struct freebsd7_freebsd32_msgctl_args *uap) -{ - struct msqid_ds msqbuf; - struct msqid_ds32_old msqbuf32; - int error; - - if (uap->cmd == IPC_SET) { - error = copyin(uap->buf, &msqbuf32, sizeof(msqbuf32)); - if (error) - return (error); - freebsd32_ipcperm_old_in(&msqbuf32.msg_perm, &msqbuf.msg_perm); - PTRIN_CP(msqbuf32, msqbuf, msg_first); - PTRIN_CP(msqbuf32, msqbuf, msg_last); - CP(msqbuf32, msqbuf, msg_cbytes); - CP(msqbuf32, msqbuf, msg_qnum); - CP(msqbuf32, msqbuf, msg_qbytes); - CP(msqbuf32, msqbuf, msg_lspid); - CP(msqbuf32, msqbuf, msg_lrpid); - CP(msqbuf32, msqbuf, msg_stime); - CP(msqbuf32, msqbuf, msg_rtime); - CP(msqbuf32, msqbuf, msg_ctime); - } - error = kern_msgctl(td, uap->msqid, uap->cmd, &msqbuf); - if (error) - return (error); - if (uap->cmd == IPC_STAT) { - bzero(&msqbuf32, sizeof(msqbuf32)); - freebsd32_ipcperm_old_out(&msqbuf.msg_perm, &msqbuf32.msg_perm); - PTROUT_CP(msqbuf, msqbuf32, msg_first); - PTROUT_CP(msqbuf, msqbuf32, msg_last); - CP(msqbuf, msqbuf32, msg_cbytes); - CP(msqbuf, msqbuf32, msg_qnum); - CP(msqbuf, msqbuf32, msg_qbytes); - CP(msqbuf, msqbuf32, msg_lspid); - CP(msqbuf, msqbuf32, msg_lrpid); - CP(msqbuf, msqbuf32, msg_stime); - CP(msqbuf, msqbuf32, msg_rtime); - CP(msqbuf, msqbuf32, msg_ctime); - error = copyout(&msqbuf32, uap->buf, sizeof(struct msqid_ds32)); - } - return (error); -} -#endif - -int -freebsd32_msgctl(struct thread *td, struct freebsd32_msgctl_args *uap) -{ - struct msqid_ds msqbuf; - struct msqid_ds32 msqbuf32; - int error; - - if (uap->cmd == IPC_SET) { - error = copyin(uap->buf, &msqbuf32, sizeof(msqbuf32)); - if (error) - return (error); - freebsd32_ipcperm_in(&msqbuf32.msg_perm, &msqbuf.msg_perm); - PTRIN_CP(msqbuf32, msqbuf, msg_first); - PTRIN_CP(msqbuf32, msqbuf, msg_last); - CP(msqbuf32, msqbuf, msg_cbytes); - CP(msqbuf32, msqbuf, msg_qnum); - CP(msqbuf32, msqbuf, msg_qbytes); - CP(msqbuf32, msqbuf, msg_lspid); - CP(msqbuf32, msqbuf, msg_lrpid); - CP(msqbuf32, msqbuf, msg_stime); - CP(msqbuf32, msqbuf, msg_rtime); - CP(msqbuf32, msqbuf, msg_ctime); - } - error = kern_msgctl(td, uap->msqid, uap->cmd, &msqbuf); - if (error) - return (error); - if (uap->cmd == IPC_STAT) { - freebsd32_ipcperm_out(&msqbuf.msg_perm, &msqbuf32.msg_perm); - PTROUT_CP(msqbuf, msqbuf32, msg_first); - PTROUT_CP(msqbuf, msqbuf32, msg_last); - CP(msqbuf, msqbuf32, msg_cbytes); - CP(msqbuf, msqbuf32, msg_qnum); - CP(msqbuf, msqbuf32, msg_qbytes); - CP(msqbuf, msqbuf32, msg_lspid); - CP(msqbuf, msqbuf32, msg_lrpid); - CP(msqbuf, msqbuf32, msg_stime); - CP(msqbuf, msqbuf32, msg_rtime); - CP(msqbuf, msqbuf32, msg_ctime); - error = copyout(&msqbuf32, uap->buf, sizeof(struct msqid_ds32)); - } - return (error); -} - -int -freebsd32_msgsnd(struct thread *td, struct freebsd32_msgsnd_args *uap) -{ - const void *msgp; - long mtype; - int32_t mtype32; - int error; - - msgp = PTRIN(uap->msgp); - if ((error = copyin(msgp, &mtype32, sizeof(mtype32))) != 0) - return (error); - mtype = mtype32; - return (kern_msgsnd(td, uap->msqid, - (const char *)msgp + sizeof(mtype32), - uap->msgsz, uap->msgflg, mtype)); -} - -int -freebsd32_msgrcv(struct thread *td, struct freebsd32_msgrcv_args *uap) -{ - void *msgp; - long mtype; - int32_t mtype32; - int error; - - msgp = PTRIN(uap->msgp); - if ((error = kern_msgrcv(td, uap->msqid, - (char *)msgp + sizeof(mtype32), uap->msgsz, - uap->msgtyp, uap->msgflg, &mtype)) != 0) - return (error); - mtype32 = (int32_t)mtype; - return (copyout(&mtype32, msgp, sizeof(mtype32))); -} - -int -freebsd32_shmsys(struct thread *td, struct freebsd32_shmsys_args *uap) -{ - -#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \ - defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7) - switch (uap->which) { - case 0: { /* shmat */ - struct shmat_args ap; - - ap.shmid = uap->a2; - ap.shmaddr = PTRIN(uap->a3); - ap.shmflg = uap->a4; - return (sysent[SYS_shmat].sy_call(td, &ap)); - } - case 2: { /* shmdt */ - struct shmdt_args ap; - - ap.shmaddr = PTRIN(uap->a2); - return (sysent[SYS_shmdt].sy_call(td, &ap)); - } - case 3: { /* shmget */ - struct shmget_args ap; - - ap.key = uap->a2; - ap.size = uap->a3; - ap.shmflg = uap->a4; - return (sysent[SYS_shmget].sy_call(td, &ap)); - } - case 4: { /* shmctl */ - struct freebsd7_freebsd32_shmctl_args ap; - - ap.shmid = uap->a2; - ap.cmd = uap->a3; - ap.buf = PTRIN(uap->a4); - return (freebsd7_freebsd32_shmctl(td, &ap)); - } - case 1: /* oshmctl */ - default: - return (EINVAL); - } -#else - return (nosys(td, NULL)); -#endif -} - -#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \ - defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7) -int -freebsd7_freebsd32_shmctl(struct thread *td, - struct freebsd7_freebsd32_shmctl_args *uap) -{ - int error = 0; - union { - struct shmid_ds shmid_ds; - struct shm_info shm_info; - struct shminfo shminfo; - } u; - union { - struct shmid_ds32_old shmid_ds32; - struct shm_info32 shm_info32; - struct shminfo32 shminfo32; - } u32; - size_t sz; - - if (uap->cmd == IPC_SET) { - if ((error = copyin(uap->buf, &u32.shmid_ds32, - sizeof(u32.shmid_ds32)))) - goto done; - freebsd32_ipcperm_old_in(&u32.shmid_ds32.shm_perm, - &u.shmid_ds.shm_perm); - CP(u32.shmid_ds32, u.shmid_ds, shm_segsz); - CP(u32.shmid_ds32, u.shmid_ds, shm_lpid); - CP(u32.shmid_ds32, u.shmid_ds, shm_cpid); - CP(u32.shmid_ds32, u.shmid_ds, shm_nattch); - CP(u32.shmid_ds32, u.shmid_ds, shm_atime); - CP(u32.shmid_ds32, u.shmid_ds, shm_dtime); - CP(u32.shmid_ds32, u.shmid_ds, shm_ctime); - } - - error = kern_shmctl(td, uap->shmid, uap->cmd, (void *)&u, &sz); - if (error) - goto done; - - /* Cases in which we need to copyout */ - switch (uap->cmd) { - case IPC_INFO: - CP(u.shminfo, u32.shminfo32, shmmax); - CP(u.shminfo, u32.shminfo32, shmmin); - CP(u.shminfo, u32.shminfo32, shmmni); - CP(u.shminfo, u32.shminfo32, shmseg); - CP(u.shminfo, u32.shminfo32, shmall); - error = copyout(&u32.shminfo32, uap->buf, - sizeof(u32.shminfo32)); - break; - case SHM_INFO: - CP(u.shm_info, u32.shm_info32, used_ids); - CP(u.shm_info, u32.shm_info32, shm_rss); - CP(u.shm_info, u32.shm_info32, shm_tot); - CP(u.shm_info, u32.shm_info32, shm_swp); - CP(u.shm_info, u32.shm_info32, swap_attempts); - CP(u.shm_info, u32.shm_info32, swap_successes); - error = copyout(&u32.shm_info32, uap->buf, - sizeof(u32.shm_info32)); - break; - case SHM_STAT: - case IPC_STAT: - freebsd32_ipcperm_old_out(&u.shmid_ds.shm_perm, - &u32.shmid_ds32.shm_perm); - if (u.shmid_ds.shm_segsz > INT32_MAX) - u32.shmid_ds32.shm_segsz = INT32_MAX; - else - CP(u.shmid_ds, u32.shmid_ds32, shm_segsz); - CP(u.shmid_ds, u32.shmid_ds32, shm_lpid); - CP(u.shmid_ds, u32.shmid_ds32, shm_cpid); - CP(u.shmid_ds, u32.shmid_ds32, shm_nattch); - CP(u.shmid_ds, u32.shmid_ds32, shm_atime); - CP(u.shmid_ds, u32.shmid_ds32, shm_dtime); - CP(u.shmid_ds, u32.shmid_ds32, shm_ctime); - u32.shmid_ds32.shm_internal = 0; - error = copyout(&u32.shmid_ds32, uap->buf, - sizeof(u32.shmid_ds32)); - break; - } - -done: - if (error) { - /* Invalidate the return value */ - td->td_retval[0] = -1; - } - return (error); -} -#endif - -int -freebsd32_shmctl(struct thread *td, struct freebsd32_shmctl_args *uap) -{ - int error = 0; - union { - struct shmid_ds shmid_ds; - struct shm_info shm_info; - struct shminfo shminfo; - } u; - union { - struct shmid_ds32 shmid_ds32; - struct shm_info32 shm_info32; - struct shminfo32 shminfo32; - } u32; - size_t sz; - - if (uap->cmd == IPC_SET) { - if ((error = copyin(uap->buf, &u32.shmid_ds32, - sizeof(u32.shmid_ds32)))) - goto done; - freebsd32_ipcperm_in(&u32.shmid_ds32.shm_perm, - &u.shmid_ds.shm_perm); - CP(u32.shmid_ds32, u.shmid_ds, shm_segsz); - CP(u32.shmid_ds32, u.shmid_ds, shm_lpid); - CP(u32.shmid_ds32, u.shmid_ds, shm_cpid); - CP(u32.shmid_ds32, u.shmid_ds, shm_nattch); - CP(u32.shmid_ds32, u.shmid_ds, shm_atime); - CP(u32.shmid_ds32, u.shmid_ds, shm_dtime); - CP(u32.shmid_ds32, u.shmid_ds, shm_ctime); - } - - error = kern_shmctl(td, uap->shmid, uap->cmd, (void *)&u, &sz); - if (error) - goto done; - - /* Cases in which we need to copyout */ - switch (uap->cmd) { - case IPC_INFO: - CP(u.shminfo, u32.shminfo32, shmmax); - CP(u.shminfo, u32.shminfo32, shmmin); - CP(u.shminfo, u32.shminfo32, shmmni); - CP(u.shminfo, u32.shminfo32, shmseg); - CP(u.shminfo, u32.shminfo32, shmall); - error = copyout(&u32.shminfo32, uap->buf, - sizeof(u32.shminfo32)); - break; - case SHM_INFO: - CP(u.shm_info, u32.shm_info32, used_ids); - CP(u.shm_info, u32.shm_info32, shm_rss); - CP(u.shm_info, u32.shm_info32, shm_tot); - CP(u.shm_info, u32.shm_info32, shm_swp); - CP(u.shm_info, u32.shm_info32, swap_attempts); - CP(u.shm_info, u32.shm_info32, swap_successes); - error = copyout(&u32.shm_info32, uap->buf, - sizeof(u32.shm_info32)); - break; - case SHM_STAT: - case IPC_STAT: - freebsd32_ipcperm_out(&u.shmid_ds.shm_perm, - &u32.shmid_ds32.shm_perm); - if (u.shmid_ds.shm_segsz > INT32_MAX) - u32.shmid_ds32.shm_segsz = INT32_MAX; - else - CP(u.shmid_ds, u32.shmid_ds32, shm_segsz); - CP(u.shmid_ds, u32.shmid_ds32, shm_lpid); - CP(u.shmid_ds, u32.shmid_ds32, shm_cpid); - CP(u.shmid_ds, u32.shmid_ds32, shm_nattch); - CP(u.shmid_ds, u32.shmid_ds32, shm_atime); - CP(u.shmid_ds, u32.shmid_ds32, shm_dtime); - CP(u.shmid_ds, u32.shmid_ds32, shm_ctime); - error = copyout(&u32.shmid_ds32, uap->buf, - sizeof(u32.shmid_ds32)); - break; - } - -done: - if (error) { - /* Invalidate the return value */ - td->td_retval[0] = -1; - } - return (error); -} - int freebsd32_pread(struct thread *td, struct freebsd32_pread_args *uap) { @@ -3084,6 +2499,36 @@ syscall32_module_handler(struct module * } } +int +syscall32_helper_register(struct syscall_helper_data *sd) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Mon Mar 22 18:51:56 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5C46B106564A; Mon, 22 Mar 2010 18:51:56 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4BDE88FC14; Mon, 22 Mar 2010 18:51:56 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2MIpuCb009377; Mon, 22 Mar 2010 18:51:56 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2MIput2009374; Mon, 22 Mar 2010 18:51:56 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201003221851.o2MIput2009374@svn.freebsd.org> From: Marcel Moolenaar Date: Mon, 22 Mar 2010 18:51:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r205457 - projects/altix/lib/libstand X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Mar 2010 18:51:56 -0000 Author: marcel Date: Mon Mar 22 18:51:56 2010 New Revision: 205457 URL: http://svn.freebsd.org/changeset/base/205457 Log: Merge svn+ssh://svn.freebsd.org/base/head@205454 Modified: projects/altix/lib/libstand/bzipfs.c projects/altix/lib/libstand/gzipfs.c Directory Properties: projects/altix/lib/libstand/ (props changed) Modified: projects/altix/lib/libstand/bzipfs.c ============================================================================== --- projects/altix/lib/libstand/bzipfs.c Mon Mar 22 18:50:57 2010 (r205456) +++ projects/altix/lib/libstand/bzipfs.c Mon Mar 22 18:51:56 2010 (r205457) @@ -81,14 +81,6 @@ struct fs_ops bzipfs_fsops = { }; #endif -#if 0 -void * -calloc(int items, size_t size) -{ - return(malloc(items * size)); -} -#endif - static int bzf_fill(struct bz_file *bzf) { Modified: projects/altix/lib/libstand/gzipfs.c ============================================================================== --- projects/altix/lib/libstand/gzipfs.c Mon Mar 22 18:50:57 2010 (r205456) +++ projects/altix/lib/libstand/gzipfs.c Mon Mar 22 18:51:56 2010 (r205457) @@ -62,14 +62,6 @@ struct fs_ops gzipfs_fsops = { null_readdir }; -#if 0 -void * -calloc(int items, size_t size) -{ - return(malloc(items * size)); -} -#endif - static int zf_fill(struct z_file *zf) { From owner-svn-src-projects@FreeBSD.ORG Tue Mar 23 01:26:17 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 95E1D106564A; Tue, 23 Mar 2010 01:26:17 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8487C8FC1E; Tue, 23 Mar 2010 01:26:17 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2N1QHkg001434; Tue, 23 Mar 2010 01:26:17 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2N1QHoZ001432; Tue, 23 Mar 2010 01:26:17 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201003230126.o2N1QHoZ001432@svn.freebsd.org> From: Nathan Whitehorn Date: Tue, 23 Mar 2010 01:26:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r205499 - projects/ppc64/sys/powerpc/powerpc X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Mar 2010 01:26:17 -0000 Author: nwhitehorn Date: Tue Mar 23 01:26:17 2010 New Revision: 205499 URL: http://svn.freebsd.org/changeset/base/205499 Log: Provide a useful comment. Modified: projects/ppc64/sys/powerpc/powerpc/exec_machdep.c Modified: projects/ppc64/sys/powerpc/powerpc/exec_machdep.c ============================================================================== --- projects/ppc64/sys/powerpc/powerpc/exec_machdep.c Tue Mar 23 01:24:23 2010 (r205498) +++ projects/ppc64/sys/powerpc/powerpc/exec_machdep.c Tue Mar 23 01:26:17 2010 (r205499) @@ -890,7 +890,7 @@ cpu_set_syscall_retval(struct thread *td tf->fixreg[FIRSTARG] = td->td_retval[0]; tf->fixreg[FIRSTARG + 1] = td->td_retval[1]; } - tf->cr &= ~0x10000000; /* XXX: Magic number */ + tf->cr &= ~0x10000000; /* Unset summary overflow */ break; case ERESTART: /* @@ -904,7 +904,7 @@ cpu_set_syscall_retval(struct thread *td p->p_sysent->sv_errtbl[error] : -1; } tf->fixreg[FIRSTARG] = error; - tf->cr |= 0x10000000; /* XXX: Magic number */ + tf->cr |= 0x10000000; /* Set summary overflow */ break; } } From owner-svn-src-projects@FreeBSD.ORG Tue Mar 23 01:28:00 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 04456106564A; Tue, 23 Mar 2010 01:28:00 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E2D068FC08; Tue, 23 Mar 2010 01:27:59 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2N1RxWF002008; Tue, 23 Mar 2010 01:27:59 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2N1RxsA001988; Tue, 23 Mar 2010 01:27:59 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201003230127.o2N1RxsA001988@svn.freebsd.org> From: Nathan Whitehorn Date: Tue, 23 Mar 2010 01:27:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r205500 - in projects/ppc64: . contrib/openpam/include/security contrib/tzdata lib/csu/i386-elf lib/libc/gen lib/libc/sparc64/fpu lib/libc/sys lib/libz lib/libz/contrib lib/libz/doc sbi... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Mar 2010 01:28:00 -0000 Author: nwhitehorn Date: Tue Mar 23 01:27:59 2010 New Revision: 205500 URL: http://svn.freebsd.org/changeset/base/205500 Log: IFC @ r205497 (OFW concurrency fixes) Added: projects/ppc64/lib/libz/Symbol.map - copied unchanged from r205497, head/lib/libz/Symbol.map projects/ppc64/lib/libz/Versions.def - copied unchanged from r205497, head/lib/libz/Versions.def projects/ppc64/lib/libz/contrib/ - copied from r205497, head/lib/libz/contrib/ projects/ppc64/lib/libz/doc/ - copied from r205497, head/lib/libz/doc/ projects/ppc64/lib/libz/gzclose.c - copied unchanged from r205497, head/lib/libz/gzclose.c projects/ppc64/lib/libz/gzguts.h - copied unchanged from r205497, head/lib/libz/gzguts.h projects/ppc64/lib/libz/gzlib.c - copied unchanged from r205497, head/lib/libz/gzlib.c projects/ppc64/lib/libz/gzread.c - copied unchanged from r205497, head/lib/libz/gzread.c projects/ppc64/lib/libz/gzwrite.c - copied unchanged from r205497, head/lib/libz/gzwrite.c projects/ppc64/sys/netinet/ipfw/dn_sched_prio.c - copied unchanged from r205497, head/sys/netinet/ipfw/dn_sched_prio.c Deleted: projects/ppc64/lib/libz/algorithm.txt projects/ppc64/lib/libz/gzio.c Modified: projects/ppc64/ObsoleteFiles.inc projects/ppc64/contrib/openpam/include/security/pam_appl.h projects/ppc64/contrib/tzdata/antarctica projects/ppc64/contrib/tzdata/asia projects/ppc64/contrib/tzdata/australasia projects/ppc64/contrib/tzdata/zone.tab projects/ppc64/lib/csu/i386-elf/Makefile projects/ppc64/lib/libc/gen/opendir.c projects/ppc64/lib/libc/sparc64/fpu/fpu.c projects/ppc64/lib/libc/sparc64/fpu/fpu_div.c projects/ppc64/lib/libc/sparc64/fpu/fpu_explode.c projects/ppc64/lib/libc/sparc64/fpu/fpu_extern.h projects/ppc64/lib/libc/sparc64/fpu/fpu_implode.c projects/ppc64/lib/libc/sys/open.2 projects/ppc64/lib/libz/ChangeLog projects/ppc64/lib/libz/FAQ projects/ppc64/lib/libz/Makefile projects/ppc64/lib/libz/README projects/ppc64/lib/libz/adler32.c projects/ppc64/lib/libz/compress.c projects/ppc64/lib/libz/crc32.c projects/ppc64/lib/libz/deflate.c projects/ppc64/lib/libz/deflate.h projects/ppc64/lib/libz/example.c projects/ppc64/lib/libz/infback.c projects/ppc64/lib/libz/inffast.c projects/ppc64/lib/libz/inflate.c projects/ppc64/lib/libz/inflate.h projects/ppc64/lib/libz/inftrees.c projects/ppc64/lib/libz/inftrees.h projects/ppc64/lib/libz/minigzip.c (contents, props changed) projects/ppc64/lib/libz/trees.c projects/ppc64/lib/libz/uncompr.c projects/ppc64/lib/libz/zconf.h projects/ppc64/lib/libz/zlib.3 projects/ppc64/lib/libz/zlib.h projects/ppc64/lib/libz/zutil.c projects/ppc64/lib/libz/zutil.h projects/ppc64/sbin/geom/class/multipath/geom_multipath.c projects/ppc64/sbin/ipfw/ipfw.8 projects/ppc64/share/man/man4/ath.4 projects/ppc64/share/man/man9/uio.9 projects/ppc64/sys/amd64/amd64/mca.c projects/ppc64/sys/amd64/amd64/pmap.c projects/ppc64/sys/amd64/include/specialreg.h projects/ppc64/sys/arm/arm/pmap.c projects/ppc64/sys/compat/linux/linux_file.c projects/ppc64/sys/compat/x86bios/x86bios.c projects/ppc64/sys/conf/NOTES projects/ppc64/sys/conf/files projects/ppc64/sys/dev/ahci/ahci.c projects/ppc64/sys/dev/ofw/ofw_standard.c projects/ppc64/sys/dev/sound/pci/hda/hdac.c projects/ppc64/sys/geom/geom_dump.c projects/ppc64/sys/geom/multipath/g_multipath.c projects/ppc64/sys/i386/i386/trap.c projects/ppc64/sys/i386/include/specialreg.h projects/ppc64/sys/ia64/ia64/clock.c projects/ppc64/sys/ia64/ia64/db_machdep.c projects/ppc64/sys/ia64/ia64/exception.S projects/ppc64/sys/ia64/ia64/highfp.c projects/ppc64/sys/ia64/ia64/interrupt.c projects/ppc64/sys/ia64/ia64/mp_machdep.c projects/ppc64/sys/ia64/ia64/pmap.c projects/ppc64/sys/ia64/include/frame.h projects/ppc64/sys/ia64/include/pcb.h projects/ppc64/sys/ia64/include/pcpu.h projects/ppc64/sys/ia64/pci/pci_cfgreg.c projects/ppc64/sys/kern/vfs_syscalls.c projects/ppc64/sys/kern/vfs_vnops.c projects/ppc64/sys/net/flowtable.c projects/ppc64/sys/net/if_vlan.c projects/ppc64/sys/netinet/ip_input.c projects/ppc64/sys/netinet/ipfw/dn_sched.h projects/ppc64/sys/netinet/ipfw/ip_fw_private.h projects/ppc64/sys/netinet/ipfw/ip_fw_table.c projects/ppc64/sys/netinet/ipfw/test/Makefile projects/ppc64/sys/netinet/tcp_timer.c projects/ppc64/sys/powerpc/aim/ofw_machdep.c projects/ppc64/sys/powerpc/booke/trap_subr.S projects/ppc64/sys/powerpc/ofw/ofw_real.c projects/ppc64/sys/sparc64/include/wstate.h projects/ppc64/sys/sparc64/sparc64/exception.S projects/ppc64/sys/sparc64/sparc64/locore.S projects/ppc64/sys/sparc64/sparc64/machdep.c projects/ppc64/sys/sparc64/sparc64/pmap.c projects/ppc64/sys/sparc64/sparc64/support.S projects/ppc64/sys/sys/param.h projects/ppc64/sys/vm/uma_int.h projects/ppc64/tools/regression/usr.bin/ncal/regress.sh projects/ppc64/usr.bin/biff/biff.1 projects/ppc64/usr.bin/minigzip/Makefile projects/ppc64/usr.bin/ncal/ncal.1 projects/ppc64/usr.bin/ncal/ncal.c Directory Properties: projects/ppc64/ (props changed) projects/ppc64/contrib/expat/ (props changed) projects/ppc64/contrib/groff/ (props changed) projects/ppc64/contrib/one-true-awk/ (props changed) projects/ppc64/contrib/openpam/ (props changed) projects/ppc64/contrib/tzcode/stdtime/ (props changed) projects/ppc64/contrib/tzcode/zic/ (props changed) projects/ppc64/contrib/tzdata/ (props changed) projects/ppc64/lib/libz/ (props changed) projects/ppc64/sys/ (props changed) projects/ppc64/sys/contrib/x86emu/ (props changed) projects/ppc64/sys/dev/xen/xenpci/ (props changed) Modified: projects/ppc64/ObsoleteFiles.inc ============================================================================== --- projects/ppc64/ObsoleteFiles.inc Tue Mar 23 01:26:17 2010 (r205499) +++ projects/ppc64/ObsoleteFiles.inc Tue Mar 23 01:27:59 2010 (r205500) @@ -14,6 +14,11 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20100322: libz update +OLD_LIBS+=lib/libz.so.5 +.if ${TARGET_ARCH} == "amd64" +OLD_LIBS+=usr/lib32/libz.so.5 +.endif # 20100314: removal of regexp.h OLD_FILES+=usr/include/regexp.h OLD_FILES+=usr/share/man/man3/regexp.3.gz Modified: projects/ppc64/contrib/openpam/include/security/pam_appl.h ============================================================================== --- projects/ppc64/contrib/openpam/include/security/pam_appl.h Tue Mar 23 01:26:17 2010 (r205499) +++ projects/ppc64/contrib/openpam/include/security/pam_appl.h Tue Mar 23 01:27:59 2010 (r205500) @@ -72,8 +72,7 @@ pam_close_session(pam_handle_t *_pamh, int pam_end(pam_handle_t *_pamh, - int _status) - OPENPAM_NONNULL((1)); + int _status); int pam_get_data(const pam_handle_t *_pamh, Modified: projects/ppc64/contrib/tzdata/antarctica ============================================================================== --- projects/ppc64/contrib/tzdata/antarctica Tue Mar 23 01:26:17 2010 (r205499) +++ projects/ppc64/contrib/tzdata/antarctica Tue Mar 23 01:27:59 2010 (r205500) @@ -1,5 +1,5 @@ #
        -# @(#)antarctica	8.7
        +# @(#)antarctica	8.8
         # This file is in the public domain, so clarified as of
         # 2009-05-17 by Arthur David Olson.
         
        @@ -57,6 +57,33 @@ Rule	ChileAQ	1999	only	-	Apr	 4	3:00u	0	
         Rule	ChileAQ	1999	max	-	Oct	Sun>=9	4:00u	1:00	S
         Rule	ChileAQ	2000	max	-	Mar	Sun>=9	3:00u	0	-
         
        +# These rules are stolen from the `australasia' file.
        +Rule	AusAQ	1917	only	-	Jan	 1	0:01	1:00	-
        +Rule	AusAQ	1917	only	-	Mar	25	2:00	0	-
        +Rule	AusAQ	1942	only	-	Jan	 1	2:00	1:00	-
        +Rule	AusAQ	1942	only	-	Mar	29	2:00	0	-
        +Rule	AusAQ	1942	only	-	Sep	27	2:00	1:00	-
        +Rule	AusAQ	1943	1944	-	Mar	lastSun	2:00	0	-
        +Rule	AusAQ	1943	only	-	Oct	 3	2:00	1:00	-
        +Rule	ATAQ	1967	only	-	Oct	Sun>=1	2:00s	1:00	-
        +Rule	ATAQ	1968	only	-	Mar	lastSun	2:00s	0	-
        +Rule	ATAQ	1968	1985	-	Oct	lastSun	2:00s	1:00	-
        +Rule	ATAQ	1969	1971	-	Mar	Sun>=8	2:00s	0	-
        +Rule	ATAQ	1972	only	-	Feb	lastSun	2:00s	0	-
        +Rule	ATAQ	1973	1981	-	Mar	Sun>=1	2:00s	0	-
        +Rule	ATAQ	1982	1983	-	Mar	lastSun	2:00s	0	-
        +Rule	ATAQ	1984	1986	-	Mar	Sun>=1	2:00s	0	-
        +Rule	ATAQ	1986	only	-	Oct	Sun>=15	2:00s	1:00	-
        +Rule	ATAQ	1987	1990	-	Mar	Sun>=15	2:00s	0	-
        +Rule	ATAQ	1987	only	-	Oct	Sun>=22	2:00s	1:00	-
        +Rule	ATAQ	1988	1990	-	Oct	lastSun	2:00s	1:00	-
        +Rule	ATAQ	1991	1999	-	Oct	Sun>=1	2:00s	1:00	-
        +Rule	ATAQ	1991	2005	-	Mar	lastSun	2:00s	0	-
        +Rule	ATAQ	2000	only	-	Aug	lastSun	2:00s	1:00	-
        +Rule	ATAQ	2001	max	-	Oct	Sun>=1	2:00s	1:00	-
        +Rule	ATAQ	2006	only	-	Apr	Sun>=1	2:00s	0	-
        +Rule	ATAQ	2007	only	-	Mar	lastSun	2:00s	0	-
        +Rule	ATAQ	2008	max	-	Apr	Sun>=1	2:00s	0	-
         
         # Argentina - year-round bases
         # Belgrano II, Confin Coast, -770227-0343737, since 1972-02-05
        @@ -98,20 +125,52 @@ Rule	ChileAQ	2000	max	-	Mar	Sun>=9	3:00u
         # http://www.timeanddate.com/news/time/antarctica-new-times.html
         # 
         
        +# From Steffen Thorsen (2010-03-10):
        +# We got these changes from the Australian Antarctic Division:
        +# - Macquarie Island will stay on UTC+11 for winter and therefore not
        +# switch back from daylight savings time when other parts of Australia do
        +# on 4 April.
        +#
        +# - Casey station reverted to its normal time of UTC+8 on 5 March 2010.
        +# The change to UTC+11 is being considered as a regular summer thing but
        +# has not been decided yet.
        +#
        +# - Davis station will revert to its normal time of UTC+7 at 10 March 2010
        +# 20:00 UTC.
        +#
        +# - Mawson station stays on UTC+5.
        +#
        +# In addition to the Rule changes for Casey/Davis, it means that Macquarie
        +# will no longer be like Hobart and will have to have its own Zone created.
        +#
        +# Background:
        +# 
        +# http://www.timeanddate.com/news/time/antartica-time-changes-2010.html
        +# 
        +
         # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
         Zone Antarctica/Casey	0	-	zzz	1969
         			8:00	-	WST	2009 Oct 18 2:00
         						# Western (Aus) Standard Time
        -			11:00	-	CAST	# Casey Time
        +			11:00	-	CAST	2010 Mar 5 2:00
        +						# Casey Time
        +			8:00	-	WST
         Zone Antarctica/Davis	0	-	zzz	1957 Jan 13
         			7:00	-	DAVT	1964 Nov # Davis Time
         			0	-	zzz	1969 Feb
         			7:00	-	DAVT	2009 Oct 18 2:00
        -			5:00	-	DAVT
        +			5:00	-	DAVT	2010 Mar 10 20:00u
        +			7:00	-	DAVT
         Zone Antarctica/Mawson	0	-	zzz	1954 Feb 13
         			6:00	-	MAWT	2009 Oct 18 2:00
         						# Mawson Time
         			5:00	-	MAWT
        +Zone Antarctica/Macquarie 0	-	zzz	1911
        +			10:00	-	EST	1916 Oct 1 2:00
        +			10:00	1:00	EST	1917 Feb
        +			10:00	AusAQ	EST	1967
        +			10:00	ATAQ	EST	2010 Apr 4 3:00
        +			11:00	-	MIST	# Macquarie Island Time
         # References:
         # 
         # Casey Weather (1998-02-26)
        
        Modified: projects/ppc64/contrib/tzdata/asia
        ==============================================================================
        --- projects/ppc64/contrib/tzdata/asia	Tue Mar 23 01:26:17 2010	(r205499)
        +++ projects/ppc64/contrib/tzdata/asia	Tue Mar 23 01:27:59 2010	(r205500)
        @@ -1,4 +1,4 @@
        -# @(#)asia	8.55
        +# @(#)asia	8.56
         # This file is in the public domain, so clarified as of
         # 2009-05-17 by Arthur David Olson.
         
        @@ -2438,9 +2438,18 @@ Rule	Syria	2007	only	-	Nov	 Fri>=1	0:00	
         # Thursday of the month or the start of the last Friday of the month or
         # something else. For now, use the start of the last Friday.
         
        +# From Steffen Thorsen (2010-03-17):
        +# The "Syrian News Station" reported on 2010-03-16 that the Council of
        +# Ministers has decided that Syria will start DST on midnight Thursday
        +# 2010-04-01: (midnight between Thursday and Friday):
        +# 
        +# http://sns.sy/sns/?path=news/read/11421 (Arabic)
        +# 
        +
         Rule	Syria	2008	only	-	Apr	Fri>=1	0:00	1:00	S
         Rule	Syria	2008	only	-	Nov	1	0:00	0	-
        -Rule	Syria	2009	max	-	Mar	lastFri	0:00	1:00	S
        +Rule	Syria	2009	only	-	Mar	lastFri	0:00	1:00	S
        +Rule	Syria	2010	max	-	Apr	Fri>=1	0:00	1:00	S
         Rule	Syria	2009	max	-	Oct	lastFri	0:00	0	-
         
         # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
        
        Modified: projects/ppc64/contrib/tzdata/australasia
        ==============================================================================
        --- projects/ppc64/contrib/tzdata/australasia	Tue Mar 23 01:26:17 2010	(r205499)
        +++ projects/ppc64/contrib/tzdata/australasia	Tue Mar 23 01:27:59 2010	(r205500)
        @@ -1,5 +1,5 @@
         # 
        -# @(#)australasia	8.16
        +# @(#)australasia	8.17
         # This file is in the public domain, so clarified as of
         # 2009-05-17 by Arthur David Olson.
         
        @@ -490,7 +490,7 @@ Zone Pacific/Pago_Pago	 12:37:12 -	LMT	1
         Zone Pacific/Apia	 12:33:04 -	LMT	1879 Jul  5
         			-11:26:56 -	LMT	1911
         			-11:30	-	SAMT	1950		# Samoa Time
        -			-11:00	-	WST	2010 Oct 24
        +			-11:00	-	WST	2010 Sep 26
         			-11:00	1:00	WSDT	2011 Apr 3
         			-11:00	-	WST
         
        
        Modified: projects/ppc64/contrib/tzdata/zone.tab
        ==============================================================================
        --- projects/ppc64/contrib/tzdata/zone.tab	Tue Mar 23 01:26:17 2010	(r205499)
        +++ projects/ppc64/contrib/tzdata/zone.tab	Tue Mar 23 01:27:59 2010	(r205500)
        @@ -1,5 +1,5 @@
         # 
        -# @(#)zone.tab	8.33
        +# @(#)zone.tab	8.34
         # This file is in the public domain, so clarified as of
         # 2009-05-17 by Arthur David Olson.
         #
        @@ -44,6 +44,7 @@ AQ	-6617+11031	Antarctica/Casey	Casey St
         AQ	-7824+10654	Antarctica/Vostok	Vostok Station, S Magnetic Pole
         AQ	-6640+14001	Antarctica/DumontDUrville	Dumont-d'Urville Station, Terre Adelie
         AQ	-690022+0393524	Antarctica/Syowa	Syowa Station, E Ongul I
        +AQ	-5430+15857	Antarctica/Macquarie	Macquarie Island Station, Macquarie Island
         AR	-3436-05827	America/Argentina/Buenos_Aires	Buenos Aires (BA, CF)
         AR	-3124-06411	America/Argentina/Cordoba	most locations (CB, CC, CN, ER, FM, MN, SE, SF)
         AR	-2447-06525	America/Argentina/Salta	(SA, LP, NQ, RN)
        
        Modified: projects/ppc64/lib/csu/i386-elf/Makefile
        ==============================================================================
        --- projects/ppc64/lib/csu/i386-elf/Makefile	Tue Mar 23 01:26:17 2010	(r205499)
        +++ projects/ppc64/lib/csu/i386-elf/Makefile	Tue Mar 23 01:27:59 2010	(r205500)
        @@ -23,7 +23,7 @@ crt1.o:	crt1_c.o crt1_s.o
         	objcopy --localize-symbol _start1 crt1.o
         
         Scrt1_c.o:	crt1_c.c
        -	${CC} ${CFLAGS} -DGCRT -fPIC -DPIC -c -o Scrt1_c.o ${.CURDIR}/crt1_c.c
        +	${CC} ${CFLAGS} -fPIC -DPIC -c -o Scrt1_c.o ${.CURDIR}/crt1_c.c
         
         Scrt1.o: Scrt1_c.o crt1_s.o
         	${LD} ${LDFLAGS} -o Scrt1.o -r crt1_s.o Scrt1_c.o
        
        Modified: projects/ppc64/lib/libc/gen/opendir.c
        ==============================================================================
        --- projects/ppc64/lib/libc/gen/opendir.c	Tue Mar 23 01:26:17 2010	(r205499)
        +++ projects/ppc64/lib/libc/gen/opendir.c	Tue Mar 23 01:27:59 2010	(r205500)
        @@ -86,7 +86,7 @@ __opendir2(const char *name, int flags)
         		errno = ENOTDIR;
         		return (NULL);
         	}
        -	if ((fd = _open(name, O_RDONLY | O_NONBLOCK)) == -1)
        +	if ((fd = _open(name, O_RDONLY | O_NONBLOCK | O_DIRECTORY)) == -1)
         		return (NULL);
         
         	return __opendir_common(fd, name, flags);
        @@ -200,7 +200,7 @@ __opendir_common(int fd, const char *nam
         		 */
         		if (flags & DTF_REWIND) {
         			(void)_close(fd);
        -			if ((fd = _open(name, O_RDONLY)) == -1) {
        +			if ((fd = _open(name, O_RDONLY | O_DIRECTORY)) == -1) {
         				saved_errno = errno;
         				free(buf);
         				free(dirp);
        
        Modified: projects/ppc64/lib/libc/sparc64/fpu/fpu.c
        ==============================================================================
        --- projects/ppc64/lib/libc/sparc64/fpu/fpu.c	Tue Mar 23 01:26:17 2010	(r205499)
        +++ projects/ppc64/lib/libc/sparc64/fpu/fpu.c	Tue Mar 23 01:27:59 2010	(r205500)
        @@ -69,9 +69,12 @@ __FBSDID("$FreeBSD$");
         
         #include "namespace.h"
         #include 
        -#include 
         #include 
        +#ifdef FPU_DEBUG
        +#include 
        +#endif
         #include 
        +#include 
         #include "un-namespace.h"
         #include "libc_private.h"
         
        
        Modified: projects/ppc64/lib/libc/sparc64/fpu/fpu_div.c
        ==============================================================================
        --- projects/ppc64/lib/libc/sparc64/fpu/fpu_div.c	Tue Mar 23 01:26:17 2010	(r205499)
        +++ projects/ppc64/lib/libc/sparc64/fpu/fpu_div.c	Tue Mar 23 01:27:59 2010	(r205500)
        @@ -167,14 +167,16 @@ __fpu_div(fe)
         	 * return it.  Otherwise we have the following cases:
         	 *
         	 *	Inf / Inf = NaN, plus NV exception
        -	 *	Inf / num = Inf [i.e., return x]
        -	 *	Inf / 0   = Inf [i.e., return x]
        -	 *	0 / Inf = 0 [i.e., return x]
        -	 *	0 / num = 0 [i.e., return x]
        +	 *	Inf / num = Inf [i.e., return x #]
        +	 *	Inf / 0   = Inf [i.e., return x #]
        +	 *	0 / Inf = 0 [i.e., return x #]
        +	 *	0 / num = 0 [i.e., return x #]
         	 *	0 / 0   = NaN, plus NV exception
        -	 *	num / Inf = 0
        +	 *	num / Inf = 0 #
         	 *	num / num = num (do the divide)
        -	 *	num / 0   = Inf, plus DZ exception
        +	 *	num / 0   = Inf #, plus DZ exception
        +	 *
        +	 * # Sign of result is XOR of operand signs.
         	 */
         	if (ISNAN(x) || ISNAN(y)) {
         		ORDER(x, y);
        @@ -183,10 +185,10 @@ __fpu_div(fe)
         	if (ISINF(x) || ISZERO(x)) {
         		if (x->fp_class == y->fp_class)
         			return (__fpu_newnan(fe));
        +		x->fp_sign ^= y->fp_sign;
         		return (x);
         	}
         
        -	/* all results at this point use XOR of operand signs */
         	x->fp_sign ^= y->fp_sign;
         	if (ISINF(y)) {
         		x->fp_class = FPC_ZERO;
        
        Modified: projects/ppc64/lib/libc/sparc64/fpu/fpu_explode.c
        ==============================================================================
        --- projects/ppc64/lib/libc/sparc64/fpu/fpu_explode.c	Tue Mar 23 01:26:17 2010	(r205499)
        +++ projects/ppc64/lib/libc/sparc64/fpu/fpu_explode.c	Tue Mar 23 01:27:59 2010	(r205500)
        @@ -49,6 +49,10 @@ __FBSDID("$FreeBSD$");
         
         #include 
         
        +#ifdef FPU_DEBUG
        +#include 
        +#endif
        +
         #include 
         #include 
         #include 
        @@ -135,9 +139,9 @@ __fpu_xtof(fp, i)
         	 * a signed or unsigned entity.
         	 */
         	if (fp->fp_sign && (int64_t)i < 0)
        -		*((int64_t*)fp->fp_mant) = -i;
        +		*((int64_t *)fp->fp_mant) = -i;
         	else
        -		*((int64_t*)fp->fp_mant) = i;
        +		*((int64_t *)fp->fp_mant) = i;
         	fp->fp_mant[2] = 0;
         	fp->fp_mant[3] = 0;
         	__fpu_norm(fp);
        @@ -258,14 +262,12 @@ __fpu_explode(fe, fp, type, reg)
         	struct fpn *fp;
         	int type, reg;
         {
        -	u_int32_t s, *sp;
        -	u_int64_t l[2];
        -	void *vl = l;
        +	u_int64_t l0, l1;
        +	u_int32_t s;
         
         	if (type == FTYPE_LNG || type == FTYPE_DBL || type == FTYPE_EXT) {
        -		l[0] = __fpu_getreg64(reg & ~1);
        -		sp = vl;
        -		fp->fp_sign = sp[0] >> 31;
        +		l0 = __fpu_getreg64(reg & ~1);
        +		fp->fp_sign = l0 >> 63;
         	} else {
         		s = __fpu_getreg(reg);
         		fp->fp_sign = s >> 31;
        @@ -273,7 +275,7 @@ __fpu_explode(fe, fp, type, reg)
         	fp->fp_sticky = 0;
         	switch (type) {
         	case FTYPE_LNG:
        -		s = __fpu_xtof(fp, l[0]);
        +		s = __fpu_xtof(fp, l0);
         		break;
         
         	case FTYPE_INT:
        @@ -285,12 +287,13 @@ __fpu_explode(fe, fp, type, reg)
         		break;
         
         	case FTYPE_DBL:
        -		s = __fpu_dtof(fp, sp[0], sp[1]);
        +		s = __fpu_dtof(fp, l0 >> 32, l0 & 0xffffffff);
         		break;
         
         	case FTYPE_EXT:
        -		l[1] = __fpu_getreg64((reg & ~1) + 2);
        -		s = __fpu_qtof(fp, sp[0], sp[1], sp[2], sp[3]);
        +		l1 = __fpu_getreg64((reg & ~1) + 2);
        +		s = __fpu_qtof(fp, l0 >> 32, l0 & 0xffffffff, l1 >> 32,
        +		    l1 & 0xffffffff);
         		break;
         
         	default:
        
        Modified: projects/ppc64/lib/libc/sparc64/fpu/fpu_extern.h
        ==============================================================================
        --- projects/ppc64/lib/libc/sparc64/fpu/fpu_extern.h	Tue Mar 23 01:26:17 2010	(r205499)
        +++ projects/ppc64/lib/libc/sparc64/fpu/fpu_extern.h	Tue Mar 23 01:27:59 2010	(r205500)
        @@ -34,7 +34,6 @@
         #define _SPARC64_FPU_FPU_EXTERN_H_
         
         struct utrapframe;
        -union instr;
         struct fpemu;
         struct fpn;
         
        @@ -54,9 +53,9 @@ struct fpn *__fpu_div(struct fpemu *);
         int __fpu_itof(struct fpn *, u_int);
         int __fpu_xtof(struct fpn *, u_int64_t);
         int __fpu_stof(struct fpn *, u_int);
        -int __fpu_dtof(struct fpn *, u_int, u_int );
        -int __fpu_qtof(struct fpn *, u_int, u_int , u_int , u_int );
        -void __fpu_explode(struct fpemu *, struct fpn *, int, int );
        +int __fpu_dtof(struct fpn *, u_int, u_int);
        +int __fpu_qtof(struct fpn *, u_int, u_int, u_int, u_int);
        +void __fpu_explode(struct fpemu *, struct fpn *, int, int);
         
         /* fpu_implode.c */
         u_int __fpu_ftoi(struct fpemu *, struct fpn *);
        
        Modified: projects/ppc64/lib/libc/sparc64/fpu/fpu_implode.c
        ==============================================================================
        --- projects/ppc64/lib/libc/sparc64/fpu/fpu_implode.c	Tue Mar 23 01:26:17 2010	(r205499)
        +++ projects/ppc64/lib/libc/sparc64/fpu/fpu_implode.c	Tue Mar 23 01:27:59 2010	(r205500)
        @@ -49,6 +49,10 @@ __FBSDID("$FreeBSD$");
         
         #include 
         
        +#ifdef FPU_DEBUG
        +#include 
        +#endif
        +
         #include 
         #include 
         #include 
        @@ -198,7 +202,6 @@ __fpu_ftoi(fe, fp)
         
         	sign = fp->fp_sign;
         	switch (fp->fp_class) {
        -
         	case FPC_ZERO:
         		return (0);
         
        @@ -248,10 +251,9 @@ __fpu_ftox(fe, fp, res)
         
         	sign = fp->fp_sign;
         	switch (fp->fp_class) {
        -
         	case FPC_ZERO:
        -		res[1] = 0;
        -		return (0);
        +		i = 0;
        +		goto done;
         
         	case FPC_NUM:
         		/*
        @@ -275,15 +277,17 @@ __fpu_ftox(fe, fp, res)
         			break;
         		if (sign)
         			i = -i;
        -		res[1] = (int)i;
        -		return (i >> 32);
        +		goto done;
         
         	default:		/* Inf, qNaN, sNaN */
         		break;
         	}
         	/* overflow: replace any inexact exception with invalid */
         	fe->fe_cx = (fe->fe_cx & ~FSR_NX) | FSR_NV;
        -	return (0x7fffffffffffffffLL + sign);
        +	i = 0x7fffffffffffffffLL + sign;
        +done:
        +	res[1] = i & 0xffffffff;
        +	return (i >> 32);
         }
         
         /*
        @@ -325,8 +329,9 @@ __fpu_ftos(fe, fp)
         	 * right to introduce leading zeroes.  Rounding then acts
         	 * differently for normals and subnormals: the largest subnormal
         	 * may round to the smallest normal (1.0 x 2^minexp), or may
        -	 * remain subnormal.  In the latter case, signal an underflow
        -	 * if the result was inexact or if underflow traps are enabled.
        +	 * remain subnormal.  A number that is subnormal before rounding
        +	 * will signal an underflow if the result is inexact or if underflow
        +	 * traps are enabled.
         	 *
         	 * Rounding a normal, on the other hand, always produces another
         	 * normal (although either way the result might be too big for
        @@ -341,8 +346,10 @@ __fpu_ftos(fe, fp)
         	if ((exp = fp->fp_exp + SNG_EXP_BIAS) <= 0) {	/* subnormal */
         		/* -NG for g,r; -SNG_FRACBITS-exp for fraction */
         		(void) __fpu_shr(fp, FP_NMANT - FP_NG - SNG_FRACBITS - exp);
        -		if (fpround(fe, fp) && fp->fp_mant[3] == SNG_EXP(1))
        +		if (fpround(fe, fp) && fp->fp_mant[3] == SNG_EXP(1)) {
        +			fe->fe_cx |= FSR_UF;
         			return (sign | SNG_EXP(1) | 0);
        +		}
         		if ((fe->fe_cx & FSR_NX) ||
         		    (fe->fe_fsr & (FSR_UF << FSR_TEM_SHIFT)))
         			fe->fe_cx |= FSR_UF;
        @@ -403,6 +410,7 @@ zero:		res[1] = 0;
         	if ((exp = fp->fp_exp + DBL_EXP_BIAS) <= 0) {
         		(void) __fpu_shr(fp, FP_NMANT - FP_NG - DBL_FRACBITS - exp);
         		if (fpround(fe, fp) && fp->fp_mant[2] == DBL_EXP(1)) {
        +			fe->fe_cx |= FSR_UF;
         			res[1] = 0;
         			return (sign | DBL_EXP(1) | 0);
         		}
        @@ -422,7 +430,7 @@ zero:		res[1] = 0;
         			return (sign | DBL_EXP(DBL_EXP_INFNAN) | 0);
         		}
         		res[1] = ~0;
        -		return (sign | DBL_EXP(DBL_EXP_INFNAN) | DBL_MASK);
        +		return (sign | DBL_EXP(DBL_EXP_INFNAN - 1) | DBL_MASK);
         	}
         done:
         	res[1] = fp->fp_mant[3];
        @@ -464,6 +472,7 @@ zero:		res[1] = res[2] = res[3] = 0;
         	if ((exp = fp->fp_exp + EXT_EXP_BIAS) <= 0) {
         		(void) __fpu_shr(fp, FP_NMANT - FP_NG - EXT_FRACBITS - exp);
         		if (fpround(fe, fp) && fp->fp_mant[0] == EXT_EXP(1)) {
        +			fe->fe_cx |= FSR_UF;
         			res[1] = res[2] = res[3] = 0;
         			return (sign | EXT_EXP(1) | 0);
         		}
        @@ -483,7 +492,7 @@ zero:		res[1] = res[2] = res[3] = 0;
         			return (sign | EXT_EXP(EXT_EXP_INFNAN) | 0);
         		}
         		res[1] = res[2] = res[3] = ~0;
        -		return (sign | EXT_EXP(EXT_EXP_INFNAN) | EXT_MASK);
        +		return (sign | EXT_EXP(EXT_EXP_INFNAN - 1) | EXT_MASK);
         	}
         done:
         	res[1] = fp->fp_mant[1];
        @@ -504,7 +513,6 @@ __fpu_implode(fe, fp, type, space)
         {
         
         	switch (type) {
        -
         	case FTYPE_LNG:
         		space[0] = __fpu_ftox(fe, fp, space);
         		break;
        
        Modified: projects/ppc64/lib/libc/sys/open.2
        ==============================================================================
        --- projects/ppc64/lib/libc/sys/open.2	Tue Mar 23 01:26:17 2010	(r205499)
        +++ projects/ppc64/lib/libc/sys/open.2	Tue Mar 23 01:27:59 2010	(r205500)
        @@ -117,6 +117,7 @@ O_SYNC		synchronous writes
         O_NOFOLLOW	do not follow symlinks
         O_NOCTTY	don't assign controlling terminal
         O_TTY_INIT	restore default terminal attributes
        +O_DIRECTORY	error if file is not a directory
         .Ed
         .Pp
         Opening a file with
        @@ -222,6 +223,14 @@ The initial call to
         on a TTY will always restore default terminal attributes on
         .Fx .
         .Pp
        +.Dv O_DIRECTORY
        +may be used to ensure the resulting file descriptor refers to a
        +directory.
        +This flag can be used to prevent applications with elevated privileges
        +from opening files which are even unsafe to open with
        +.Dv O_RDONLY ,
        +such as device nodes.
        +.Pp
         If successful,
         .Fn open
         returns a non-negative integer, termed a file descriptor.
        @@ -413,6 +422,9 @@ argument is not an absolute path and
         is neither
         .Dv AT_FDCWD
         nor a file descriptor associated with a directory.
        +.It Bq Eq ENOTDIR
        +.Dv O_DIRECTORY
        +is specified and the file is not a directory.
         .El
         .Sh SEE ALSO
         .Xr chmod 2 ,
        
        Modified: projects/ppc64/lib/libz/ChangeLog
        ==============================================================================
        --- projects/ppc64/lib/libz/ChangeLog	Tue Mar 23 01:26:17 2010	(r205499)
        +++ projects/ppc64/lib/libz/ChangeLog	Tue Mar 23 01:27:59 2010	(r205500)
        @@ -1,6 +1,281 @@
         
                         ChangeLog file for zlib
         
        +Changes in 1.2.4 (14 Mar 2010)
        +- Fix VER3 extraction in configure for no fourth subversion
        +- Update zlib.3, add docs to Makefile.in to make .pdf out of it
        +- Add zlib.3.pdf to distribution
        +- Don't set error code in gzerror() if passed pointer is NULL
        +- Apply destination directory fixes to CMakeLists.txt [Lowman]
        +- Move #cmakedefine's to a new zconf.in.cmakein
        +- Restore zconf.h for builds that don't use configure or cmake
        +- Add distclean to dummy Makefile for convenience
        +- Update and improve INDEX, README, and FAQ
        +- Update CMakeLists.txt for the return of zconf.h [Lowman]
        +- Update contrib/vstudio/vc9 and vc10 [Vollant]
        +- Change libz.dll.a back to libzdll.a in win32/Makefile.gcc
        +- Apply license and readme changes to contrib/asm686 [Raiter]
        +- Check file name lengths and add -c option in minigzip.c [Li]
        +- Update contrib/amd64 and contrib/masmx86/ [Vollant]
        +- Avoid use of "eof" parameter in trees.c to not shadow library variable
        +- Update make_vms.com for removal of zlibdefs.h [Zinser]
        +- Update assembler code and vstudio projects in contrib [Vollant]
        +- Remove outdated assembler code contrib/masm686 and contrib/asm586
        +- Remove old vc7 and vc8 from contrib/vstudio
        +- Update win32/Makefile.msc, add ZLIB_VER_SUBREVISION [Rowe]
        +- Fix memory leaks in gzclose_r() and gzclose_w(), file leak in gz_open()
        +- Add contrib/gcc_gvmat64 for longest_match and inflate_fast [Vollant]
        +- Remove *64 functions from win32/zlib.def (they're not 64-bit yet)
        +- Fix bug in void-returning vsprintf() case in gzwrite.c
        +- Fix name change from inflate.h in contrib/inflate86/inffas86.c
        +- Check if temporary file exists before removing in make_vms.com [Zinser]
        +- Fix make install and uninstall for --static option
        +- Fix usage of _MSC_VER in gzguts.h and zutil.h [Truta]
        +- Update readme.txt in contrib/masmx64 and masmx86 to assemble
        +
        +Changes in 1.2.3.9 (21 Feb 2010)
        +- Expunge gzio.c
        +- Move as400 build information to old
        +- Fix updates in contrib/minizip and contrib/vstudio
        +- Add const to vsnprintf test in configure to avoid warnings [Weigelt]
        +- Delete zconf.h (made by configure) [Weigelt]
        +- Change zconf.in.h to zconf.h.in per convention [Weigelt]
        +- Check for NULL buf in gzgets()
        +- Return empty string for gzgets() with len == 1 (like fgets())
        +- Fix description of gzgets() in zlib.h for end-of-file, NULL return
        +- Update minizip to 1.1 [Vollant]
        +- Avoid MSVC loss of data warnings in gzread.c, gzwrite.c
        +- Note in zlib.h that gzerror() should be used to distinguish from EOF
        +- Remove use of snprintf() from gzlib.c
        +- Fix bug in gzseek()
        +- Update contrib/vstudio, adding vc9 and vc10 [Kuno, Vollant]
        +- Fix zconf.h generation in CMakeLists.txt [Lowman]
        +- Improve comments in zconf.h where modified by configure
        +
        +Changes in 1.2.3.8 (13 Feb 2010)
        +- Clean up text files (tabs, trailing whitespace, etc.) [Oberhumer]
        +- Use z_off64_t in gz_zero() and gz_skip() to match state->skip
        +- Avoid comparison problem when sizeof(int) == sizeof(z_off64_t)
        +- Revert to Makefile.in from 1.2.3.6 (live with the clutter)
        +- Fix missing error return in gzflush(), add zlib.h note
        +- Add *64 functions to zlib.map [Levin]
        +- Fix signed/unsigned comparison in gz_comp()
        +- Use SFLAGS when testing shared linking in configure
        +- Add --64 option to ./configure to use -m64 with gcc
        +- Fix ./configure --help to correctly name options
        +- Have make fail if a test fails [Levin]
        +- Avoid buffer overrun in contrib/masmx64/gvmat64.asm [Simpson]
        +- Remove assembler object files from contrib
        +
        +Changes in 1.2.3.7 (24 Jan 2010)
        +- Always gzopen() with O_LARGEFILE if available
        +- Fix gzdirect() to work immediately after gzopen() or gzdopen()
        +- Make gzdirect() more precise when the state changes while reading
        +- Improve zlib.h documentation in many places
        +- Catch memory allocation failure in gz_open()
        +- Complete close operation if seek forward in gzclose_w() fails
        +- Return Z_ERRNO from gzclose_r() if close() fails
        +- Return Z_STREAM_ERROR instead of EOF for gzclose() being passed NULL
        +- Return zero for gzwrite() errors to match zlib.h description
        +- Return -1 on gzputs() error to match zlib.h description
        +- Add zconf.in.h to allow recovery from configure modification [Weigelt]
        +- Fix static library permissions in Makefile.in [Weigelt]
        +- Avoid warnings in configure tests that hide functionality [Weigelt]
        +- Add *BSD and DragonFly to Linux case in configure [gentoo 123571]
        +- Change libzdll.a to libz.dll.a in win32/Makefile.gcc [gentoo 288212]
        +- Avoid access of uninitialized data for first inflateReset2 call [Gomes]
        +- Keep object files in subdirectories to reduce the clutter somewhat
        +- Remove default Makefile and zlibdefs.h, add dummy Makefile
        +- Add new external functions to Z_PREFIX, remove duplicates, z_z_ -> z_
        +- Remove zlibdefs.h completely -- modify zconf.h instead
        +
        +Changes in 1.2.3.6 (17 Jan 2010)
        +- Avoid void * arithmetic in gzread.c and gzwrite.c
        +- Make compilers happier with const char * for gz_error message
        +- Avoid unused parameter warning in inflate.c
        +- Avoid signed-unsigned comparison warning in inflate.c
        +- Indent #pragma's for traditional C
        +- Fix usage of strwinerror() in glib.c, change to gz_strwinerror()
        +- Correct email address in configure for system options
        +- Update make_vms.com and add make_vms.com to contrib/minizip [Zinser]
        +- Update zlib.map [Brown]
        +- Fix Makefile.in for Solaris 10 make of example64 and minizip64 [Tšršk]
        +- Apply various fixes to CMakeLists.txt [Lowman]
        +- Add checks on len in gzread() and gzwrite()
        +- Add error message for no more room for gzungetc()
        +- Remove zlib version check in gzwrite()
        +- Defer compression of gzprintf() result until need to
        +- Use snprintf() in gzdopen() if available
        +- Remove USE_MMAP configuration determination (only used by minigzip)
        +- Remove examples/pigz.c (available separately)
        +- Update examples/gun.c to 1.6
        +
        +Changes in 1.2.3.5 (8 Jan 2010)
        +- Add space after #if in zutil.h for some compilers
        +- Fix relatively harmless bug in deflate_fast() [Exarevsky]
        +- Fix same problem in deflate_slow()
        +- Add $(SHAREDLIBV) to LIBS in Makefile.in [Brown]
        +- Add deflate_rle() for faster Z_RLE strategy run-length encoding
        +- Add deflate_huff() for faster Z_HUFFMAN_ONLY encoding
        +- Change name of "write" variable in inffast.c to avoid library collisions
        +- Fix premature EOF from gzread() in gzio.c [Brown]
        +- Use zlib header window size if windowBits is 0 in inflateInit2()
        +- Remove compressBound() call in deflate.c to avoid linking compress.o
        +- Replace use of errno in gz* with functions, support WinCE [Alves]
        +- Provide alternative to perror() in minigzip.c for WinCE [Alves]
        +- Don't use _vsnprintf on later versions of MSVC [Lowman]
        +- Add CMake build script and input file [Lowman]
        +- Update contrib/minizip to 1.1 [Svensson, Vollant]
        +- Moved nintendods directory from contrib to .
        +- Replace gzio.c with a new set of routines with the same functionality
        +- Add gzbuffer(), gzoffset(), gzclose_r(), gzclose_w() as part of above
        +- Update contrib/minizip to 1.1b
        +- Change gzeof() to return 0 on error instead of -1 to agree with zlib.h
        +
        +Changes in 1.2.3.4 (21 Dec 2009)
        +- Use old school .SUFFIXES in Makefile.in for FreeBSD compatibility
        +- Update comments in configure and Makefile.in for default --shared
        +- Fix test -z's in configure [Marquess]
        +- Build examplesh and minigzipsh when not testing
        +- Change NULL's to Z_NULL's in deflate.c and in comments in zlib.h
        +- Import LDFLAGS from the environment in configure
        +- Fix configure to populate SFLAGS with discovered CFLAGS options
        +- Adapt make_vms.com to the new Makefile.in [Zinser]
        +- Add zlib2ansi script for C++ compilation [Marquess]
        +- Add _FILE_OFFSET_BITS=64 test to make test (when applicable)
        +- Add AMD64 assembler code for longest match to contrib [Teterin]
        +- Include options from $SFLAGS when doing $LDSHARED
        +- Simplify 64-bit file support by introducing z_off64_t type
        +- Make shared object files in objs directory to work around old Sun cc
        +- Use only three-part version number for Darwin shared compiles
        +- Add rc option to ar in Makefile.in for when ./configure not run
        +- Add -WI,-rpath,. to LDFLAGS for OSF 1 V4*
        +- Set LD_LIBRARYN32_PATH for SGI IRIX shared compile
        +- Protect against _FILE_OFFSET_BITS being defined when compiling zlib
        +- Rename Makefile.in targets allstatic to static and allshared to shared
        +- Fix static and shared Makefile.in targets to be independent
        +- Correct error return bug in gz_open() by setting state [Brown]
        +- Put spaces before ;;'s in configure for better sh compatibility
        +- Add pigz.c (parallel implementation of gzip) to examples/
        +- Correct constant in crc32.c to UL [Leventhal]
        +- Reject negative lengths in crc32_combine()
        +- Add inflateReset2() function to work like inflateEnd()/inflateInit2()
        +- Include sys/types.h for _LARGEFILE64_SOURCE [Brown]
        +- Correct typo in doc/algorithm.txt [Janik]
        +- Fix bug in adler32_combine() [Zhu]
        +- Catch missing-end-of-block-code error in all inflates and in puff
        +    Assures that random input to inflate eventually results in an error
        +- Added enough.c (calculation of ENOUGH for inftrees.h) to examples/
        +- Update ENOUGH and its usage to reflect discovered bounds
        +- Fix gzerror() error report on empty input file [Brown]
        +- Add ush casts in trees.c to avoid pedantic runtime errors
        +- Fix typo in zlib.h uncompress() description [Reiss]
        +- Correct inflate() comments with regard to automatic header detection
        +- Remove deprecation comment on Z_PARTIAL_FLUSH (it stays)
        +- Put new version of gzlog (2.0) in examples with interruption recovery
        +- Add puff compile option to permit invalid distance-too-far streams
        +- Add puff TEST command options, ability to read piped input
        +- Prototype the *64 functions in zlib.h when _FILE_OFFSET_BITS == 64, but
        +  _LARGEFILE64_SOURCE not defined
        +- Fix Z_FULL_FLUSH to truly erase the past by resetting s->strstart
        +- Fix deflateSetDictionary() to use all 32K for output consistency
        +- Remove extraneous #define MIN_LOOKAHEAD in deflate.c (in deflate.h)
        +- Clear bytes after deflate lookahead to avoid use of uninitialized data
        +- Change a limit in inftrees.c to be more transparent to Coverity Prevent
        +- Update win32/zlib.def with exported symbols from zlib.h
        +- Correct spelling error in zlib.h [Willem]
        +- Allow Z_BLOCK for deflate() to force a new block
        +- Allow negative bits in inflatePrime() to delete existing bit buffer
        +- Add Z_TREES flush option to inflate() to return at end of trees
        +- Add inflateMark() to return current state information for random access
        +- Add Makefile for NintendoDS to contrib [Costa]
        +- Add -w in configure compile tests to avoid spurious warnings [Beucler]
        +- Fix typos in zlib.h comments for deflateSetDictionary()
        +- Fix EOF detection in transparent gzread() [Maier]
        +
        +Changes in 1.2.3.3 (2 October 2006)
        +- Make --shared the default for configure, add a --static option
        +- Add compile option to permit invalid distance-too-far streams
        +- Add inflateUndermine() function which is required to enable above
        +- Remove use of "this" variable name for C++ compatibility [Marquess]
        +- Add testing of shared library in make test, if shared library built
        +- Use ftello() and fseeko() if available instead of ftell() and fseek()
        +- Provide two versions of all functions that use the z_off_t type for
        +  binary compatibility -- a normal version and a 64-bit offset version,
        +  per the Large File Support Extension when _LARGEFILE64_SOURCE is
        +  defined; use the 64-bit versions by default when _FILE_OFFSET_BITS
        +  is defined to be 64
        +- Add a --uname= option to configure to perhaps help with cross-compiling
        +
        +Changes in 1.2.3.2 (3 September 2006)
        +- Turn off silly Borland warnings [Hay]
        +- Use off64_t and define _LARGEFILE64_SOURCE when present
        +- Fix missing dependency on inffixed.h in Makefile.in
        +- Rig configure --shared to build both shared and static [Teredesai, Truta]
        +- Remove zconf.in.h and instead create a new zlibdefs.h file
        +- Fix contrib/minizip/unzip.c non-encrypted after encrypted [Vollant]
        +- Add treebuild.xml (see http://treebuild.metux.de/) [Weigelt]
        +
        +Changes in 1.2.3.1 (16 August 2006)
        +- Add watcom directory with OpenWatcom make files [Daniel]
        +- Remove #undef of FAR in zconf.in.h for MVS [Fedtke]
        +- Update make_vms.com [Zinser]
        +- Use -fPIC for shared build in configure [Teredesai, Nicholson]
        +- Use only major version number for libz.so on IRIX and OSF1 [Reinholdtsen]
        +- Use fdopen() (not _fdopen()) for Interix in zutil.h [BŠck]
        +- Add some FAQ entries about the contrib directory
        +- Update the MVS question in the FAQ
        +- Avoid extraneous reads after EOF in gzio.c [Brown]
        +- Correct spelling of "successfully" in gzio.c [Randers-Pehrson]
        +- Add comments to zlib.h about gzerror() usage [Brown]
        +- Set extra flags in gzip header in gzopen() like deflate() does
        +- Make configure options more compatible with double-dash conventions
        +  [Weigelt]
        +- Clean up compilation under Solaris SunStudio cc [Rowe, Reinholdtsen]
        +- Fix uninstall target in Makefile.in [Truta]
        +- Add pkgconfig support [Weigelt]
        +- Use $(DESTDIR) macro in Makefile.in [Reinholdtsen, Weigelt]
        +- Replace set_data_type() with a more accurate detect_data_type() in
        +  trees.c, according to the txtvsbin.txt document [Truta]
        +- Swap the order of #include  and #include "zlib.h" in
        +  gzio.c, example.c and minigzip.c [Truta]
        +- Shut up annoying VS2005 warnings about standard C deprecation [Rowe,
        +  Truta] (where?)
        +- Fix target "clean" from win32/Makefile.bor [Truta]
        +- Create .pdb and .manifest files in win32/makefile.msc [Ziegler, Rowe]
        +- Update zlib www home address in win32/DLL_FAQ.txt [Truta]
        +- Update contrib/masmx86/inffas32.asm for VS2005 [Vollant, Van Wassenhove]
        +- Enable browse info in the "Debug" and "ASM Debug" configurations in
        +  the Visual C++ 6 project, and set (non-ASM) "Debug" as default [Truta]
        +- Add pkgconfig support [Weigelt]
        +- Add ZLIB_VER_MAJOR, ZLIB_VER_MINOR and ZLIB_VER_REVISION in zlib.h,
        +  for use in win32/zlib1.rc [Polushin, Rowe, Truta]
        +- Add a document that explains the new text detection scheme to
        +  doc/txtvsbin.txt [Truta]
        +- Add rfc1950.txt, rfc1951.txt and rfc1952.txt to doc/ [Truta]
        +- Move algorithm.txt into doc/ [Truta]
        +- Synchronize FAQ with website
        +- Fix compressBound(), was low for some pathological cases [Fearnley]
        +- Take into account wrapper variations in deflateBound()
        +- Set examples/zpipe.c input and output to binary mode for Windows
        +- Update examples/zlib_how.html with new zpipe.c (also web site)
        +- Fix some warnings in examples/gzlog.c and examples/zran.c (it seems
        +  that gcc became pickier in 4.0)
        +- Add zlib.map for Linux: "All symbols from zlib-1.1.4 remain
        +  un-versioned, the patch adds versioning only for symbols introduced in
        +  zlib-1.2.0 or later.  It also declares as local those symbols which are
        +  not designed to be exported." [Levin]
        +- Update Z_PREFIX list in zconf.in.h, add --zprefix option to configure
        +- Do not initialize global static by default in trees.c, add a response
        +  NO_INIT_GLOBAL_POINTERS to initialize them if needed [Marquess]
        +- Don't use strerror() in gzio.c under WinCE [Yakimov]
        +- Don't use errno.h in zutil.h under WinCE [Yakimov]
        +- Move arguments for AR to its usage to allow replacing ar [Marot]
        +- Add HAVE_VISIBILITY_PRAGMA in zconf.in.h for Mozilla [Randers-Pehrson]
        +- Improve inflateInit() and inflateInit2() documentation
        +- Fix structure size comment in inflate.h
        +- Change configure help option from --h* to --help [Santos]
        +
         Changes in 1.2.3 (18 July 2005)
         - Apply security vulnerability fixes to contrib/infback9 as well
         - Clean up some text files (carriage returns, trailing space)
        @@ -13,7 +288,7 @@ Changes in 1.2.2.4 (11 July 2005)
           compile
         - Fix some spelling errors in comments [Betts]
         - Correct inflateInit2() error return documentation in zlib.h
        -- Added zran.c example of compressed data random access to examples
        +- Add zran.c example of compressed data random access to examples
           directory, shows use of inflatePrime()
         - Fix cast for assignments to strm->state in inflate.c and infback.c
         - Fix zlibCompileFlags() in zutil.c to use 1L for long shifts [Oberhumer]
        
        Modified: projects/ppc64/lib/libz/FAQ
        ==============================================================================
        --- projects/ppc64/lib/libz/FAQ	Tue Mar 23 01:26:17 2010	(r205499)
        +++ projects/ppc64/lib/libz/FAQ	Tue Mar 23 01:27:59 2010	(r205500)
        @@ -3,8 +3,8 @@
         
         
         If your question is not there, please check the zlib home page
        -http://www.zlib.org which may have more recent information.
        -The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
        +http://zlib.net/ which may have more recent information.
        +The lastest zlib FAQ is at http://zlib.net/zlib_faq.html
         
         
          1. Is zlib Y2K-compliant?
        @@ -13,54 +13,51 @@ The lastest zlib FAQ is at http://www.gz
         
          2. Where can I get a Windows DLL version?
         
        -    The zlib sources can be compiled without change to produce a DLL.
        -    See the file win32/DLL_FAQ.txt in the zlib distribution.
        -    Pointers to the precompiled DLL are found in the zlib web site at
        -    http://www.zlib.org.
        +    The zlib sources can be compiled without change to produce a DLL.  See the
        +    file win32/DLL_FAQ.txt in the zlib distribution.  Pointers to the
        +    precompiled DLL are found in the zlib web site at http://zlib.net/ .
         
          3. Where can I get a Visual Basic interface to zlib?
         
             See
        -        * http://www.dogma.net/markn/articles/zlibtool/zlibtool.htm
        -        * contrib/visual-basic.txt in the zlib distribution
        +        * http://marknelson.us/1997/01/01/zlib-engine/
                 * win32/DLL_FAQ.txt in the zlib distribution
         
          4. compress() returns Z_BUF_ERROR.
         
        -    Make sure that before the call of compress, the length of the compressed
        -    buffer is equal to the total size of the compressed buffer and not
        -    zero. For Visual Basic, check that this parameter is passed by reference
        +    Make sure that before the call of compress(), the length of the compressed
        +    buffer is equal to the available size of the compressed buffer and not
        +    zero.  For Visual Basic, check that this parameter is passed by reference
             ("as any"), not by value ("as long").
         
          5. deflate() or inflate() returns Z_BUF_ERROR.
         
        -    Before making the call, make sure that avail_in and avail_out are not
        -    zero. When setting the parameter flush equal to Z_FINISH, also make sure
        -    that avail_out is big enough to allow processing all pending input.
        -    Note that a Z_BUF_ERROR is not fatal--another call to deflate() or
        -    inflate() can be made with more input or output space. A Z_BUF_ERROR
        -    may in fact be unavoidable depending on how the functions are used, since
        -    it is not possible to tell whether or not there is more output pending
        -    when strm.avail_out returns with zero.
        +    Before making the call, make sure that avail_in and avail_out are not zero.
        +    When setting the parameter flush equal to Z_FINISH, also make sure that
        +    avail_out is big enough to allow processing all pending input.  Note that a
        +    Z_BUF_ERROR is not fatal--another call to deflate() or inflate() can be
        +    made with more input or output space.  A Z_BUF_ERROR may in fact be
        +    unavoidable depending on how the functions are used, since it is not
        +    possible to tell whether or not there is more output pending when
        +    strm.avail_out returns with zero.  See http://zlib.net/zlib_how.html for a
        +    heavily annotated example.
         
          6. Where's the zlib documentation (man pages, etc.)?
         
        -    It's in zlib.h for the moment, and Francis S. Lin has converted it to a
        -    web page zlib.html. Volunteers to transform this to Unix-style man pages,
        -    please contact us (zlib@gzip.org). Examples of zlib usage are in the files
        -    example.c and minigzip.c.
        +    It's in zlib.h .  Examples of zlib usage are in the files example.c and
        +    minigzip.c, with more in examples/ .
         
          7. Why don't you use GNU autoconf or libtool or ...?
         
        -    Because we would like to keep zlib as a very small and simple
        -    package. zlib is rather portable and doesn't need much configuration.
        +    Because we would like to keep zlib as a very small and simple package.
        +    zlib is rather portable and doesn't need much configuration.
         
          8. I found a bug in zlib.
         
        -    Most of the time, such problems are due to an incorrect usage of
        -    zlib. Please try to reproduce the problem with a small program and send
        -    the corresponding source to us at zlib@gzip.org . Do not send
        -    multi-megabyte data files without prior agreement.
        +    Most of the time, such problems are due to an incorrect usage of zlib.
        +    Please try to reproduce the problem with a small program and send the
        +    corresponding source to us at zlib@gzip.org .  Do not send multi-megabyte
        +    data files without prior agreement.
         
          9. Why do I get "undefined reference to gzputc"?
         
        @@ -82,7 +79,7 @@ The lastest zlib FAQ is at http://www.gz
         
         12. Can zlib handle .Z files?
         
        -    No, sorry. You have to spawn an uncompress or gunzip subprocess, or adapt
        +    No, sorry.  You have to spawn an uncompress or gunzip subprocess, or adapt
             the code of uncompress on your own.
         
         13. How can I make a Unix shared library?
        @@ -99,8 +96,10 @@ The lastest zlib FAQ is at http://www.gz
         
             However, many flavors of Unix come with a shared zlib already installed.
             Before going to the trouble of compiling a shared version of zlib and
        -    trying to install it, you may want to check if it's already there! If you
        -    can #include , it's there. The -lz option will probably link to it.
        +    trying to install it, you may want to check if it's already there!  If you
        +    can #include , it's there.  The -lz option will probably link to
        +    it.  You can check the version at the top of zlib.h or with the
        +    ZLIB_VERSION symbol defined in zlib.h .
         
         15. I have a question about OttoPDF.
         
        @@ -109,8 +108,8 @@ The lastest zlib FAQ is at http://www.gz
         
         16. Can zlib decode Flate data in an Adobe PDF file?
         
        -    Yes. See http://www.fastio.com/ (ClibPDF), or http://www.pdflib.com/ .
        -    To modify PDF forms, see http://sourceforge.net/projects/acroformtool/ .
        +    Yes. See http://www.pdflib.com/ . To modify PDF forms, see
        +    http://sourceforge.net/projects/acroformtool/ .
         
         17. Why am I getting this "register_frame_info not found" error on Solaris?
         
        @@ -121,67 +120,67 @@ The lastest zlib FAQ is at http://www.gz
                 symbol __register_frame_info: referenced symbol not found
         
             The symbol __register_frame_info is not part of zlib, it is generated by
        -    the C compiler (cc or gcc). You must recompile applications using zlib
        -    which have this problem. This problem is specific to Solaris. See
        +    the C compiler (cc or gcc).  You must recompile applications using zlib
        +    which have this problem.  This problem is specific to Solaris.  See
             http://www.sunfreeware.com for Solaris versions of zlib and applications
             using zlib.
         
         18. Why does gzip give an error on a file I make with compress/deflate?
         
             The compress and deflate functions produce data in the zlib format, which
        -    is different and incompatible with the gzip format. The gz* functions in
        -    zlib on the other hand use the gzip format. Both the zlib and gzip
        -    formats use the same compressed data format internally, but have different
        -    headers and trailers around the compressed data.
        +    is different and incompatible with the gzip format.  The gz* functions in
        +    zlib on the other hand use the gzip format.  Both the zlib and gzip formats
        +    use the same compressed data format internally, but have different headers
        +    and trailers around the compressed data.
         
         19. Ok, so why are there two different formats?
         
        -    The gzip format was designed to retain the directory information about
        -    a single file, such as the name and last modification date. The zlib
        -    format on the other hand was designed for in-memory and communication
        -    channel applications, and has a much more compact header and trailer and
        -    uses a faster integrity check than gzip.
        +    The gzip format was designed to retain the directory information about a
        +    single file, such as the name and last modification date.  The zlib format
        +    on the other hand was designed for in-memory and communication channel
        +    applications, and has a much more compact header and trailer and uses a
        +    faster integrity check than gzip.
         
         20. Well that's nice, but how do I make a gzip file in memory?
         
             You can request that deflate write the gzip format instead of the zlib
        -    format using deflateInit2(). You can also request that inflate decode
        -    the gzip format using inflateInit2(). Read zlib.h for more details.
        +    format using deflateInit2().  You can also request that inflate decode the
        +    gzip format using inflateInit2().  Read zlib.h for more details.
         
         21. Is zlib thread-safe?
         
        -    Yes. However any library routines that zlib uses and any application-
        -    provided memory allocation routines must also be thread-safe. zlib's gz*
        +    Yes.  However any library routines that zlib uses and any application-
        +    provided memory allocation routines must also be thread-safe.  zlib's gz*
             functions use stdio library routines, and most of zlib's functions use the
        -    library memory allocation routines by default. zlib's Init functions allow
        -    for the application to provide custom memory allocation routines.
        +    library memory allocation routines by default.  zlib's *Init* functions
        +    allow for the application to provide custom memory allocation routines.
         
             Of course, you should only operate on any given zlib or gzip stream from a
             single thread at a time.
         
         22. Can I use zlib in my commercial application?
         
        -    Yes. Please read the license in zlib.h.
        
        *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
        
        From owner-svn-src-projects@FreeBSD.ORG  Tue Mar 23 03:22:16 2010
        Return-Path: 
        Delivered-To: svn-src-projects@freebsd.org
        Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
        	by hub.freebsd.org (Postfix) with ESMTP id D9BD51065672;
        	Tue, 23 Mar 2010 03:22:16 +0000 (UTC)
        	(envelope-from nwhitehorn@FreeBSD.org)
        Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
        	by mx1.freebsd.org (Postfix) with ESMTP id C63288FC17;
        	Tue, 23 Mar 2010 03:22:16 +0000 (UTC)
        Received: from svn.freebsd.org (localhost [127.0.0.1])
        	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2N3MGwe037896;
        	Tue, 23 Mar 2010 03:22:16 GMT
        	(envelope-from nwhitehorn@svn.freebsd.org)
        Received: (from nwhitehorn@localhost)
        	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2N3MGe3037857;
        	Tue, 23 Mar 2010 03:22:16 GMT
        	(envelope-from nwhitehorn@svn.freebsd.org)
        Message-Id: <201003230322.o2N3MGe3037857@svn.freebsd.org>
        From: Nathan Whitehorn 
        Date: Tue, 23 Mar 2010 03:22:16 +0000 (UTC)
        To: src-committers@freebsd.org, svn-src-projects@freebsd.org
        X-SVN-Group: projects
        MIME-Version: 1.0
        Content-Type: text/plain; charset=UTF-8
        Content-Transfer-Encoding: 8bit
        Cc: 
        Subject: svn commit: r205507 - in projects/ppc64/sys: netinet powerpc/aim
        	powerpc/powermac
        X-BeenThere: svn-src-projects@freebsd.org
        X-Mailman-Version: 2.1.5
        Precedence: list
        List-Id: "SVN commit messages for the src " projects"
        	tree" 
        List-Unsubscribe: , 
        	
        List-Archive: 
        List-Post: 
        List-Help: 
        List-Subscribe: , 
        	
        X-List-Received-Date: Tue, 23 Mar 2010 03:22:16 -0000
        
        Author: nwhitehorn
        Date: Tue Mar 23 03:22:16 2010
        New Revision: 205507
        URL: http://svn.freebsd.org/changeset/base/205507
        
        Log:
          IFC @ 205506 (RTC changes). Sorry for the double IFC and commit spam...
        
        Modified:
          projects/ppc64/sys/netinet/sctp_indata.c
          projects/ppc64/sys/netinet/sctputil.c
          projects/ppc64/sys/netinet/sctputil.h
          projects/ppc64/sys/powerpc/aim/nexus.c
          projects/ppc64/sys/powerpc/powermac/cuda.c
          projects/ppc64/sys/powerpc/powermac/cudavar.h
          projects/ppc64/sys/powerpc/powermac/pmu.c
          projects/ppc64/sys/powerpc/powermac/smu.c
        Directory Properties:
          projects/ppc64/   (props changed)
          projects/ppc64/contrib/expat/   (props changed)
          projects/ppc64/contrib/groff/   (props changed)
          projects/ppc64/contrib/one-true-awk/   (props changed)
          projects/ppc64/contrib/tzcode/stdtime/   (props changed)
          projects/ppc64/contrib/tzcode/zic/   (props changed)
          projects/ppc64/contrib/tzdata/   (props changed)
          projects/ppc64/lib/libz/   (props changed)
          projects/ppc64/sys/   (props changed)
          projects/ppc64/sys/contrib/x86emu/   (props changed)
          projects/ppc64/sys/dev/xen/xenpci/   (props changed)
        
        Modified: projects/ppc64/sys/netinet/sctp_indata.c
        ==============================================================================
        --- projects/ppc64/sys/netinet/sctp_indata.c	Tue Mar 23 03:14:44 2010	(r205506)
        +++ projects/ppc64/sys/netinet/sctp_indata.c	Tue Mar 23 03:22:16 2010	(r205507)
        @@ -2540,15 +2540,7 @@ sctp_sack_check(struct sctp_tcb *stcb, i
         	/* int nr_at; */
         	/* int nr_last_all_ones = 0; */
         	/* int nr_slide_from, nr_slide_end, nr_lgap, nr_distance; */
        -
         	uint32_t old_cumack, old_base, old_highest;
        -	unsigned char aux_array[64];
        -
        -	/*
        -	 * EY! Don't think this is required but I am immitating the code for
        -	 * map just to make sure
        -	 */
        -	unsigned char nr_aux_array[64];
         
         	asoc = &stcb->asoc;
         	at = 0;
        @@ -2556,33 +2548,6 @@ sctp_sack_check(struct sctp_tcb *stcb, i
         	old_cumack = asoc->cumulative_tsn;
         	old_base = asoc->mapping_array_base_tsn;
         	old_highest = asoc->highest_tsn_inside_map;
        -	if (asoc->mapping_array_size < 64)
        -		memcpy(aux_array, asoc->mapping_array,
        -		    asoc->mapping_array_size);
        -	else
        -		memcpy(aux_array, asoc->mapping_array, 64);
        -	/* EY do the same for nr_mapping_array */
        -	if (SCTP_BASE_SYSCTL(sctp_nr_sack_on_off) && asoc->peer_supports_nr_sack) {
        -		if (asoc->nr_mapping_array_size != asoc->mapping_array_size) {
        -			/*
        -			 * printf("\nEY-IN sack_check method: \nEY-" "The
        -			 * size of map and nr_map are inconsitent")
        -			 */ ;
        -		}
        -		if (asoc->nr_mapping_array_base_tsn != asoc->mapping_array_base_tsn) {
        -			/*
        -			 * printf("\nEY-IN sack_check method VERY CRUCIAL
        -			 * error: \nEY-" "The base tsns of map and nr_map
        -			 * are inconsitent")
        -			 */ ;
        -		}
        -		/* EY! just immitating the above code */
        -		if (asoc->nr_mapping_array_size < 64)
        -			memcpy(nr_aux_array, asoc->nr_mapping_array,
        -			    asoc->nr_mapping_array_size);
        -		else
        -			memcpy(aux_array, asoc->nr_mapping_array, 64);
        -	}
         	/*
         	 * We could probably improve this a small bit by calculating the
         	 * offset of the current cum-ack as the starting point.
        @@ -2618,6 +2583,7 @@ sctp_sack_check(struct sctp_tcb *stcb, i
         #else
         		SCTP_PRINTF("huh, cumack 0x%x greater than high-tsn 0x%x in map - should panic?\n",
         		    asoc->cumulative_tsn, asoc->highest_tsn_inside_map);
        +		sctp_print_mapping_array(asoc);
         		if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_MAP_LOGGING_ENABLE) {
         			sctp_log_map(0, 6, asoc->highest_tsn_inside_map, SCTP_MAP_SLIDE_RESULT);
         		}
        
        Modified: projects/ppc64/sys/netinet/sctputil.c
        ==============================================================================
        --- projects/ppc64/sys/netinet/sctputil.c	Tue Mar 23 03:14:44 2010	(r205506)
        +++ projects/ppc64/sys/netinet/sctputil.c	Tue Mar 23 03:22:16 2010	(r205507)
        @@ -1180,6 +1180,25 @@ sctp_init_asoc(struct sctp_inpcb *m, str
         	return (0);
         }
         
        +void
        +sctp_print_mapping_array(struct sctp_association *asoc)
        +{
        +	int i;
        +
        +	printf("Mapping size:%d baseTSN:%8.8x cumAck:%8.8x highestTSN:%8.8x\n",
        +	    asoc->mapping_array_size,
        +	    asoc->mapping_array_base_tsn,
        +	    asoc->cumulative_tsn,
        +	    asoc->highest_tsn_inside_map
        +	    );
        +	for (i = 0; i < asoc->mapping_array_size; i++) {
        +		printf("%8.8x ", asoc->mapping_array[i]);
        +		if (((i + 1) % 8) == 0)
        +			printf("\n");
        +	}
        +	printf("\n");
        +}
        +
         int
         sctp_expand_mapping_array(struct sctp_association *asoc, uint32_t needed)
         {
        @@ -1187,7 +1206,9 @@ sctp_expand_mapping_array(struct sctp_as
         	uint8_t *new_array;
         	uint32_t new_size;
         
        +
         	new_size = asoc->mapping_array_size + ((needed + 7) / 8 + SCTP_MAPPING_ARRAY_INCR);
        +
         	SCTP_MALLOC(new_array, uint8_t *, new_size, SCTP_M_MAP);
         	if (new_array == NULL) {
         		/* can't get more, forget it */
        @@ -1200,21 +1221,19 @@ sctp_expand_mapping_array(struct sctp_as
         	SCTP_FREE(asoc->mapping_array, SCTP_M_MAP);
         	asoc->mapping_array = new_array;
         	asoc->mapping_array_size = new_size;
        -	if (asoc->peer_supports_nr_sack) {
        -		new_size = asoc->nr_mapping_array_size + ((needed + 7) / 8 + SCTP_NR_MAPPING_ARRAY_INCR);
        -		SCTP_MALLOC(new_array, uint8_t *, new_size, SCTP_M_MAP);
        -		if (new_array == NULL) {
        -			/* can't get more, forget it */
        -			SCTP_PRINTF("No memory for expansion of SCTP mapping array %d\n",
        -			    new_size);
        -			return (-1);
        -		}
        -		memset(new_array, 0, new_size);
        -		memcpy(new_array, asoc->nr_mapping_array, asoc->nr_mapping_array_size);
        -		SCTP_FREE(asoc->nr_mapping_array, SCTP_M_MAP);
        -		asoc->nr_mapping_array = new_array;
        -		asoc->nr_mapping_array_size = new_size;
        +	new_size = asoc->nr_mapping_array_size + ((needed + 7) / 8 + SCTP_NR_MAPPING_ARRAY_INCR);
        +	SCTP_MALLOC(new_array, uint8_t *, new_size, SCTP_M_MAP);
        +	if (new_array == NULL) {
        +		/* can't get more, forget it */
        +		SCTP_PRINTF("No memory for expansion of SCTP mapping array %d\n",
        +		    new_size);
        +		return (-1);
         	}
        +	memset(new_array, 0, new_size);
        +	memcpy(new_array, asoc->nr_mapping_array, asoc->nr_mapping_array_size);
        +	SCTP_FREE(asoc->nr_mapping_array, SCTP_M_MAP);
        +	asoc->nr_mapping_array = new_array;
        +	asoc->nr_mapping_array_size = new_size;
         	return (0);
         }
         
        
        Modified: projects/ppc64/sys/netinet/sctputil.h
        ==============================================================================
        --- projects/ppc64/sys/netinet/sctputil.h	Tue Mar 23 03:14:44 2010	(r205506)
        +++ projects/ppc64/sys/netinet/sctputil.h	Tue Mar 23 03:22:16 2010	(r205507)
        @@ -376,7 +376,7 @@ int sctp_fill_stat_log(void *, size_t *)
         void sctp_log_fr(uint32_t, uint32_t, uint32_t, int);
         void sctp_log_sack(uint32_t, uint32_t, uint32_t, uint16_t, uint16_t, int);
         void sctp_log_map(uint32_t, uint32_t, uint32_t, int);
        -
        +void sctp_print_mapping_array(struct sctp_association *asoc);
         void sctp_clr_stat_log(void);
         
         
        
        Modified: projects/ppc64/sys/powerpc/aim/nexus.c
        ==============================================================================
        --- projects/ppc64/sys/powerpc/aim/nexus.c	Tue Mar 23 03:14:44 2010	(r205506)
        +++ projects/ppc64/sys/powerpc/aim/nexus.c	Tue Mar 23 03:22:16 2010	(r205507)
        @@ -58,7 +58,6 @@
         #include 
         #include 
         #include 
        -#include 
         #include 
         #include 
         #include 
        @@ -72,7 +71,6 @@
         
         #include 
         
        -#include "clock_if.h"
         #include "ofw_bus_if.h"
         #include "pic_if.h"
         
        @@ -141,12 +139,6 @@ static const char	*nexus_ofw_get_type(de
         static const char	*nexus_ofw_get_compat(device_t, device_t);
         
         /*
        - * Clock interface.
        - */
        -static int nexus_gettime(device_t, struct timespec *);
        -static int nexus_settime(device_t, struct timespec *);
        -
        -/*
          * Local routines
          */
         static device_t	nexus_device_from_node(device_t, phandle_t);
        @@ -179,10 +171,6 @@ static device_method_t nexus_methods[] =
         	DEVMETHOD(ofw_bus_get_type, nexus_ofw_get_type),
         	DEVMETHOD(ofw_bus_get_compat, nexus_ofw_get_compat),
         
        -	/* Clock interface */
        -	DEVMETHOD(clock_gettime,	nexus_gettime),
        -	DEVMETHOD(clock_settime,	nexus_settime),
        -
         	{ 0, 0 }
         };
         
        @@ -238,7 +226,6 @@ nexus_attach(device_t dev)
         
         	}
         
        -	clock_register(dev, 1000);
         	return (bus_generic_attach(dev));
         }
         
        @@ -510,50 +497,3 @@ nexus_ofw_get_compat(device_t bus, devic
         	return (dinfo->ndi_compatible);
         }
         
        -#define	DIFF19041970	2082844800
        -
        -static int
        -nexus_gettime(device_t dev, struct timespec *ts)
        -{
        -	char path[128];
        -	ihandle_t ih;
        -	phandle_t ph;
        -	u_int rtc;
        -
        -	ph = OF_finddevice("rtc");
        -	if (ph == -1)
        -		return (ENOENT);
        -
        -	OF_package_to_path(ph, path, sizeof(path));
        -	ih = OF_open(path);
        -	if (ih == -1)
        -		return (ENXIO);
        -
        -	if (OF_call_method("read-rtc", ih, 0, 1, &rtc))
        -		return (EIO);
        -
        -	ts->tv_sec = rtc - DIFF19041970;
        -	ts->tv_nsec = 0;
        -	return (0);
        -}
        -
        -static int
        -nexus_settime(device_t dev, struct timespec *ts)
        -{
        -	char path[128];
        -	ihandle_t ih;
        -	phandle_t ph;     
        -	u_int rtc;
        -
        -	ph = OF_finddevice("rtc");     
        -	if (ph == -1)     
        -		return (ENOENT);
        -
        -	OF_package_to_path(ph, path, sizeof(path));                   
        -	ih = OF_open(path);
        -	if (ih == -1)
        -		return (ENXIO);
        -
        -	rtc = ts->tv_sec + DIFF19041970;
        -	return ((OF_call_method("write-rtc", ih, 1, 0, rtc) != 0) ? EIO : 0);
        -}
        
        Modified: projects/ppc64/sys/powerpc/powermac/cuda.c
        ==============================================================================
        --- projects/ppc64/sys/powerpc/powermac/cuda.c	Tue Mar 23 03:14:44 2010	(r205506)
        +++ projects/ppc64/sys/powerpc/powermac/cuda.c	Tue Mar 23 03:22:16 2010	(r205507)
        @@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$");
         #include 
         #include 
         #include 
        +#include 
         
         #include 
         #include 
        @@ -55,6 +56,7 @@ __FBSDID("$FreeBSD$");
         
         #include 
         
        +#include "clock_if.h"
         #include "cudavar.h"
         #include "viareg.h"
         
        @@ -72,6 +74,12 @@ static u_int	cuda_poll(device_t dev);
         static void	cuda_send_inbound(struct cuda_softc *sc);
         static void	cuda_send_outbound(struct cuda_softc *sc);
         
        +/*
        + * Clock interface
        + */
        +static int cuda_gettime(device_t dev, struct timespec *ts);
        +static int cuda_settime(device_t dev, struct timespec *ts);
        +
         static device_method_t  cuda_methods[] = {
         	/* Device interface */
         	DEVMETHOD(device_probe,		cuda_probe),
        @@ -90,6 +98,10 @@ static device_method_t  cuda_methods[] =
         	DEVMETHOD(adb_hb_controller_poll,	cuda_poll),
         	DEVMETHOD(adb_hb_set_autopoll_mask,	cuda_adb_autopoll),
         
        +	/* Clock interface */
        +	DEVMETHOD(clock_gettime,	cuda_gettime),
        +	DEVMETHOD(clock_settime,	cuda_settime),
        +
         	{ 0, 0 },
         };
         
        @@ -173,6 +185,7 @@ cuda_attach(device_t dev)
         	sc->sc_polling = 0;
         	sc->sc_state = CUDA_NOTREADY;
         	sc->sc_autopoll = 0;
        +	sc->sc_rtc = -1;
         
         	STAILQ_INIT(&sc->sc_inq);
         	STAILQ_INIT(&sc->sc_outq);
        @@ -236,6 +249,8 @@ cuda_attach(device_t dev)
         		}
         	}
         
        +	clock_register(dev, 1000);
        +
         	return (bus_generic_attach(dev));
         }
         
        @@ -444,8 +459,18 @@ cuda_send_inbound(struct cuda_softc *sc)
         			break;
         		   case CUDA_PSEUDO:
         			mtx_lock(&sc->sc_mutex);
        -			if (pkt->data[0] == CMD_AUTOPOLL)
        +			switch (pkt->data[1]) {
        +			case CMD_AUTOPOLL:
         				sc->sc_autopoll = 1;
        +				break;
        +			case CMD_READ_RTC:
        +				memcpy(&sc->sc_rtc, &pkt->data[2],
        +				    sizeof(sc->sc_rtc));
        +				wakeup(&sc->sc_rtc);
        +				break;
        +			case CMD_WRITE_RTC:
        +				break;
        +			}
         			mtx_unlock(&sc->sc_mutex);
         			break;
         		   case CUDA_ERROR:
        @@ -715,3 +740,41 @@ cuda_adb_autopoll(device_t dev, uint16_t
         	return (0);
         }
         
        +#define DIFF19041970	2082844800
        +
        +static int
        +cuda_gettime(device_t dev, struct timespec *ts)
        +{
        +	struct cuda_softc *sc = device_get_softc(dev);
        +	uint8_t cmd[] = {CUDA_PSEUDO, CMD_READ_RTC};
        +
        +	mtx_lock(&sc->sc_mutex);
        +	sc->sc_rtc = -1;
        +	cuda_send(sc, 1, 2, cmd);
        +	if (sc->sc_rtc == -1)
        +		mtx_sleep(&sc->sc_rtc, &sc->sc_mutex, 0, "rtc", 100);
        +
        +	ts->tv_sec = sc->sc_rtc - DIFF19041970;
        +	ts->tv_nsec = 0;
        +	mtx_unlock(&sc->sc_mutex);
        +
        +	return (0);
        +}
        +
        +static int
        +cuda_settime(device_t dev, struct timespec *ts)
        +{
        +	struct cuda_softc *sc = device_get_softc(dev);
        +	uint8_t cmd[] = {CUDA_PSEUDO, CMD_WRITE_RTC, 0, 0, 0, 0};
        +	uint32_t sec;
        +
        +	sec = ts->tv_sec + DIFF19041970;
        +	memcpy(&cmd[2], &sec, sizeof(sec));
        +
        +	mtx_lock(&sc->sc_mutex);
        +	cuda_send(sc, 0, 6, cmd);
        +	mtx_unlock(&sc->sc_mutex);
        +
        +	return (0);
        +}
        +
        
        Modified: projects/ppc64/sys/powerpc/powermac/cudavar.h
        ==============================================================================
        --- projects/ppc64/sys/powerpc/powermac/cudavar.h	Tue Mar 23 03:14:44 2010	(r205506)
        +++ projects/ppc64/sys/powerpc/powermac/cudavar.h	Tue Mar 23 03:22:16 2010	(r205507)
        @@ -90,6 +90,7 @@ struct cuda_softc {
         	int		sc_polling;
         	int		sc_iic_done;
         	volatile int	sc_autopoll;
        +	uint32_t	sc_rtc;
         
         	int sc_i2c_read_len;
         
        
        Modified: projects/ppc64/sys/powerpc/powermac/pmu.c
        ==============================================================================
        --- projects/ppc64/sys/powerpc/powermac/pmu.c	Tue Mar 23 03:14:44 2010	(r205506)
        +++ projects/ppc64/sys/powerpc/powermac/pmu.c	Tue Mar 23 03:22:16 2010	(r205507)
        @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$");
         #include 
         #include 
         #include 
        +#include 
         #include 
         
         #include 
        @@ -55,16 +56,27 @@ __FBSDID("$FreeBSD$");
         
         #include 
         
        +#include "clock_if.h"
         #include "pmuvar.h"
         #include "viareg.h"
         
         /*
        - * MacIO interface
        + * Bus interface
          */
         static int	pmu_probe(device_t);
         static int	pmu_attach(device_t);
         static int	pmu_detach(device_t);
         
        +/*
        + * Clock interface
        + */
        +static int	pmu_gettime(device_t dev, struct timespec *ts);
        +static int	pmu_settime(device_t dev, struct timespec *ts);
        +
        +/*
        + * ADB Interface
        + */
        +
         static u_int	pmu_adb_send(device_t dev, u_char command_byte, int len, 
         		    u_char *data, u_char poll);
         static u_int	pmu_adb_autopoll(device_t dev, uint16_t mask);
        @@ -110,6 +122,10 @@ static device_method_t  pmu_methods[] = 
         	DEVMETHOD(adb_hb_controller_poll,   pmu_poll),
         	DEVMETHOD(adb_hb_set_autopoll_mask, pmu_adb_autopoll),
         
        +	/* Clock interface */
        +	DEVMETHOD(clock_gettime,	pmu_gettime),
        +	DEVMETHOD(clock_settime,	pmu_settime),
        +
         	{ 0, 0 },
         };
         
        @@ -453,6 +469,12 @@ pmu_attach(device_t dev)
         
         	sc->sc_leddev = led_create(pmu_set_sleepled, sc, "sleepled");
         
        +	/*
        +	 * Register RTC
        +	 */
        +
        +	clock_register(dev, 1000);
        +
         	return (bus_generic_attach(dev));
         }
         
        @@ -926,3 +948,38 @@ pmu_battquery_sysctl(SYSCTL_HANDLER_ARGS
         	return (error);
         }
         
        +#define DIFF19041970	2082844800
        +
        +static int
        +pmu_gettime(device_t dev, struct timespec *ts)
        +{
        +	struct pmu_softc *sc = device_get_softc(dev);
        +	uint8_t resp[16];
        +	uint32_t sec;
        +
        +	mtx_lock(&sc->sc_mutex);
        +	pmu_send(sc, PMU_READ_RTC, 0, NULL, 16, resp);
        +	mtx_unlock(&sc->sc_mutex);
        +
        +	memcpy(&sec, &resp[1], 4);
        +	ts->tv_sec = sec - DIFF19041970;
        +	ts->tv_nsec = 0;
        +
        +	return (0);
        +}
        +
        +static int
        +pmu_settime(device_t dev, struct timespec *ts)
        +{
        +	struct pmu_softc *sc = device_get_softc(dev);
        +	uint32_t sec;
        +
        +	sec = ts->tv_sec + DIFF19041970;
        +
        +	mtx_lock(&sc->sc_mutex);
        +	pmu_send(sc, PMU_SET_RTC, sizeof(sec), (uint8_t *)&sec, 0, NULL);
        +	mtx_unlock(&sc->sc_mutex);
        +
        +	return (0);
        +}
        +
        
        Modified: projects/ppc64/sys/powerpc/powermac/smu.c
        ==============================================================================
        --- projects/ppc64/sys/powerpc/powermac/smu.c	Tue Mar 23 03:14:44 2010	(r205506)
        +++ projects/ppc64/sys/powerpc/powermac/smu.c	Tue Mar 23 03:22:16 2010	(r205507)
        @@ -34,6 +34,7 @@ __FBSDID("$FreeBSD$");
         #include 
         #include 
         #include 
        +#include 
         #include 
         #include 
         #include 
        @@ -51,6 +52,8 @@ __FBSDID("$FreeBSD$");
         #include 
         #include 
         
        +#include "clock_if.h"
        +
         struct smu_cmd {
         	volatile uint8_t cmd;
         	uint8_t		len;
        @@ -140,6 +143,10 @@ static int	smu_attach(device_t);
         static void	smu_cpufreq_pre_change(device_t, const struct cf_level *level);
         static void	smu_cpufreq_post_change(device_t, const struct cf_level *level);
         
        +/* clock interface */
        +static int	smu_gettime(device_t dev, struct timespec *ts);
        +static int	smu_settime(device_t dev, struct timespec *ts);
        +
         /* utility functions */
         static int	smu_run_cmd(device_t dev, struct smu_cmd *cmd, int wait);
         static int	smu_get_datablock(device_t dev, int8_t id, uint8_t *buf,
        @@ -160,6 +167,10 @@ static device_method_t  smu_methods[] = 
         	/* Device interface */
         	DEVMETHOD(device_probe,		smu_probe),
         	DEVMETHOD(device_attach,	smu_attach),
        +
        +	/* Clock interface */
        +	DEVMETHOD(clock_gettime,	smu_gettime),
        +	DEVMETHOD(clock_settime,	smu_settime),
         	{ 0, 0 },
         };
         
        @@ -192,6 +203,9 @@ MALLOC_DEFINE(M_SMU, "smu", "SMU Sensor 
         #define  SMU_PWR_GET_POWERUP	0x00
         #define  SMU_PWR_SET_POWERUP	0x01
         #define  SMU_PWR_CLR_POWERUP	0x02
        +#define SMU_RTC			0x8e
        +#define  SMU_RTC_GET		0x81
        +#define  SMU_RTC_SET		0x80
         
         /* Power event types */
         #define SMU_WAKEUP_KEYPRESS	0x01
        @@ -349,6 +363,11 @@ smu_attach(device_t dev)
         	powerpc_config_intr(rman_get_start(sc->sc_doorbellirq),
         	    INTR_TRIGGER_EDGE, INTR_POLARITY_LOW);
         
        +	/*
        +	 * Connect RTC interface.
        +	 */
        +	clock_register(dev, 1000);
        +
         	return (0);
         }
         
        @@ -1043,3 +1062,51 @@ smu_server_mode(SYSCTL_HANDLER_ARGS)
         	return (smu_run_cmd(smu, &cmd, 1));
         }
         
        +static int
        +smu_gettime(device_t dev, struct timespec *ts)
        +{
        +	struct smu_cmd cmd;
        +	struct clocktime ct;
        +
        +	cmd.cmd = SMU_RTC;
        +	cmd.len = 1;
        +	cmd.data[0] = SMU_RTC_GET;
        +
        +	if (smu_run_cmd(dev, &cmd, 1) != 0)
        +		return (ENXIO);
        +
        +	ct.nsec	= 0;
        +	ct.sec	= bcd2bin(cmd.data[0]);
        +	ct.min	= bcd2bin(cmd.data[1]);
        +	ct.hour	= bcd2bin(cmd.data[2]);
        +	ct.dow	= bcd2bin(cmd.data[3]);
        +	ct.day	= bcd2bin(cmd.data[4]);
        +	ct.mon	= bcd2bin(cmd.data[5]);
        +	ct.year	= bcd2bin(cmd.data[6]) + 2000;
        +
        +	return (clock_ct_to_ts(&ct, ts));
        +}
        +
        +static int
        +smu_settime(device_t dev, struct timespec *ts)
        +{
        +	struct smu_cmd cmd;
        +	struct clocktime ct;
        +
        +	cmd.cmd = SMU_RTC;
        +	cmd.len = 8;
        +	cmd.data[0] = SMU_RTC_SET;
        +
        +	clock_ts_to_ct(ts, &ct);
        +
        +	cmd.data[1] = bin2bcd(ct.sec);
        +	cmd.data[2] = bin2bcd(ct.min);
        +	cmd.data[3] = bin2bcd(ct.hour);
        +	cmd.data[4] = bin2bcd(ct.dow);
        +	cmd.data[5] = bin2bcd(ct.day);
        +	cmd.data[6] = bin2bcd(ct.mon);
        +	cmd.data[7] = bin2bcd(ct.year - 2000);
        +
        +	return (smu_run_cmd(dev, &cmd, 1));
        +}
        +
        
        From owner-svn-src-projects@FreeBSD.ORG  Tue Mar 23 04:07:50 2010
        Return-Path: 
        Delivered-To: svn-src-projects@freebsd.org
        Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
        	by hub.freebsd.org (Postfix) with ESMTP id 4E7C8106566C;
        	Tue, 23 Mar 2010 04:07:50 +0000 (UTC)
        	(envelope-from nwhitehorn@FreeBSD.org)
        Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
        	by mx1.freebsd.org (Postfix) with ESMTP id 3B1158FC17;
        	Tue, 23 Mar 2010 04:07:50 +0000 (UTC)
        Received: from svn.freebsd.org (localhost [127.0.0.1])
        	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2N47oaO051541;
        	Tue, 23 Mar 2010 04:07:50 GMT
        	(envelope-from nwhitehorn@svn.freebsd.org)
        Received: (from nwhitehorn@localhost)
        	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2N47oTH051538;
        	Tue, 23 Mar 2010 04:07:50 GMT
        	(envelope-from nwhitehorn@svn.freebsd.org)
        Message-Id: <201003230407.o2N47oTH051538@svn.freebsd.org>
        From: Nathan Whitehorn 
        Date: Tue, 23 Mar 2010 04:07:50 +0000 (UTC)
        To: src-committers@freebsd.org, svn-src-projects@freebsd.org
        X-SVN-Group: projects
        MIME-Version: 1.0
        Content-Type: text/plain; charset=UTF-8
        Content-Transfer-Encoding: 8bit
        Cc: 
        Subject: svn commit: r205508 - in projects/ppc64/sys/powerpc: aim ofw
        X-BeenThere: svn-src-projects@freebsd.org
        X-Mailman-Version: 2.1.5
        Precedence: list
        List-Id: "SVN commit messages for the src " projects"
        	tree" 
        List-Unsubscribe: , 
        	
        List-Archive: 
        List-Post: 
        List-Help: 
        List-Subscribe: , 
        	
        X-List-Received-Date: Tue, 23 Mar 2010 04:07:50 -0000
        
        Author: nwhitehorn
        Date: Tue Mar 23 04:07:49 2010
        New Revision: 205508
        URL: http://svn.freebsd.org/changeset/base/205508
        
        Log:
          Now that OF command buffers are on the stack (so above 4 GB), we need to
          put them into the real mapping buffer too. As a side effect, this
          eliminates a hack for OF real mode in ofw_machdep.c.
        
        Modified:
          projects/ppc64/sys/powerpc/aim/ofw_machdep.c
          projects/ppc64/sys/powerpc/ofw/ofw_real.c
        
        Modified: projects/ppc64/sys/powerpc/aim/ofw_machdep.c
        ==============================================================================
        --- projects/ppc64/sys/powerpc/aim/ofw_machdep.c	Tue Mar 23 03:22:16 2010	(r205507)
        +++ projects/ppc64/sys/powerpc/aim/ofw_machdep.c	Tue Mar 23 04:07:49 2010	(r205508)
        @@ -385,9 +385,6 @@ openfirmware(void *args)
         	 */
         	oldmsr = intr_disable();
         
        -	if (pmap_bootstrapped && ofw_real_mode)
        -		args = (void *)pmap_kextract((vm_offset_t)args);
        -
         	mtx_lock(&ofw_mutex);
         
         	ofw_sprg_prepare();
        
        Modified: projects/ppc64/sys/powerpc/ofw/ofw_real.c
        ==============================================================================
        --- projects/ppc64/sys/powerpc/ofw/ofw_real.c	Tue Mar 23 03:22:16 2010	(r205507)
        +++ projects/ppc64/sys/powerpc/ofw/ofw_real.c	Tue Mar 23 04:07:49 2010	(r205508)
        @@ -304,6 +304,7 @@ ofw_real_init(ofw_t ofw, void *openfirm)
         static int
         ofw_real_test(ofw_t ofw, const char *name)
         {
        +	vm_offset_t argsptr;
         	struct {
         		cell_t name;
         		cell_t nargs;
        @@ -319,10 +320,12 @@ ofw_real_test(ofw_t ofw, const char *nam
         	ofw_real_start();
         
         	args.service = ofw_real_map(name, strlen(name) + 1);
        -	if (args.service == 0 || openfirmware(&args) == -1) {
        +	argsptr = ofw_real_map(&args, sizeof(args));
        +	if (args.service == 0 || openfirmware((void *)argsptr) == -1) {
         		ofw_real_stop();
         		return (-1);
         	}
        +	ofw_real_unmap(argsptr, &args, sizeof(args));
         	ofw_real_stop();
         	return (args.missing);
         }
        @@ -335,6 +338,7 @@ ofw_real_test(ofw_t ofw, const char *nam
         static phandle_t
         ofw_real_peer(ofw_t ofw, phandle_t node)
         {
        +	vm_offset_t argsptr;
         	struct {
         		cell_t name;
         		cell_t nargs;
        @@ -348,8 +352,14 @@ ofw_real_peer(ofw_t ofw, phandle_t node)
         	args.nreturns = 1;
         
         	args.node = node;
        -	if (openfirmware(&args) == -1)
        +	ofw_real_start();
        +	argsptr = ofw_real_map(&args, sizeof(args));
        +	if (openfirmware((void *)argsptr) == -1) {
        +		ofw_real_stop();
         		return (-1);
        +	}
        +	ofw_real_unmap(argsptr, &args, sizeof(args));
        +	ofw_real_stop();
         	return (args.next);
         }
         
        @@ -357,6 +367,7 @@ ofw_real_peer(ofw_t ofw, phandle_t node)
         static phandle_t
         ofw_real_child(ofw_t ofw, phandle_t node)
         {
        +	vm_offset_t argsptr;
         	struct {
         		cell_t name;
         		cell_t nargs;
        @@ -370,8 +381,14 @@ ofw_real_child(ofw_t ofw, phandle_t node
         	args.nreturns = 1;
         
         	args.node = node;
        -	if (openfirmware(&args) == -1)
        +	ofw_real_start();
        +	argsptr = ofw_real_map(&args, sizeof(args));
        +	if (openfirmware((void *)argsptr) == -1) {
        +		ofw_real_stop();
         		return (-1);
        +	}
        +	ofw_real_unmap(argsptr, &args, sizeof(args));
        +	ofw_real_stop();
         	return (args.child);
         }
         
        @@ -379,6 +396,7 @@ ofw_real_child(ofw_t ofw, phandle_t node
         static phandle_t
         ofw_real_parent(ofw_t ofw, phandle_t node)
         {
        +	vm_offset_t argsptr;
         	struct {
         		cell_t name;
         		cell_t nargs;
        @@ -392,8 +410,14 @@ ofw_real_parent(ofw_t ofw, phandle_t nod
         	args.nreturns = 1;
         
         	args.node = node;
        -	if (openfirmware(&args) == -1)
        +	ofw_real_start();
        +	argsptr = ofw_real_map(&args, sizeof(args));
        +	if (openfirmware((void *)argsptr) == -1) {
        +		ofw_real_stop();
         		return (-1);
        +	}
        +	ofw_real_unmap(argsptr, &args, sizeof(args));
        +	ofw_real_stop();
         	return (args.parent);
         }
         
        @@ -401,6 +425,7 @@ ofw_real_parent(ofw_t ofw, phandle_t nod
         static phandle_t
         ofw_real_instance_to_package(ofw_t ofw, ihandle_t instance)
         {
        +	vm_offset_t argsptr;
         	struct {
         		cell_t name;
         		cell_t nargs;
        @@ -414,8 +439,14 @@ ofw_real_instance_to_package(ofw_t ofw, 
         	args.nreturns = 1;
         
         	args.instance = instance;
        -	if (openfirmware(&args) == -1)
        +	ofw_real_start();
        +	argsptr = ofw_real_map(&args, sizeof(args));
        +	if (openfirmware((void *)argsptr) == -1) {
        +		ofw_real_stop();
         		return (-1);
        +	}
        +	ofw_real_unmap(argsptr, &args, sizeof(args));
        +	ofw_real_stop();
         	return (args.package);
         }
         
        @@ -423,6 +454,7 @@ ofw_real_instance_to_package(ofw_t ofw, 
         static ssize_t
         ofw_real_getproplen(ofw_t ofw, phandle_t package, const char *propname)
         {
        +	vm_offset_t argsptr;
         	struct {
         		cell_t name;
         		cell_t nargs;
        @@ -440,10 +472,12 @@ ofw_real_getproplen(ofw_t ofw, phandle_t
         
         	args.package = package;
         	args.propname = ofw_real_map(propname, strlen(propname) + 1);
        -	if (args.propname == 0 || openfirmware(&args) == -1) {
        +	argsptr = ofw_real_map(&args, sizeof(args));
        +	if (args.propname == 0 || openfirmware((void *)argsptr) == -1) {
         		ofw_real_stop();
         		return (-1);
         	}
        +	ofw_real_unmap(argsptr, &args, sizeof(args));
         	ofw_real_stop();
         	return (args.proplen);
         }
        @@ -453,6 +487,7 @@ static ssize_t
         ofw_real_getprop(ofw_t ofw, phandle_t package, const char *propname, void *buf, 
             size_t buflen)
         {
        +	vm_offset_t argsptr;
         	struct {
         		cell_t name;
         		cell_t nargs;
        @@ -474,10 +509,13 @@ ofw_real_getprop(ofw_t ofw, phandle_t pa
         	args.propname = ofw_real_map(propname, strlen(propname) + 1);
         	args.buf = ofw_real_map(buf, buflen);
         	args.buflen = buflen;
        -	if (args.propname == 0 || args.buf == 0 || openfirmware(&args) == -1) {
        +	argsptr = ofw_real_map(&args, sizeof(args));
        +	if (args.propname == 0 || args.buf == 0 ||
        +	    openfirmware((void *)argsptr) == -1) {
         		ofw_real_stop();
         		return (-1);
         	}
        +	ofw_real_unmap(argsptr, &args, sizeof(args));
         	ofw_real_unmap(args.buf, buf, buflen);
         
         	ofw_real_stop();
        @@ -489,6 +527,7 @@ static int
         ofw_real_nextprop(ofw_t ofw, phandle_t package, const char *previous, 
             char *buf, size_t size)
         {
        +	vm_offset_t argsptr;
         	struct {
         		cell_t name;
         		cell_t nargs;
        @@ -508,10 +547,13 @@ ofw_real_nextprop(ofw_t ofw, phandle_t p
         	args.package = package;
         	args.previous = ofw_real_map(previous, strlen(previous) + 1);
         	args.buf = ofw_real_map(buf, size);
        -	if (args.previous == 0 || args.buf == 0 || openfirmware(&args) == -1) {
        +	argsptr = ofw_real_map(&args, sizeof(args));
        +	if (args.previous == 0 || args.buf == 0 ||
        +	    openfirmware((void *)argsptr) == -1) {
         		ofw_real_stop();
         		return (-1);
         	}
        +	ofw_real_unmap(argsptr, &args, sizeof(args));
         	ofw_real_unmap(args.buf, buf, size);
         
         	ofw_real_stop();
        @@ -524,6 +566,7 @@ static int
         ofw_real_setprop(ofw_t ofw, phandle_t package, const char *propname,
             const void *buf, size_t len)
         {
        +	vm_offset_t argsptr;
         	struct {
         		cell_t name;
         		cell_t nargs;
        @@ -545,10 +588,13 @@ ofw_real_setprop(ofw_t ofw, phandle_t pa
         	args.propname = ofw_real_map(propname, strlen(propname) + 1);
         	args.buf = ofw_real_map(buf, len);
         	args.len = len;
        -	if (args.propname == 0 || args.buf == 0 || openfirmware(&args) == -1) {
        +	argsptr = ofw_real_map(&args, sizeof(args));
        +	if (args.propname == 0 || args.buf == 0 ||
        +	    openfirmware((void *)argsptr) == -1) {
         		ofw_real_stop();
         		return (-1);
         	}
        +	ofw_real_unmap(argsptr, &args, sizeof(args));
         	ofw_real_stop();
         	return (args.size);
         }
        @@ -557,6 +603,7 @@ ofw_real_setprop(ofw_t ofw, phandle_t pa
         static ssize_t
         ofw_real_canon(ofw_t ofw, const char *device, char *buf, size_t len)
         {
        +	vm_offset_t argsptr;
         	struct {
         		cell_t name;
         		cell_t nargs;
        @@ -576,10 +623,13 @@ ofw_real_canon(ofw_t ofw, const char *de
         	args.device = ofw_real_map(device, strlen(device) + 1);
         	args.buf = ofw_real_map(buf, len);
         	args.len = len;
        -	if (args.device == 0 || args.buf == 0 || openfirmware(&args) == -1) {
        +	argsptr = ofw_real_map(&args, sizeof(args));
        +	if (args.device == 0 || args.buf == 0 ||
        +	    openfirmware((void *)argsptr) == -1) {
         		ofw_real_stop();
         		return (-1);
         	}
        +	ofw_real_unmap(argsptr, &args, sizeof(args));
         	ofw_real_unmap(args.buf, buf, len);
         
         	ofw_real_stop();
        @@ -590,6 +640,7 @@ ofw_real_canon(ofw_t ofw, const char *de
         static phandle_t
         ofw_real_finddevice(ofw_t ofw, const char *device)
         {
        +	vm_offset_t argsptr;
         	struct {
         		cell_t name;
         		cell_t nargs;
        @@ -605,10 +656,13 @@ ofw_real_finddevice(ofw_t ofw, const cha
         	ofw_real_start();
         
         	args.device = ofw_real_map(device, strlen(device) + 1);
        -	if (args.device == 0 || openfirmware(&args) == -1) {
        +	argsptr = ofw_real_map(&args, sizeof(args));
        +	if (args.device == 0 ||
        +	    openfirmware((void *)argsptr) == -1) {
         		ofw_real_stop();
         		return (-1);
         	}
        +	ofw_real_unmap(argsptr, &args, sizeof(args));
         	ofw_real_stop();
         	return (args.package);
         }
        @@ -617,6 +671,7 @@ ofw_real_finddevice(ofw_t ofw, const cha
         static ssize_t
         ofw_real_instance_to_path(ofw_t ofw, ihandle_t instance, char *buf, size_t len)
         {
        +	vm_offset_t argsptr;
         	struct {
         		cell_t name;
         		cell_t nargs;
        @@ -636,10 +691,13 @@ ofw_real_instance_to_path(ofw_t ofw, iha
         	args.instance = instance;
         	args.buf = ofw_real_map(buf, len);
         	args.len = len;
        -	if (args.buf == 0 || openfirmware(&args) == -1) {
        +	argsptr = ofw_real_map(&args, sizeof(args));
        +	if (args.buf == 0 ||
        +	    openfirmware((void *)argsptr) == -1) {
         		ofw_real_stop();
         		return (-1);
         	}
        +	ofw_real_unmap(argsptr, &args, sizeof(args));
         	ofw_real_unmap(args.buf, buf, len);
         
         	ofw_real_stop();
        @@ -650,6 +708,7 @@ ofw_real_instance_to_path(ofw_t ofw, iha
         static ssize_t
         ofw_real_package_to_path(ofw_t ofw, phandle_t package, char *buf, size_t len)
         {
        +	vm_offset_t argsptr;
         	struct {
         		cell_t name;
         		cell_t nargs;
        @@ -669,10 +728,13 @@ ofw_real_package_to_path(ofw_t ofw, phan
         	args.package = package;
         	args.buf = ofw_real_map(buf, len);
         	args.len = len;
        -	if (args.buf == 0 || openfirmware(&args) == -1) {
        +	argsptr = ofw_real_map(&args, sizeof(args));
        +	if (args.buf == 0 ||
        +	    openfirmware((void *)argsptr) == -1) {
         		ofw_real_stop();
         		return (-1);
         	}
        +	ofw_real_unmap(argsptr, &args, sizeof(args));
         	ofw_real_unmap(args.buf, buf, len);
         
         	ofw_real_stop();
        @@ -684,6 +746,7 @@ static int
         ofw_real_call_method(ofw_t ofw, ihandle_t instance, const char *method, 
             int nargs, int nreturns, cell_t *args_and_returns)
         {
        +	vm_offset_t argsptr;
         	struct {
         		cell_t name;
         		cell_t nargs;
        @@ -711,10 +774,13 @@ ofw_real_call_method(ofw_t ofw, ihandle_
         	ap = args_and_returns;
         	for (cp = args.args_n_results + (n = nargs); --n >= 0;)
         		*--cp = *(ap++);
        -	if (args.method == 0 || openfirmware(&args) == -1) {
        +	argsptr = ofw_real_map(&args, sizeof(args));
        +	if (args.method == 0 ||
        +	    openfirmware((void *)argsptr) == -1) {
         		ofw_real_stop();
         		return (-1);
         	}
        +	ofw_real_unmap(argsptr, &args, sizeof(args));
         	ofw_real_stop();
         	if (args.args_n_results[nargs])
         		return (args.args_n_results[nargs]);
        @@ -727,6 +793,7 @@ static int
         ofw_real_interpret(ofw_t ofw, const char *cmd, int nreturns,
             unsigned long *returns)
         {
        +	vm_offset_t argsptr;
         	struct {
         		cell_t name;
         		cell_t nargs;
        @@ -742,14 +809,16 @@ ofw_real_interpret(ofw_t ofw, const char
         	ofw_real_start();
         	args.nreturns = ++nreturns;
         	args.slot[i++] = ofw_real_map(cmd, strlen(cmd) + 1);
        -	if (openfirmware(&args) == -1) {
        +	argsptr = ofw_real_map(&args, sizeof(args));
        +	if (openfirmware((void *)argsptr) == -1) {
         		ofw_real_stop();
         		return (-1);
         	}
        +	ofw_real_unmap(argsptr, &args, sizeof(args));
        +	ofw_real_stop();
         	status = args.slot[i++];
         	while (i < 1 + nreturns)
         		returns[j++] = args.slot[i++];
        -	ofw_real_stop();
         	return (status);
         }
         
        @@ -761,6 +830,7 @@ ofw_real_interpret(ofw_t ofw, const char
         static ihandle_t
         ofw_real_open(ofw_t ofw, const char *device)
         {
        +	vm_offset_t argsptr;
         	struct {
         		cell_t name;
         		cell_t nargs;
        @@ -776,11 +846,13 @@ ofw_real_open(ofw_t ofw, const char *dev
         	ofw_real_start();
         
         	args.device = ofw_real_map(device, strlen(device) + 1);
        -	if (args.device == 0 || openfirmware(&args) == -1 
        +	argsptr = ofw_real_map(&args, sizeof(args));
        +	if (args.device == 0 || openfirmware((void *)argsptr) == -1 
         	    || args.instance == 0) {
         		ofw_real_stop();
         		return (-1);
         	}
        +	ofw_real_unmap(argsptr, &args, sizeof(args));
         	ofw_real_stop();
         	return (args.instance);
         }
        @@ -789,6 +861,7 @@ ofw_real_open(ofw_t ofw, const char *dev
         static void
         ofw_real_close(ofw_t ofw, ihandle_t instance)
         {
        +	vm_offset_t argsptr;
         	struct {
         		cell_t name;
         		cell_t nargs;
        @@ -800,13 +873,17 @@ ofw_real_close(ofw_t ofw, ihandle_t inst
         	args.nargs = 1;
         
         	args.instance = instance;
        -	openfirmware(&args);
        +	ofw_real_start();
        +	argsptr = ofw_real_map(&args, sizeof(args));
        +	openfirmware((void *)argsptr);
        +	ofw_real_stop();
         }
         
         /* Read from an instance. */
         static ssize_t
         ofw_real_read(ofw_t ofw, ihandle_t instance, void *addr, size_t len)
         {
        +	vm_offset_t argsptr;
         	struct {
         		cell_t name;
         		cell_t nargs;
        @@ -826,10 +903,12 @@ ofw_real_read(ofw_t ofw, ihandle_t insta
         	args.instance = instance;
         	args.addr = ofw_real_map(addr, len);
         	args.len = len;
        -	if (args.addr == 0 || openfirmware(&args) == -1) {
        +	argsptr = ofw_real_map(&args, sizeof(args));
        +	if (args.addr == 0 || openfirmware((void *)argsptr) == -1) {
         		ofw_real_stop();
         		return (-1);
         	}
        +	ofw_real_unmap(argsptr, &args, sizeof(args));
         	ofw_real_unmap(args.addr, addr, len);
         
         	ofw_real_stop();
        @@ -840,6 +919,7 @@ ofw_real_read(ofw_t ofw, ihandle_t insta
         static ssize_t
         ofw_real_write(ofw_t ofw, ihandle_t instance, const void *addr, size_t len)
         {
        +	vm_offset_t argsptr;
         	struct {
         		cell_t name;
         		cell_t nargs;
        @@ -859,10 +939,12 @@ ofw_real_write(ofw_t ofw, ihandle_t inst
         	args.instance = instance;
         	args.addr = ofw_real_map(addr, len);
         	args.len = len;
        -	if (args.addr == 0 || openfirmware(&args) == -1) {
        +	argsptr = ofw_real_map(&args, sizeof(args));
        +	if (args.addr == 0 || openfirmware((void *)argsptr) == -1) {
         		ofw_real_stop();
         		return (-1);
         	}
        +	ofw_real_unmap(argsptr, &args, sizeof(args));
         	ofw_real_stop();
         	return (args.actual);
         }
        @@ -871,6 +953,7 @@ ofw_real_write(ofw_t ofw, ihandle_t inst
         static int
         ofw_real_seek(ofw_t ofw, ihandle_t instance, u_int64_t pos)
         {
        +	vm_offset_t argsptr;
         	struct {
         		cell_t name;
         		cell_t nargs;
        @@ -888,8 +971,14 @@ ofw_real_seek(ofw_t ofw, ihandle_t insta
         	args.instance = instance;
         	args.poshi = pos >> 32;
         	args.poslo = pos;
        -	if (openfirmware(&args) == -1)
        +	ofw_real_start();
        +	argsptr = ofw_real_map(&args, sizeof(args));
        +	if (openfirmware((void *)argsptr) == -1) {
        +		ofw_real_stop();
         		return (-1);
        +	}
        +	ofw_real_unmap(argsptr, &args, sizeof(args));
        +	ofw_real_stop();
         	return (args.status);
         }
         
        @@ -901,6 +990,7 @@ ofw_real_seek(ofw_t ofw, ihandle_t insta
         static caddr_t
         ofw_real_claim(ofw_t ofw, void *virt, size_t size, u_int align)
         {
        +	vm_offset_t argsptr;
         	struct {
         		cell_t name;
         		cell_t nargs;
        @@ -918,8 +1008,14 @@ ofw_real_claim(ofw_t ofw, void *virt, si
         	args.virt = (cell_t)(uintptr_t)virt;
         	args.size = size;
         	args.align = align;
        -	if (openfirmware(&args) == -1)
        +	ofw_real_start();
        +	argsptr = ofw_real_map(&args, sizeof(args));
        +	if (openfirmware((void *)argsptr) == -1) {
        +		ofw_real_stop();
         		return ((void *)-1);
        +	}
        +	ofw_real_unmap(argsptr, &args, sizeof(args));
        +	ofw_real_stop();
         	return ((void *)(uintptr_t)args.baseaddr);
         }
         
        @@ -927,6 +1023,7 @@ ofw_real_claim(ofw_t ofw, void *virt, si
         static void
         ofw_real_release(ofw_t ofw, void *virt, size_t size)
         {
        +	vm_offset_t argsptr;
         	struct {
         		cell_t name;
         		cell_t nargs;
        @@ -940,7 +1037,10 @@ ofw_real_release(ofw_t ofw, void *virt, 
         
         	args.virt = (cell_t)(uintptr_t)virt;
         	args.size = size;
        -	openfirmware(&args);
        +	ofw_real_start();
        +	argsptr = ofw_real_map(&args, sizeof(args));
        +	openfirmware((void *)argsptr);
        +	ofw_real_stop();
         }
         
         /*
        @@ -951,6 +1051,7 @@ ofw_real_release(ofw_t ofw, void *virt, 
         static void
         ofw_real_enter(ofw_t ofw)
         {
        +	vm_offset_t argsptr;
         	struct {
         		cell_t name;
         		cell_t nargs;
        @@ -959,14 +1060,18 @@ ofw_real_enter(ofw_t ofw)
         
         	args.name = (cell_t)(uintptr_t)"enter";
         
        -	openfirmware(&args);
        +	ofw_real_start();
        +	argsptr = ofw_real_map(&args, sizeof(args));
        +	openfirmware((void *)argsptr);
         	/* We may come back. */
        +	ofw_real_stop();
         }
         
         /* Shut down and drop back to the Open Firmware interface. */
         static void
         ofw_real_exit(ofw_t ofw)
         {
        +	vm_offset_t argsptr;
         	struct {
         		cell_t name;
         		cell_t nargs;
        @@ -975,8 +1080,11 @@ ofw_real_exit(ofw_t ofw)
         
         	args.name = (cell_t)(uintptr_t)"exit";
         
        -	openfirmware(&args);
        +	ofw_real_start();
        +	argsptr = ofw_real_map(&args, sizeof(args));
        +	openfirmware((void *)argsptr);
         	for (;;)			/* just in case */
         		;
        +	ofw_real_stop();
         }
         
        
        From owner-svn-src-projects@FreeBSD.ORG  Tue Mar 23 15:14:46 2010
        Return-Path: 
        Delivered-To: svn-src-projects@freebsd.org
        Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
        	by hub.freebsd.org (Postfix) with ESMTP id A8FFD106566B;
        	Tue, 23 Mar 2010 15:14:46 +0000 (UTC)
        	(envelope-from nwhitehorn@FreeBSD.org)
        Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
        	by mx1.freebsd.org (Postfix) with ESMTP id 96F1E8FC0A;
        	Tue, 23 Mar 2010 15:14:46 +0000 (UTC)
        Received: from svn.freebsd.org (localhost [127.0.0.1])
        	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2NFEkWN008704;
        	Tue, 23 Mar 2010 15:14:46 GMT
        	(envelope-from nwhitehorn@svn.freebsd.org)
        Received: (from nwhitehorn@localhost)
        	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2NFEkLM008703;
        	Tue, 23 Mar 2010 15:14:46 GMT
        	(envelope-from nwhitehorn@svn.freebsd.org)
        Message-Id: <201003231514.o2NFEkLM008703@svn.freebsd.org>
        From: Nathan Whitehorn 
        Date: Tue, 23 Mar 2010 15:14:46 +0000 (UTC)
        To: src-committers@freebsd.org, svn-src-projects@freebsd.org
        X-SVN-Group: projects
        MIME-Version: 1.0
        Content-Type: text/plain; charset=UTF-8
        Content-Transfer-Encoding: 8bit
        Cc: 
        Subject: svn commit: r205517 - in projects/ppc64/sys: kern powerpc/powerpc
        	sys
        X-BeenThere: svn-src-projects@freebsd.org
        X-Mailman-Version: 2.1.5
        Precedence: list
        List-Id: "SVN commit messages for the src " projects"
        	tree" 
        List-Unsubscribe: , 
        	
        List-Archive: 
        List-Post: 
        List-Help: 
        List-Subscribe: , 
        	
        X-List-Received-Date: Tue, 23 Mar 2010 15:14:46 -0000
        
        Author: nwhitehorn
        Date: Tue Mar 23 15:14:45 2010
        New Revision: 205517
        URL: http://svn.freebsd.org/changeset/base/205517
        
        Log:
          Use an alternative solution to the nargvstr width issue. Use suword32 to
          copy it to userspace, and use the stack arguments instead of ps_strings
          in exec_setregs() like all other platforms. This avoids changing the size
          of struct ps_strings, and so should create a minimum of breakage after
          merge.
        
        Modified:
          projects/ppc64/sys/kern/kern_exec.c
          projects/ppc64/sys/powerpc/powerpc/exec_machdep.c
          projects/ppc64/sys/sys/exec.h
        
        Modified: projects/ppc64/sys/kern/kern_exec.c
        ==============================================================================
        --- projects/ppc64/sys/kern/kern_exec.c	Tue Mar 23 14:31:31 2010	(r205516)
        +++ projects/ppc64/sys/kern/kern_exec.c	Tue Mar 23 15:14:45 2010	(r205517)
        @@ -1260,7 +1260,7 @@ exec_copyout_strings(imgp)
         	 * Fill in "ps_strings" struct for ps, w, etc.
         	 */
         	suword(&arginfo->ps_argvstr, (long)(intptr_t)vectp);
        -	suword(&arginfo->ps_nargvstr, argc);
        +	suword32(&arginfo->ps_nargvstr, argc);
         
         	/*
         	 * Fill in argument portion of vector table.
        @@ -1276,7 +1276,7 @@ exec_copyout_strings(imgp)
         	suword(vectp++, 0);
         
         	suword(&arginfo->ps_envstr, (long)(intptr_t)vectp);
        -	suword(&arginfo->ps_nenvstr, envc);
        +	suword32(&arginfo->ps_nenvstr, envc);
         
         	/*
         	 * Fill in environment portion of vector table.
        
        Modified: projects/ppc64/sys/powerpc/powerpc/exec_machdep.c
        ==============================================================================
        --- projects/ppc64/sys/powerpc/powerpc/exec_machdep.c	Tue Mar 23 14:31:31 2010	(r205516)
        +++ projects/ppc64/sys/powerpc/powerpc/exec_machdep.c	Tue Mar 23 15:14:45 2010	(r205517)
        @@ -492,7 +492,7 @@ void
         exec_setregs(struct thread *td, struct image_params *imgp, u_long stack)
         {
         	struct trapframe	*tf;
        -	struct ps_strings	arginfo;
        +	register_t		argc;
         	#ifdef __powerpc64__
         	register_t		entry_desc[3];
         	#endif
        @@ -506,12 +506,6 @@ exec_setregs(struct thread *td, struct i
         	#endif
         
         	/*
        -	 * XXX Machine-independent code has already copied arguments and
        -	 * XXX environment to userland.  Get them back here.
        -	 */
        -	(void)copyin((char *)PS_STRINGS, &arginfo, sizeof(arginfo));
        -
        -	/*
         	 * Set up arguments for _start():
         	 *	_start(argc, argv, envp, obj, cleanup, ps_strings);
         	 *
        @@ -525,20 +519,24 @@ exec_setregs(struct thread *td, struct i
         	 * XXX We have to set both regs and retval here due to different
         	 * XXX calling convention in trap.c and init_main.c.
         	 */
        +
        +	/* Collect argc from the user stack */
        +	argc = fuword((void *)stack);
        +
                 /*
                  * XXX PG: these get overwritten in the syscall return code.
                  * execve() should return EJUSTRETURN, like it does on NetBSD.
                  * Emulate by setting the syscall return value cells. The
                  * registers still have to be set for init's fork trampoline.
                  */
        -        td->td_retval[0] = arginfo.ps_nargvstr;
        -        td->td_retval[1] = (register_t)arginfo.ps_argvstr;
        -	tf->fixreg[3] = arginfo.ps_nargvstr;
        -	tf->fixreg[4] = (register_t)arginfo.ps_argvstr;
        -	tf->fixreg[5] = (register_t)arginfo.ps_envstr;
        -	tf->fixreg[6] = 0;			/* auxillary vector */
        -	tf->fixreg[7] = 0;			/* termination vector */
        -	tf->fixreg[8] = (register_t)PS_STRINGS;	/* NetBSD extension */
        +        td->td_retval[0] = argc;
        +        td->td_retval[1] = stack + sizeof(register_t);
        +	tf->fixreg[3] = argc;
        +	tf->fixreg[4] = stack + sizeof(register_t);
        +	tf->fixreg[5] = stack + (2 + argc)*sizeof(register_t);
        +	tf->fixreg[6] = 0;				/* auxillary vector */
        +	tf->fixreg[7] = 0;				/* termination vector */
        +	tf->fixreg[8] = (register_t)imgp->ps_strings;	/* NetBSD extension */
         
         	#ifdef __powerpc64__
         	/*
        
        Modified: projects/ppc64/sys/sys/exec.h
        ==============================================================================
        --- projects/ppc64/sys/sys/exec.h	Tue Mar 23 14:31:31 2010	(r205516)
        +++ projects/ppc64/sys/sys/exec.h	Tue Mar 23 15:14:45 2010	(r205517)
        @@ -48,9 +48,9 @@
          */
         struct ps_strings {
         	char	**ps_argvstr;	/* first of 0 or more argument strings */
        -	unsigned long ps_nargvstr; /* the number of argument strings */
        +	unsigned int ps_nargvstr; /* the number of argument strings */
         	char	**ps_envstr;	/* first of 0 or more environment strings */
        -	unsigned long ps_nenvstr; /* the number of environment strings */
        +	unsigned int ps_nenvstr; /* the number of environment strings */
         };
         
         /*
        
        From owner-svn-src-projects@FreeBSD.ORG  Tue Mar 23 19:58:20 2010
        Return-Path: 
        Delivered-To: svn-src-projects@freebsd.org
        Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
        	by hub.freebsd.org (Postfix) with ESMTP id 8535C106566C;
        	Tue, 23 Mar 2010 19:58:20 +0000 (UTC)
        	(envelope-from nwhitehorn@FreeBSD.org)
        Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
        	by mx1.freebsd.org (Postfix) with ESMTP id 74FA88FC18;
        	Tue, 23 Mar 2010 19:58:20 +0000 (UTC)
        Received: from svn.freebsd.org (localhost [127.0.0.1])
        	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2NJwKel072295;
        	Tue, 23 Mar 2010 19:58:20 GMT
        	(envelope-from nwhitehorn@svn.freebsd.org)
        Received: (from nwhitehorn@localhost)
        	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2NJwK9w072293;
        	Tue, 23 Mar 2010 19:58:20 GMT
        	(envelope-from nwhitehorn@svn.freebsd.org)
        Message-Id: <201003231958.o2NJwK9w072293@svn.freebsd.org>
        From: Nathan Whitehorn 
        Date: Tue, 23 Mar 2010 19:58:20 +0000 (UTC)
        To: src-committers@freebsd.org, svn-src-projects@freebsd.org
        X-SVN-Group: projects
        MIME-Version: 1.0
        Content-Type: text/plain; charset=UTF-8
        Content-Transfer-Encoding: 8bit
        Cc: 
        Subject: svn commit: r205533 - projects/ppc64/sys/powerpc/aim
        X-BeenThere: svn-src-projects@freebsd.org
        X-Mailman-Version: 2.1.5
        Precedence: list
        List-Id: "SVN commit messages for the src " projects"
        	tree" 
        List-Unsubscribe: , 
        	
        List-Archive: 
        List-Post: 
        List-Help: 
        List-Subscribe: , 
        	
        X-List-Received-Date: Tue, 23 Mar 2010 19:58:20 -0000
        
        Author: nwhitehorn
        Date: Tue Mar 23 19:58:20 2010
        New Revision: 205533
        URL: http://svn.freebsd.org/changeset/base/205533
        
        Log:
          Fix a mismerge: lock the OFW mutex before disabling exceptions, not
          afterward. There be dragons...
        
        Modified:
          projects/ppc64/sys/powerpc/aim/ofw_machdep.c
        
        Modified: projects/ppc64/sys/powerpc/aim/ofw_machdep.c
        ==============================================================================
        --- projects/ppc64/sys/powerpc/aim/ofw_machdep.c	Tue Mar 23 19:44:59 2010	(r205532)
        +++ projects/ppc64/sys/powerpc/aim/ofw_machdep.c	Tue Mar 23 19:58:20 2010	(r205533)
        @@ -378,6 +378,8 @@ openfirmware(void *args)
         	u_int		i;
         	#endif
         
        +	mtx_lock(&ofw_mutex);
        +
         	/*
         	 * Turn off exceptions - we really don't want to end up
         	 * anywhere unexpected with PCPU set to something strange,
        @@ -385,8 +387,6 @@ openfirmware(void *args)
         	 */
         	oldmsr = intr_disable();
         
        -	mtx_lock(&ofw_mutex);
        -
         	ofw_sprg_prepare();
         
               #ifndef __powerpc64__
        
        From owner-svn-src-projects@FreeBSD.ORG  Wed Mar 24 01:37:01 2010
        Return-Path: 
        Delivered-To: svn-src-projects@freebsd.org
        Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
        	by hub.freebsd.org (Postfix) with ESMTP id 16656106566C;
        	Wed, 24 Mar 2010 01:37:01 +0000 (UTC)
        	(envelope-from nwhitehorn@FreeBSD.org)
        Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
        	by mx1.freebsd.org (Postfix) with ESMTP id 05CBA8FC12;
        	Wed, 24 Mar 2010 01:37:01 +0000 (UTC)
        Received: from svn.freebsd.org (localhost [127.0.0.1])
        	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2O1b0LG049440;
        	Wed, 24 Mar 2010 01:37:00 GMT
        	(envelope-from nwhitehorn@svn.freebsd.org)
        Received: (from nwhitehorn@localhost)
        	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2O1b0Y5049438;
        	Wed, 24 Mar 2010 01:37:00 GMT
        	(envelope-from nwhitehorn@svn.freebsd.org)
        Message-Id: <201003240137.o2O1b0Y5049438@svn.freebsd.org>
        From: Nathan Whitehorn 
        Date: Wed, 24 Mar 2010 01:37:00 +0000 (UTC)
        To: src-committers@freebsd.org, svn-src-projects@freebsd.org
        X-SVN-Group: projects
        MIME-Version: 1.0
        Content-Type: text/plain; charset=UTF-8
        Content-Transfer-Encoding: 8bit
        Cc: 
        Subject: svn commit: r205571 - projects/ppc64/sys/powerpc/powerpc
        X-BeenThere: svn-src-projects@freebsd.org
        X-Mailman-Version: 2.1.5
        Precedence: list
        List-Id: "SVN commit messages for the src " projects"
        	tree" 
        List-Unsubscribe: , 
        	
        List-Archive: 
        List-Post: 
        List-Help: 
        List-Subscribe: , 
        	
        X-List-Received-Date: Wed, 24 Mar 2010 01:37:01 -0000
        
        Author: nwhitehorn
        Date: Wed Mar 24 01:37:00 2010
        New Revision: 205571
        URL: http://svn.freebsd.org/changeset/base/205571
        
        Log:
          Bring the new argument setup stuff along to ppc32_setregs().
        
        Modified:
          projects/ppc64/sys/powerpc/powerpc/exec_machdep.c
        
        Modified: projects/ppc64/sys/powerpc/powerpc/exec_machdep.c
        ==============================================================================
        --- projects/ppc64/sys/powerpc/powerpc/exec_machdep.c	Tue Mar 23 23:56:22 2010	(r205570)
        +++ projects/ppc64/sys/powerpc/powerpc/exec_machdep.c	Wed Mar 24 01:37:00 2010	(r205571)
        @@ -563,23 +563,23 @@ exec_setregs(struct thread *td, struct i
         void
         ppc32_setregs(struct thread *td, struct image_params *imgp, u_long stack)
         {
        -	struct trapframe		*tf;
        -	struct freebsd32_ps_strings	arginfo;
        +	struct trapframe	*tf;
        +	uint32_t		argc;
         
         	tf = trapframe(td);
         	bzero(tf, sizeof *tf);
         	tf->fixreg[1] = -roundup(-stack + 8, 16);
         
        -	(void)copyin((char *)FREEBSD32_PS_STRINGS, &arginfo, sizeof(arginfo));
        +	argc = fuword32(stack);
         
        -        td->td_retval[0] = arginfo.ps_nargvstr;
        -        td->td_retval[1] = (register_t)arginfo.ps_argvstr;
        -	tf->fixreg[3] = arginfo.ps_nargvstr;
        -	tf->fixreg[4] = (register_t)arginfo.ps_argvstr;
        -	tf->fixreg[5] = (register_t)arginfo.ps_envstr;
        -	tf->fixreg[6] = 0;			/* auxillary vector */
        -	tf->fixreg[7] = 0;			/* termination vector */
        -	tf->fixreg[8] = (register_t)FREEBSD32_PS_STRINGS; /* NetBSD extension */
        +        td->td_retval[0] = argc;
        +        td->td_retval[1] = stack + sizeof(uint32_t);
        +	tf->fixreg[3] = argc;
        +	tf->fixreg[4] = stack + sizeof(uint32_t);
        +	tf->fixreg[5] = stack + (2 + argc)*sizeof(uint32_t);
        +	tf->fixreg[6] = 0;				/* auxillary vector */
        +	tf->fixreg[7] = 0;				/* termination vector */
        +	tf->fixreg[8] = (register_t)imgp->ps_strings;	/* NetBSD extension */
         
         	tf->srr0 = imgp->entry_addr;
         	tf->srr1 = PSL_MBO | PSL_USERSET | PSL_FE_DFLT;
        
        From owner-svn-src-projects@FreeBSD.ORG  Wed Mar 24 18:42:57 2010
        Return-Path: 
        Delivered-To: svn-src-projects@freebsd.org
        Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
        	by hub.freebsd.org (Postfix) with ESMTP id 9C840106564A;
        	Wed, 24 Mar 2010 18:42:57 +0000 (UTC)
        	(envelope-from rdivacky@FreeBSD.org)
        Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
        	by mx1.freebsd.org (Postfix) with ESMTP id 8B1858FC19;
        	Wed, 24 Mar 2010 18:42:57 +0000 (UTC)
        Received: from svn.freebsd.org (localhost [127.0.0.1])
        	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2OIgv0p082019;
        	Wed, 24 Mar 2010 18:42:57 GMT
        	(envelope-from rdivacky@svn.freebsd.org)
        Received: (from rdivacky@localhost)
        	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2OIgvX4082016;
        	Wed, 24 Mar 2010 18:42:57 GMT
        	(envelope-from rdivacky@svn.freebsd.org)
        Message-Id: <201003241842.o2OIgvX4082016@svn.freebsd.org>
        From: Roman Divacky 
        Date: Wed, 24 Mar 2010 18:42:57 +0000 (UTC)
        To: src-committers@freebsd.org, svn-src-projects@freebsd.org
        X-SVN-Group: projects
        MIME-Version: 1.0
        Content-Type: text/plain; charset=UTF-8
        Content-Transfer-Encoding: 8bit
        Cc: 
        Subject: svn commit: r205623 - in projects/clangbsd:
        	contrib/llvm/tools/clang/lib/Frontend gnu/lib/libgcc
        X-BeenThere: svn-src-projects@freebsd.org
        X-Mailman-Version: 2.1.5
        Precedence: list
        List-Id: "SVN commit messages for the src " projects"
        	tree" 
        List-Unsubscribe: , 
        	
        List-Archive: 
        List-Post: 
        List-Help: 
        List-Subscribe: , 
        	
        X-List-Received-Date: Wed, 24 Mar 2010 18:42:57 -0000
        
        Author: rdivacky
        Date: Wed Mar 24 18:42:57 2010
        New Revision: 205623
        URL: http://svn.freebsd.org/changeset/base/205623
        
        Log:
          Enable HeinousExtensions by default and remove that flag from libgcc CFLAGS.
        
        Modified:
          projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp
          projects/clangbsd/gnu/lib/libgcc/Makefile
        
        Modified: projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp
        ==============================================================================
        --- projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp	Wed Mar 24 18:40:57 2010	(r205622)
        +++ projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp	Wed Mar 24 18:42:57 2010	(r205623)
        @@ -1182,7 +1182,7 @@ static void ParseLangArgs(LangOptions &O
           Opts.Freestanding = Args.hasArg(OPT_ffreestanding);
           Opts.NoBuiltin = Args.hasArg(OPT_fno_builtin) || Opts.Freestanding;
           Opts.AssumeSaneOperatorNew = !Args.hasArg(OPT_fno_assume_sane_operator_new);
        -  Opts.HeinousExtensions = Args.hasArg(OPT_fheinous_gnu_extensions);
        +  Opts.HeinousExtensions = true;
           Opts.AccessControl = Args.hasArg(OPT_faccess_control);
           Opts.ElideConstructors = !Args.hasArg(OPT_fno_elide_constructors);
           Opts.MathErrno = Args.hasArg(OPT_fmath_errno);
        
        Modified: projects/clangbsd/gnu/lib/libgcc/Makefile
        ==============================================================================
        --- projects/clangbsd/gnu/lib/libgcc/Makefile	Wed Mar 24 18:40:57 2010	(r205622)
        +++ projects/clangbsd/gnu/lib/libgcc/Makefile	Wed Mar 24 18:42:57 2010	(r205623)
        @@ -21,7 +21,7 @@ CFLAGS+=	-DIN_GCC -DIN_LIBGCC2 -D__GCC_F
         		-DHAVE_GTHR_DEFAULT \
         		-I${GCCLIB}/include \
         		-I${GCCDIR}/config -I${GCCDIR} -I. \
        -		-I${.CURDIR}/../../usr.bin/cc/cc_tools -fheinous-gnu-extensions
        +		-I${.CURDIR}/../../usr.bin/cc/cc_tools
         
         LDFLAGS+=	-nodefaultlibs
         LDADD+=		-lc
        
        From owner-svn-src-projects@FreeBSD.ORG  Wed Mar 24 19:00:29 2010
        Return-Path: 
        Delivered-To: svn-src-projects@freebsd.org
        Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
        	by hub.freebsd.org (Postfix) with ESMTP id 847FE106566C;
        	Wed, 24 Mar 2010 19:00:29 +0000 (UTC)
        	(envelope-from nwhitehorn@FreeBSD.org)
        Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
        	by mx1.freebsd.org (Postfix) with ESMTP id 730CA8FC0A;
        	Wed, 24 Mar 2010 19:00:29 +0000 (UTC)
        Received: from svn.freebsd.org (localhost [127.0.0.1])
        	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2OJ0TQU085955;
        	Wed, 24 Mar 2010 19:00:29 GMT
        	(envelope-from nwhitehorn@svn.freebsd.org)
        Received: (from nwhitehorn@localhost)
        	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2OJ0Tis085953;
        	Wed, 24 Mar 2010 19:00:29 GMT
        	(envelope-from nwhitehorn@svn.freebsd.org)
        Message-Id: <201003241900.o2OJ0Tis085953@svn.freebsd.org>
        From: Nathan Whitehorn 
        Date: Wed, 24 Mar 2010 19:00:29 +0000 (UTC)
        To: src-committers@freebsd.org, svn-src-projects@freebsd.org
        X-SVN-Group: projects
        MIME-Version: 1.0
        Content-Type: text/plain; charset=UTF-8
        Content-Transfer-Encoding: 8bit
        Cc: 
        Subject: svn commit: r205624 - projects/ppc64/sys/powerpc/powerpc
        X-BeenThere: svn-src-projects@freebsd.org
        X-Mailman-Version: 2.1.5
        Precedence: list
        List-Id: "SVN commit messages for the src " projects"
        	tree" 
        List-Unsubscribe: , 
        	
        List-Archive: 
        List-Post: 
        List-Help: 
        List-Subscribe: , 
        	
        X-List-Received-Date: Wed, 24 Mar 2010 19:00:29 -0000
        
        Author: nwhitehorn
        Date: Wed Mar 24 19:00:29 2010
        New Revision: 205624
        URL: http://svn.freebsd.org/changeset/base/205624
        
        Log:
          Fix type.
          
          Submitted by:	Andreas Tobler
        
        Modified:
          projects/ppc64/sys/powerpc/powerpc/exec_machdep.c
        
        Modified: projects/ppc64/sys/powerpc/powerpc/exec_machdep.c
        ==============================================================================
        --- projects/ppc64/sys/powerpc/powerpc/exec_machdep.c	Wed Mar 24 18:42:57 2010	(r205623)
        +++ projects/ppc64/sys/powerpc/powerpc/exec_machdep.c	Wed Mar 24 19:00:29 2010	(r205624)
        @@ -570,7 +570,7 @@ ppc32_setregs(struct thread *td, struct 
         	bzero(tf, sizeof *tf);
         	tf->fixreg[1] = -roundup(-stack + 8, 16);
         
        -	argc = fuword32(stack);
        +	argc = fuword32((void *)stack);
         
                 td->td_retval[0] = argc;
                 td->td_retval[1] = stack + sizeof(uint32_t);
        
        From owner-svn-src-projects@FreeBSD.ORG  Thu Mar 25 14:44:14 2010
        Return-Path: 
        Delivered-To: svn-src-projects@freebsd.org
        Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
        	by hub.freebsd.org (Postfix) with ESMTP id 5D38C1065676;
        	Thu, 25 Mar 2010 14:44:14 +0000 (UTC)
        	(envelope-from nwhitehorn@FreeBSD.org)
        Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
        	by mx1.freebsd.org (Postfix) with ESMTP id 48ACF8FC4C;
        	Thu, 25 Mar 2010 14:44:14 +0000 (UTC)
        Received: from svn.freebsd.org (localhost [127.0.0.1])
        	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2PEiE7D052199;
        	Thu, 25 Mar 2010 14:44:14 GMT
        	(envelope-from nwhitehorn@svn.freebsd.org)
        Received: (from nwhitehorn@localhost)
        	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2PEiDAs052168;
        	Thu, 25 Mar 2010 14:44:13 GMT
        	(envelope-from nwhitehorn@svn.freebsd.org)
        Message-Id: <201003251444.o2PEiDAs052168@svn.freebsd.org>
        From: Nathan Whitehorn 
        Date: Thu, 25 Mar 2010 14:44:13 +0000 (UTC)
        To: src-committers@freebsd.org, svn-src-projects@freebsd.org
        X-SVN-Group: projects
        MIME-Version: 1.0
        Content-Type: text/plain; charset=UTF-8
        Content-Transfer-Encoding: 8bit
        Cc: 
        Subject: svn commit: r205644 - in projects/ppc64: . contrib/netcat
        	crypto/openssl/crypto/camellia/asm etc/defaults
        	gnu/usr.bin/cpio include lib/libc/gen lib/libc/sys lib/libpmc
        	libexec/rtld-elf sbin/ifconfi...
        X-BeenThere: svn-src-projects@freebsd.org
        X-Mailman-Version: 2.1.5
        Precedence: list
        List-Id: "SVN commit messages for the src " projects"
        	tree" 
        List-Unsubscribe: , 
        	
        List-Archive: 
        List-Post: 
        List-Help: 
        List-Subscribe: , 
        	
        X-List-Received-Date: Thu, 25 Mar 2010 14:44:14 -0000
        
        Author: nwhitehorn
        Date: Thu Mar 25 14:44:13 2010
        New Revision: 205644
        URL: http://svn.freebsd.org/changeset/base/205644
        
        Log:
          All the MI bits of this branch have now been merged to HEAD. Merge them
          back.
          
          IFC @ 205643
        
        Deleted:
          projects/ppc64/crypto/openssl/crypto/camellia/asm/
          projects/ppc64/tools/tools/nanobsd/pcengines/Pkg/
          projects/ppc64/usr.sbin/ntp/ntptrace/
        Modified:
          projects/ppc64/Makefile.inc1
          projects/ppc64/contrib/netcat/FREEBSD-upgrade
          projects/ppc64/contrib/netcat/FREEBSD-vendor
          projects/ppc64/contrib/netcat/nc.1
          projects/ppc64/contrib/netcat/netcat.c
          projects/ppc64/etc/defaults/periodic.conf
          projects/ppc64/gnu/usr.bin/cpio/Makefile
          projects/ppc64/include/dlfcn.h
          projects/ppc64/lib/libc/gen/dlfcn.c
          projects/ppc64/lib/libc/gen/dlopen.3
          projects/ppc64/lib/libc/sys/mmap.2
          projects/ppc64/lib/libpmc/pmc.xscale.3
          projects/ppc64/libexec/rtld-elf/rtld.c
          projects/ppc64/sbin/ifconfig/ifieee80211.c
          projects/ppc64/sbin/ipfw/ipfw2.c
          projects/ppc64/share/man/man3/pthread_affinity_np.3
          projects/ppc64/share/misc/bsd-family-tree
          projects/ppc64/sys/compat/linprocfs/linprocfs.c
          projects/ppc64/sys/conf/kern.post.mk
          projects/ppc64/sys/conf/kmod.mk
          projects/ppc64/sys/conf/options
          projects/ppc64/sys/dev/fb/vesa.c
          projects/ppc64/sys/dev/fb/vga.c
          projects/ppc64/sys/dev/ppc/ppc_pci.c
          projects/ppc64/sys/dev/syscons/scvgarndr.c
          projects/ppc64/sys/fs/nfs/nfs_commonport.c
          projects/ppc64/sys/geom/geom_io.c
          projects/ppc64/sys/i386/i386/mca.c
          projects/ppc64/sys/i386/i386/pmap.c
          projects/ppc64/sys/i386/include/md_var.h
          projects/ppc64/sys/i386/include/specialreg.h
          projects/ppc64/sys/kern/imgact_elf.c
          projects/ppc64/sys/kern/kern_rwlock.c
          projects/ppc64/sys/mips/mips/tick.c
          projects/ppc64/sys/modules/dummynet/Makefile
          projects/ppc64/sys/net/if_media.h
          projects/ppc64/sys/net80211/ieee80211.c
          projects/ppc64/sys/net80211/ieee80211_hostap.c
          projects/ppc64/sys/net80211/ieee80211_ht.c
          projects/ppc64/sys/net80211/ieee80211_var.h
          projects/ppc64/sys/netgraph/netflow/ng_netflow.c
          projects/ppc64/sys/netinet/ipfw/ip_dn_io.c
          projects/ppc64/sys/netinet/sctp_indata.c
          projects/ppc64/sys/netinet/sctp_input.c
          projects/ppc64/sys/netinet/sctp_output.c
          projects/ppc64/sys/netinet/sctp_pcb.c
          projects/ppc64/sys/netinet/sctp_pcb.h
          projects/ppc64/sys/netinet/sctp_sysctl.c
          projects/ppc64/sys/netinet/sctp_uio.h
          projects/ppc64/sys/netinet/sctputil.c
          projects/ppc64/sys/netinet/sctputil.h
          projects/ppc64/sys/netinet6/nd6.c
          projects/ppc64/sys/powerpc/booke/interrupt.c
          projects/ppc64/sys/powerpc/booke/machdep.c
          projects/ppc64/sys/powerpc/mpc85xx/ocpbus.c
          projects/ppc64/sys/powerpc/mpc85xx/ocpbus.h
          projects/ppc64/sys/powerpc/mpc85xx/pci_ocp.c
          projects/ppc64/sys/powerpc/powerpc/cpu.c
          projects/ppc64/sys/rpc/svc.c
          projects/ppc64/sys/vm/vm_mmap.c
          projects/ppc64/tools/tools/nanobsd/Files/root/updatep1
          projects/ppc64/tools/tools/nanobsd/Files/root/updatep2
          projects/ppc64/usr.sbin/bsnmpd/modules/snmp_pf/BEGEMOT-PF-MIB.txt
          projects/ppc64/usr.sbin/bsnmpd/modules/snmp_pf/Makefile
          projects/ppc64/usr.sbin/bsnmpd/modules/snmp_pf/pf_snmp.c
          projects/ppc64/usr.sbin/bsnmpd/modules/snmp_pf/pf_tree.def
        Directory Properties:
          projects/ppc64/   (props changed)
          projects/ppc64/contrib/expat/   (props changed)
          projects/ppc64/contrib/groff/   (props changed)
          projects/ppc64/contrib/netcat/   (props changed)
          projects/ppc64/contrib/one-true-awk/   (props changed)
          projects/ppc64/contrib/tzcode/stdtime/   (props changed)
          projects/ppc64/contrib/tzcode/zic/   (props changed)
          projects/ppc64/contrib/tzdata/   (props changed)
          projects/ppc64/lib/libz/   (props changed)
          projects/ppc64/sys/   (props changed)
          projects/ppc64/sys/contrib/x86emu/   (props changed)
          projects/ppc64/sys/dev/xen/xenpci/   (props changed)
        
        Modified: projects/ppc64/Makefile.inc1
        ==============================================================================
        --- projects/ppc64/Makefile.inc1	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/Makefile.inc1	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -299,6 +299,7 @@ LIB32FLAGS=	-m32 ${LIB32CPUFLAGS} -DCOMP
         LIB32WMAKEENV+=	MAKEOBJDIRPREFIX=${OBJTREE}/lib32 \
         		_SHLIBDIRPREFIX=${LIB32TMP} \
         		VERSION="${VERSION}" \
        +		MACHINE_CPU="i686 mmx sse sse2" \
         		INSTALL="sh ${.CURDIR}/tools/install.sh" \
         		PATH=${TMPPATH} \
         		CC="${CC} ${LIB32FLAGS}" \
        
        Modified: projects/ppc64/contrib/netcat/FREEBSD-upgrade
        ==============================================================================
        --- projects/ppc64/contrib/netcat/FREEBSD-upgrade	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/contrib/netcat/FREEBSD-upgrade	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -1,19 +1,14 @@
         $FreeBSD$
         
        -1. Export from OpenBSD's nc(1) into an empty directory (say "v-nc").
        -2. while read pattern; do rm ${pattern} ; done < FREEBSD-Xlist
        -3. Checkout our contrib/netcat to another directory (say "f-nc"),
        -   with -rOPENBSD, and usr.bin/nc to its ../../
        -4. copy the files from v-nc to f-nc
        -5. do cvs up -A in f-nc
        -6. If there is conflicits, try to resolve them.
        -7. do build in f-nc/../../usr.bin/nc
        -8. If everything seems ok, do the actual import in v-nc:
        -	cvs -n import src/contrib/netcat OPENBSD OPENBSD_
        -   Everything appears be Ok? Do:
        -	cvs import src/contrib/netcat OPENBSD OPENBSD_
        -   (note: recently we import from OpenBSD's release branches
        -    rather than importing -HEAD snapshots)
        -9. Resolve the conflicits with the patchset obtained in step 6.
        +Most of the instructions is outlined on FreeBSD wiki at:
         
        -delphij@FreeBSD.org - 21 Apr 2008
        +	http://wiki.freebsd.org/SubversionPrimer/VendorImports
        +
        +nc(1) is very small and most of code are just copied as-is from OpenBSD.  With a
        +few exceptions:
        +
        + * --no-tcpopt: Local feature specific to FreeBSD.
        + * -V: We use FIB to map what OpenBSD do for "rdomain"
        + * -E, -e: These are mostly self contained IPsec extensions
        +
        +delphij@FreeBSD.org - Mar 23, 2010
        
        Modified: projects/ppc64/contrib/netcat/FREEBSD-vendor
        ==============================================================================
        --- projects/ppc64/contrib/netcat/FREEBSD-vendor	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/contrib/netcat/FREEBSD-vendor	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -1,5 +1,5 @@
         # $FreeBSD$
         Project:	netcat (aka src/usr.bin/nc in OpenBSD)
         ProjectURL:	http://www.openbsd.org/
        -Version:	4.6
        +Version:	4.7
         License:	BSD
        
        Modified: projects/ppc64/contrib/netcat/nc.1
        ==============================================================================
        --- projects/ppc64/contrib/netcat/nc.1	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/contrib/netcat/nc.1	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -1,4 +1,4 @@
        -.\"     $OpenBSD: nc.1,v 1.50 2009/06/05 06:47:12 jmc Exp $
        +.\"     $OpenBSD: nc.1,v 1.53 2010/02/23 23:00:52 schwarze Exp $
         .\"
         .\" Copyright (c) 1996 David Sacerdote
         .\" All rights reserved.
        @@ -27,7 +27,7 @@
         .\"
         .\" $FreeBSD$
         .\"
        -.Dd June 5 2009
        +.Dd February 23, 2010
         .Dt NC 1
         .Os
         .Sh NAME
        @@ -51,8 +51,8 @@
         .Op Fl X Ar proxy_protocol
         .Oo Xo
         .Fl x Ar proxy_address Ns Oo : Ns
        -.Ar port Oc Oc
        -.Xc
        +.Ar port Oc
        +.Xc Oc
         .Op Ar hostname
         .Op Ar port
         .Ek
        @@ -206,7 +206,9 @@ This makes it possible to use
         .Nm
         to script telnet sessions.
         .It Fl U
        -Specifies to use Unix Domain Sockets.
        +Specifies to use
        +.Ux Ns -domain
        +sockets.
         .It Fl u
         Use UDP instead of the default option of TCP.
         .It Fl V Ar fib
        @@ -428,7 +430,9 @@ outgoing traffic only.
         .Pp
         .Dl $ nc -e 'out ipsec esp/transport//require' host.example.com 42
         .Pp
        -Create and listen on a Unix Domain Socket:
        +Create and listen on a
        +.Ux Ns -domain
        +socket:
         .Pp
         .Dl $ nc -lU /var/tmp/dsocket
         .Pp
        
        Modified: projects/ppc64/contrib/netcat/netcat.c
        ==============================================================================
        --- projects/ppc64/contrib/netcat/netcat.c	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/contrib/netcat/netcat.c	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -1,4 +1,4 @@
        -/* $OpenBSD: netcat.c,v 1.93 2009/06/05 00:18:10 claudio Exp $ */
        +/* $OpenBSD: netcat.c,v 1.95 2010/02/27 00:58:56 nicm Exp $ */
         /*
          * Copyright (c) 2001 Eric Jackson 
          *
        @@ -455,8 +455,10 @@ main(int argc, char *argv[])
         					    uflag ? "udp" : "tcp");
         				}
         
        -				printf("Connection to %s %s port [%s/%s] succeeded!\n",
        -				    host, portlist[i], uflag ? "udp" : "tcp",
        +				fprintf(stderr,
        +				    "Connection to %s %s port [%s/%s] "
        +				    "succeeded!\n", host, portlist[i],
        +				    uflag ? "udp" : "tcp",
         				    sv ? sv->s_name : "*");
         			}
         			if (!zflag)
        @@ -749,27 +751,27 @@ atelnet(int nfd, unsigned char *buf, uns
         	unsigned char *p, *end;
         	unsigned char obuf[4];
         
        -	end = buf + size;
        -	obuf[0] = '\0';
        +	if (size < 3)
        +		return;
        +	end = buf + size - 2;
         
         	for (p = buf; p < end; p++) {
         		if (*p != IAC)
        -			break;
        +			continue;
         
         		obuf[0] = IAC;
         		p++;
         		if ((*p == WILL) || (*p == WONT))
         			obuf[1] = DONT;
        -		if ((*p == DO) || (*p == DONT))
        +		else if ((*p == DO) || (*p == DONT))
         			obuf[1] = WONT;
        -		if (obuf) {
        -			p++;
        -			obuf[2] = *p;
        -			obuf[3] = '\0';
        -			if (atomicio(vwrite, nfd, obuf, 3) != 3)
        -				warn("Write Error!");
        -			obuf[0] = '\0';
        -		}
        +		else
        +			continue;
        +
        +		p++;
        +		obuf[2] = *p;
        +		if (atomicio(vwrite, nfd, obuf, 3) != 3)
        +			warn("Write Error!");
         	}
         }
         
        
        Modified: projects/ppc64/etc/defaults/periodic.conf
        ==============================================================================
        --- projects/ppc64/etc/defaults/periodic.conf	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/etc/defaults/periodic.conf	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -46,7 +46,7 @@ daily_clean_tmps_enable="NO"				# Delete
         daily_clean_tmps_dirs="/tmp"				# Delete under here
         daily_clean_tmps_days="3"				# If not accessed for
         daily_clean_tmps_ignore=".X*-lock .X11-unix .ICE-unix .font-unix .XIM-unix"
        -daily_clean_tmps_ignore="$daily_clean_tmps_ignore quota.user quota.group"
        +daily_clean_tmps_ignore="$daily_clean_tmps_ignore quota.user quota.group .snap"
         							# Don't delete these
         daily_clean_tmps_verbose="YES"				# Mention files deleted
         
        
        Modified: projects/ppc64/gnu/usr.bin/cpio/Makefile
        ==============================================================================
        --- projects/ppc64/gnu/usr.bin/cpio/Makefile	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/gnu/usr.bin/cpio/Makefile	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -58,6 +58,7 @@ SRCS=   copyin.c \
         	xstrndup.c \
         	alloca.h \
         	getopt.h
        +CSTD=gnu89
         
         CLEANFILES+= alloca.h getopt.h
         
        
        Modified: projects/ppc64/include/dlfcn.h
        ==============================================================================
        --- projects/ppc64/include/dlfcn.h	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/include/dlfcn.h	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -113,8 +113,7 @@ typedef struct  dl_serinfo {
         __BEGIN_DECLS
         /* XSI functions first. */
         int	 dlclose(void *);
        -const char *
        -	 dlerror(void);
        +char	*dlerror(void);
         void	*dlopen(const char *, int);
         void	*dlsym(void * __restrict, const char * __restrict);
         
        
        Modified: projects/ppc64/lib/libc/gen/dlfcn.c
        ==============================================================================
        --- projects/ppc64/lib/libc/gen/dlfcn.c	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/lib/libc/gen/dlfcn.c	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -34,7 +34,7 @@ __FBSDID("$FreeBSD$");
         #include 
         #include 
         
        -static const char sorry[] = "Service unavailable";
        +static char sorry[] = "Service unavailable";
         
         /*
          * For ELF, the dynamic linker directly resolves references to its
        @@ -69,7 +69,7 @@ dlclose(void *handle)
         }
         
         #pragma weak dlerror
        -const char *
        +char *
         dlerror(void)
         {
         	return sorry;
        
        Modified: projects/ppc64/lib/libc/gen/dlopen.3
        ==============================================================================
        --- projects/ppc64/lib/libc/gen/dlopen.3	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/lib/libc/gen/dlopen.3	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -52,7 +52,7 @@
         .Fn dlsym "void * restrict handle" "const char * restrict symbol"
         .Ft dlfunc_t
         .Fn dlfunc "void * restrict handle" "const char * restrict symbol"
        -.Ft const char *
        +.Ft char *
         .Fn dlerror "void"
         .Ft int
         .Fn dlclose "void *handle"
        
        Modified: projects/ppc64/lib/libc/sys/mmap.2
        ==============================================================================
        --- projects/ppc64/lib/libc/sys/mmap.2	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/lib/libc/sys/mmap.2	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -105,7 +105,7 @@ The file descriptor used for creating
         must be \-1.
         The
         .Fa offset
        -argument is ignored.
        +argument must be 0.
         .\".It Dv MAP_FILE
         .\"Mapped from a regular file or character-special device memory.
         .It Dv MAP_ANONYMOUS
        @@ -316,6 +316,11 @@ was equal to zero.
         was specified and the
         .Fa fd
         argument was not -1.
        +.It Bq Er EINVAL
        +.Dv MAP_ANON
        +was specified and the
        +.Fa offset
        +argument was not 0.
         .It Bq Er ENODEV
         .Dv MAP_ANON
         has not been specified and
        
        Modified: projects/ppc64/lib/libpmc/pmc.xscale.3
        ==============================================================================
        --- projects/ppc64/lib/libpmc/pmc.xscale.3	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/lib/libpmc/pmc.xscale.3	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -1,4 +1,4 @@
        -.\" Copyright (c) 2009 Rui Paulo.  All rights reserved.
        +.\" Copyright (c) 2009, 2010 Rui Paulo.  All rights reserved.
         .\"
         .\" Redistribution and use in source and binary forms, with or without
         .\" modification, are permitted provided that the following conditions
        @@ -9,7 +9,7 @@
         .\"    notice, this list of conditions and the following disclaimer in the
         .\"    documentation and/or other materials provided with the distribution.
         .\"
        -.\" This software is provided by Joseph Koshy ``as is'' and
        +.\" This software is provided by Rui Paulo ``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 Joseph Koshy be liable
        @@ -37,3 +37,120 @@ family CPUs
         .Sh SYNOPSIS
         .In pmc.h
         .Sh DESCRIPTION
        +.Tn Intel XScale
        +CPUs are ARM CPUs based on the ARMv5e core.
        +.Pp
        +Second generation cores have 2 counters, while third generation cores
        +have 4 counters.
        +Third generation cores also have an increased number of PMC events.
        +.Pp
        +.Tn Intel XScale
        +PMCs are documented in 
        +.Rs
        +.%B "3rd Generation Intel XScale Microarchitecture Developer's Manual"
        +.%D May 2007
        +.Re
        +.Ss Event Specifiers (Programmable PMCs)
        +.Tn Intel XScale
        +programmable PMCs support the following events:
        +.Bl -tag -width indent
        +.It Li IC_FETCH
        +External memory fetch due to L1 instruction cache miss.
        +.It Li IC_MISS
        +Instruction cache or TLB miss.
        +.It Li DATA_DEPENDENCY_STALLED
        +A data dependency stalled
        +.It Li ITLB_MISS
        +Instruction TLB miss.
        +.It Li DTLB_MISS
        +Data TLB miss.
        +.It Li BRANCH_RETIRED
        +Branch instruction retired (executed).
        +.It Li BRANCH_MISPRED
        +Branch mispredicted.
        +.It Li INSTR_RETIRED
        +Instructions retired (executed).
        +.It Li DC_FULL_CYCLE
        +L1 data cache buffer full stall.
        +Event occurs on every cycle the
        +condition is present.
        +.It Li DC_FULL_CONTIG
        +L1 data cache buffer full stall.
        +Event occurs once for each contiguous sequence of this type of stall.
        +.It Li DC_ACCESS
        +L1 data cache access, not including cache operations.
        +.It Li DC_MISS
        +L1 data cache miss, not including cache operations.
        +.It Li DC_WRITEBACK
        +L1 data cache write-back.
        +Occurs for each cache line that's written back from the cache.
        +.It Li PC_CHANGE
        +Software changed the program counter.
        +.It Li BRANCH_RETIRED_ALL
        +Branch instruction retired (executed).
        +This event counts all branch instructions, indirect or direct.
        +.It Li INSTR_CYCLE
        +Count the number of microarchitecture cycles each instruction requires
        +to issue.
        +.It Li CP_STALL
        +Coprocessor stalled the instruction pipeline.
        +.It Li PC_CHANGE_ALL
        +Software changed the program counter (includes exceptions).
        +.It Li PIPELINE_FLUSH
        +Pipeline flushes due to mispredictions or exceptions.
        +.It Li BACKEND_STALL
        +Backend stalled the instruction pipeline.
        +.It Li MULTIPLIER_USE
        +Multiplier used.
        +.It Li MULTIPLIER_STALLED
        +Multiplier stalled the instruction pipeline.
        +.It Li DATA_CACHE_STALLED
        +Data cache stalled the instruction pipeline.
        +.It Li L2_CACHE_REQ
        +L2 cache request, not inclusing cache operations.
        +.It Li L2_CACHE_MISS
        +L2 cache miss, not including cache operations.
        +.It Li ADDRESS_BUS_TRANS
        +Address bus transaction.
        +.It Li SELF_ADDRESS_BUS_TRANS
        +Self initiated address bus transaction.
        +.It Li DATA_BUS_TRANS
        +Data bus transaction.
        +.El
        +.Ss Event Name Aliases  
        +The following table shows the mapping between the PMC-independent
        +aliases supported by
        +.Lb libpmc
        +and the underlying hardware events used.
        +.Bl -column "branch-mispredicts" "BRANCH_MISPRED"
        +.It Em Alias Ta Em Event Ta
        +.It Li branches Ta Li BRANCH_RETIRED Ta
        +.It Li branch-mispredicts Ta Li BRANCH_MISPRED Ta
        +.It Li dc-misses Ta Li DC_MISS Ta
        +.It Li ic-misses Ta Li IC_MISS Ta
        +.It Li instructions Ta Li INSTR_RETIRED Ta
        +.El
        +.Sh SEE ALSO
        +.Xr pmc 3 ,
        +.Xr pmc_cpuinfo 3 ,
        +.Xr pmclog 3 ,
        +.Xr hwpmc 4
        +.Sh CAVEATS
        +The Intel XScale code does not yet support sampling.
        +.Sh HISTORY
        +The
        +.Nm pmc
        +library first appeared in
        +.Fx 6.0 .
        +Intel XScale support first appeared in
        +.Fx 9.0 .
        +.Sh AUTHORS
        +The
        +.Lb libpmc
        +library was written by
        +.An "Joseph Koshy"
        +.Aq jkoshy@FreeBSD.org .
        +.Pp
        +Intel XScale support was added by
        +.An "Rui Paulo"
        +.Aq rpaulo@FreeBSD.org .
        
        Modified: projects/ppc64/libexec/rtld-elf/rtld.c
        ==============================================================================
        --- projects/ppc64/libexec/rtld-elf/rtld.c	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/libexec/rtld-elf/rtld.c	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -1961,7 +1961,7 @@ dlclose(void *handle)
             return 0;
         }
         
        -const char *
        +char *
         dlerror(void)
         {
             char *msg = error_message;
        
        Modified: projects/ppc64/sbin/ifconfig/ifieee80211.c
        ==============================================================================
        --- projects/ppc64/sbin/ifconfig/ifieee80211.c	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/sbin/ifconfig/ifieee80211.c	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -4509,6 +4509,7 @@ end:
         		} else {
         			LINE_BREAK();
         			list_roam(s);
        +			LINE_BREAK();
         		}
         	}
         
        
        Modified: projects/ppc64/sbin/ipfw/ipfw2.c
        ==============================================================================
        --- projects/ppc64/sbin/ipfw/ipfw2.c	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/sbin/ipfw/ipfw2.c	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -2656,7 +2656,7 @@ ipfw_add(char *av[])
         	}
         
         	/* [set N]	-- set number (0..RESVD_SET), optional */
        -	if (av[0] && !av[1] && _substrcmp(*av, "set") == 0) {
        +	if (av[0] && av[1] && _substrcmp(*av, "set") == 0) {
         		int set = strtoul(av[1], NULL, 10);
         		if (set < 0 || set > RESVD_SET)
         			errx(EX_DATAERR, "illegal set %s", av[1]);
        
        Modified: projects/ppc64/share/man/man3/pthread_affinity_np.3
        ==============================================================================
        --- projects/ppc64/share/man/man3/pthread_affinity_np.3	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/share/man/man3/pthread_affinity_np.3	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -25,7 +25,7 @@
         .\"
         .\" $FreeBSD$
         .\"
        -.Dd January 12, 2010
        +.Dd March 23, 2010
         .Dt PTHREAD_AFFINITY_NP 3
         .Os
         .Sh NAME
        @@ -125,8 +125,8 @@ operation.
         .Xr cpuset_setid 2 ,
         .Xr CPU_SET 3 ,
         .Xr pthread 3 ,
        -.Xr pthread_attr_get_affinity_np 3 ,
        -.Xr pthread_attr_set_affinity_np 3
        +.Xr pthread_attr_getaffinity_np 3 ,
        +.Xr pthread_attr_setaffinity_np 3
         .Sh STANDARDS
         The
         .Nm pthread_getaffinity_np
        
        Modified: projects/ppc64/share/misc/bsd-family-tree
        ==============================================================================
        --- projects/ppc64/share/misc/bsd-family-tree	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/share/misc/bsd-family-tree	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -228,14 +228,14 @@ FreeBSD 5.2           |      |          
          |  FreeBSD 7.1       |      |                 |                       |
          |     |              |      |                 |                DragonFly 2.2.0
          |  FreeBSD 7.2       |   NetBSD 5.0       OpenBSD 4.5                 |
        - |     |              |      |                 |                       |
        - |     |              |      |                 |                DragonFly 2.4.0
        - |     V              |      |             OpenBSD 4.6                 |
        - |                    |      |                 |                       |
        - *--FreeBSD           |      |                 |                       |
        - |    8.0             |      |                 |                       |
        - |     |              |      |                 |                       |
        - |     V              |      |                 |                       |
        + |             \      |      |                 |                       |
        + |              |     |      |                 |                DragonFly 2.4.0
        + |              |     |      |             OpenBSD 4.6                 |
        + |              |     |      |                 |                       |
        + *--FreeBSD     |     |      |                 |                       |
        + |    8.0       |     |      |                 |                       |
        + |     |    FreeBSD   |      |                 |                       |
        + |     V      7.3     |      |                 |                       |
          |                    |      |                 |                       |
         FreeBSD 9 -current    |  NetBSD -current  OpenBSD -current             |
          |                    |      |                 |                       |
        @@ -511,6 +511,7 @@ FreeBSD 7.2		2009-05-04 [FBD]
         DragonFly 2.4.0		2009-09-16 [DFB]
         OpenBSD 4.6		2009-10-18 [OBD]
         FreeBSD 8.0		2009-11-26 [FBD]
        +FreeBSD 7.3		2010-03-23 [FBD]
         
         Bibliography
         ------------------------
        
        Modified: projects/ppc64/sys/compat/linprocfs/linprocfs.c
        ==============================================================================
        --- projects/ppc64/sys/compat/linprocfs/linprocfs.c	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/sys/compat/linprocfs/linprocfs.c	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -1227,6 +1227,24 @@ linprocfs_docmdline(PFS_FILL_ARGS)
         	return (0);
         }
         
        +/*
        + * Filler function for proc/filesystems
        + */
        +static int
        +linprocfs_dofilesystems(PFS_FILL_ARGS)
        +{
        +	struct vfsconf *vfsp;
        +
        +	mtx_lock(&Giant);
        +	TAILQ_FOREACH(vfsp, &vfsconf, vfc_list) {
        +		if (vfsp->vfc_flags & VFCF_SYNTHETIC)
        +			sbuf_printf(sb, "nodev");
        +		sbuf_printf(sb, "\t%s\n", vfsp->vfc_name);
        +	}
        +	mtx_unlock(&Giant);
        +	return(0);
        +}
        +
         #if 0
         /*
          * Filler function for proc/modules
        @@ -1276,6 +1294,8 @@ linprocfs_init(PFS_INIT_ARGS)
         	    NULL, NULL, NULL, PFS_RD);
         	pfs_create_file(root, "devices", &linprocfs_dodevices,
         	    NULL, NULL, NULL, PFS_RD);
        +	pfs_create_file(root, "filesystems", &linprocfs_dofilesystems,
        +	    NULL, NULL, NULL, PFS_RD);
         	pfs_create_file(root, "loadavg", &linprocfs_doloadavg,
         	    NULL, NULL, NULL, PFS_RD);
         	pfs_create_file(root, "meminfo", &linprocfs_domeminfo,
        
        Modified: projects/ppc64/sys/conf/kern.post.mk
        ==============================================================================
        --- projects/ppc64/sys/conf/kern.post.mk	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/sys/conf/kern.post.mk	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -15,6 +15,10 @@ MKMODULESENV+=	DESTDIR="${DESTDIR}"
         SYSDIR?= ${S:C;^[^/];${.CURDIR}/&;}
         MKMODULESENV+=	KERNBUILDDIR="${.CURDIR}" SYSDIR="${SYSDIR}"
         
        +.if defined(CONF_CFLAGS)
        +MKMODULESENV+=	CONF_CFLAGS="${CONF_CFLAGS}"
        +.endif
        +
         .MAIN: all
         
         .for target in all clean cleandepend cleandir clobber depend install \
        
        Modified: projects/ppc64/sys/conf/kmod.mk
        ==============================================================================
        --- projects/ppc64/sys/conf/kmod.mk	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/sys/conf/kmod.mk	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -325,6 +325,9 @@ ${_src}:
         .endfor
         .endif
         
        +# Repsect configuration-specific C flags.
        +CFLAGS+=	${CONF_CFLAGS}
        +
         MFILES?= dev/acpica/acpi_if.m dev/acpi_support/acpi_wmi_if.m \
         	dev/agp/agp_if.m dev/ata/ata_if.m dev/eisa/eisa_if.m \
         	dev/iicbus/iicbb_if.m dev/iicbus/iicbus_if.m \
        
        Modified: projects/ppc64/sys/conf/options
        ==============================================================================
        --- projects/ppc64/sys/conf/options	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/sys/conf/options	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -437,6 +437,7 @@ SCTP_MBCNT_LOGGING	opt_sctp.h # Log to K
         SCTP_PACKET_LOGGING	opt_sctp.h # Log to a packet buffer last N packets
         SCTP_LTRACE_CHUNKS	opt_sctp.h # Log to KTR chunks processed
         SCTP_LTRACE_ERRORS	opt_sctp.h # Log to KTR error returns.
        +SCTP_USE_PERCPU_STAT    opt_sctp.h # Use per cpu stats.
         #
         #
         #
        
        Modified: projects/ppc64/sys/dev/fb/vesa.c
        ==============================================================================
        --- projects/ppc64/sys/dev/fb/vesa.c	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/sys/dev/fb/vesa.c	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -1,5 +1,6 @@
         /*-
          * Copyright (c) 1998 Kazutaka YOKOTA and Michael Smith
        + * Copyright (c) 2009-2010 Jung-uk Kim 
          * All rights reserved.
          *
          * Redistribution and use in source and binary forms, with or without
        @@ -188,9 +189,7 @@ static int vesa_bios_load_palette2(int s
         #define STATE_ALL	(STATE_HW | STATE_DATA | STATE_DAC | STATE_REG)
         static ssize_t vesa_bios_state_buf_size(void);
         static int vesa_bios_save_restore(int code, void *p, size_t size);
        -#if 0
         static int vesa_bios_get_line_length(void);
        -#endif
         static int vesa_bios_set_line_length(int pixel, int *bytes, int *lines);
         #if 0
         static int vesa_bios_get_start(int *x, int *y);
        @@ -199,6 +198,7 @@ static int vesa_bios_set_start(int x, in
         static int vesa_map_gen_mode_num(int type, int color, int mode);
         static int vesa_translate_flags(u_int16_t vflags);
         static int vesa_translate_mmodel(u_int8_t vmodel);
        +static int vesa_get_bpscanline(struct vesa_mode *vmode);
         static int vesa_bios_init(void);
         static void vesa_clear_modes(video_info_t *info, int color);
         
        @@ -558,7 +558,6 @@ vesa_bios_save_restore(int code, void *p
         	return (regs.R_AX != 0x004f);
         }
         
        -#if 0
         static int
         vesa_bios_get_line_length(void)
         {
        @@ -575,7 +574,6 @@ vesa_bios_get_line_length(void)
         
         	return (regs.R_BX);
         }
        -#endif
         
         static int
         vesa_bios_set_line_length(int pixel, int *bytes, int *lines)
        @@ -709,6 +707,43 @@ vesa_translate_mmodel(u_int8_t vmodel)
         	return (V_INFO_MM_OTHER);
         }
         
        +static int
        +vesa_get_bpscanline(struct vesa_mode *vmode)
        +{
        +	int bpsl;
        +
        +	if ((vmode->v_modeattr & V_MODEGRAPHICS) != 0) {
        +		/* Find the minimum length. */
        +		switch (vmode->v_bpp / vmode->v_planes) {
        +		case 1:
        +			bpsl = vmode->v_width / 8;
        +			break;
        +		case 2:
        +			bpsl = vmode->v_width / 4;
        +			break;
        +		case 4:
        +			bpsl = vmode->v_width / 2;
        +			break;
        +		default:
        +			bpsl = vmode->v_width * ((vmode->v_bpp + 7) / 8);
        +			bpsl /= vmode->v_planes;
        +			break;
        +		}
        +
        +		/* Use VBE 3.0 information if it looks sane. */
        +		if ((vmode->v_modeattr & V_MODELFB) != 0 &&
        +		    vesa_adp_info->v_version >= 0x0300 &&
        +		    vmode->v_linbpscanline > bpsl)
        +			return (vmode->v_linbpscanline);
        +
        +		/* Return the minimum if the mode table looks absurd. */
        +		if (vmode->v_bpscanline < bpsl)
        +			return (bpsl);
        +	}
        +
        +	return (vmode->v_bpscanline);
        +}
        +
         #define	VESA_MAXSTR		256
         
         #define	VESA_STRCPY(dst, src)	do {				\
        @@ -733,7 +768,6 @@ vesa_bios_init(void)
         	void *vmbuf;
         	uint32_t offs;
         	uint16_t vers;
        -	int bpsl;
         	int is_via_cle266;
         	int modes;
         	int i;
        @@ -858,9 +892,7 @@ vesa_bios_init(void)
         		}
         #endif
         
        -		bpsl = (vmode.v_modeattr & V_MODELFB) != 0 && vers >= 0x0300 ?
        -		    vmode.v_linbpscanline : vmode.v_bpscanline;
        -		bsize = bpsl * vmode.v_height;
        +		bsize = vesa_get_bpscanline(&vmode) * vmode.v_height;
         		if ((vmode.v_modeattr & V_MODEGRAPHICS) != 0)
         			bsize *= vmode.v_planes;
         
        @@ -1181,6 +1213,7 @@ static int
         vesa_set_mode(video_adapter_t *adp, int mode)
         {
         	video_info_t info;
        +	int bpsl;
         
         	if (adp != vesa_adp)
         		return ((*prevvidsw->set_mode)(adp, mode));
        @@ -1209,7 +1242,7 @@ vesa_set_mode(video_adapter_t *adp, int 
         			int10_set_mode(adp->va_initial_bios_mode);
         			if (adp->va_info.vi_flags & V_INFO_LINEAR)
         				pmap_unmapdev(adp->va_buffer,
        -				    adp->va_buffer_size);
        +				    vesa_adp_info->v_memsize * 64 * 1024);
         			/* 
         			 * Once (*prevvidsw->get_info)() succeeded, 
         			 * (*prevvidsw->set_mode)() below won't fail...
        @@ -1241,12 +1274,12 @@ vesa_set_mode(video_adapter_t *adp, int 
         
         	if ((vesa_adp_info->v_flags & V_DAC8) != 0 &&
         	    (info.vi_flags & V_INFO_GRAPHICS) != 0 &&
        -	    (info.vi_flags & V_INFO_NONVGA) != 0 &&
         	    vesa_bios_set_dac(8) > 6)
         		adp->va_flags |= V_ADP_DAC8;
         
         	if (adp->va_info.vi_flags & V_INFO_LINEAR)
        -		pmap_unmapdev(adp->va_buffer, adp->va_buffer_size);
        +		pmap_unmapdev(adp->va_buffer,
        +		    vesa_adp_info->v_memsize * 64 * 1024);
         
         #if VESA_DEBUG > 0
         	printf("VESA: mode set!\n");
        @@ -1257,13 +1290,27 @@ vesa_set_mode(video_adapter_t *adp, int 
         		(info.vi_flags & V_INFO_COLOR) ? V_ADP_COLOR : 0;
         	vesa_adp->va_crtc_addr =
         		(vesa_adp->va_flags & V_ADP_COLOR) ? COLOR_CRTC : MONO_CRTC;
        +
        +	vesa_adp->va_line_width = info.vi_buffer_size / info.vi_height;
        +	if ((info.vi_flags & V_INFO_GRAPHICS) != 0)
        +		vesa_adp->va_line_width /= info.vi_planes;
        +
        +	/* If VBE function returns bigger bytes per scan line, use it. */
        +	bpsl = vesa_bios_get_line_length();
        +	if (bpsl > vesa_adp->va_line_width) {
        +		vesa_adp->va_line_width = bpsl;
        +		info.vi_buffer_size = bpsl * info.vi_height;
        +		if ((info.vi_flags & V_INFO_GRAPHICS) != 0)
        +			info.vi_buffer_size *= info.vi_planes;
        +	}
        +
         	if (info.vi_flags & V_INFO_LINEAR) {
         #if VESA_DEBUG > 1
         		printf("VESA: setting up LFB\n");
         #endif
         		vesa_adp->va_buffer =
         		    (vm_offset_t)pmap_mapdev_attr(info.vi_buffer,
        -		    info.vi_buffer_size, PAT_WRITE_COMBINING);
        +		    vesa_adp_info->v_memsize * 64 * 1024, PAT_WRITE_COMBINING);
         		vesa_adp->va_window = vesa_adp->va_buffer;
         		vesa_adp->va_window_size = info.vi_buffer_size / info.vi_planes;
         		vesa_adp->va_window_gran = info.vi_buffer_size / info.vi_planes;
        @@ -1275,9 +1322,6 @@ vesa_set_mode(video_adapter_t *adp, int 
         	}
         	vesa_adp->va_buffer_size = info.vi_buffer_size;
         	vesa_adp->va_window_orig = 0;
        -	vesa_adp->va_line_width = info.vi_buffer_size / info.vi_height;
        -	if ((info.vi_flags & V_INFO_GRAPHICS) != 0)
        -		vesa_adp->va_line_width /= info.vi_planes;
         	vesa_adp->va_disp_start.x = 0;
         	vesa_adp->va_disp_start.y = 0;
         #if VESA_DEBUG > 0
        @@ -1322,10 +1366,10 @@ vesa_save_palette(video_adapter_t *adp, 
         {
         	int bits;
         
        -	if (adp == vesa_adp && VESA_MODE(adp->va_mode) &&
        -	    (adp->va_info.vi_flags & V_INFO_NONVGA) != 0) {
        +	if (adp == vesa_adp && VESA_MODE(adp->va_mode)) {
         		bits = (adp->va_flags & V_ADP_DAC8) != 0 ? 8 : 6;
        -		return (vesa_bios_save_palette(0, 256, palette, bits));
        +		if (vesa_bios_save_palette(0, 256, palette, bits) == 0)
        +			return (0);
         	}
         
         	return ((*prevvidsw->save_palette)(adp, palette));
        @@ -1336,10 +1380,10 @@ vesa_load_palette(video_adapter_t *adp, 
         {
         	int bits;
         
        -	if (adp == vesa_adp && VESA_MODE(adp->va_mode) &&
        -	    (adp->va_info.vi_flags & V_INFO_NONVGA) != 0) {
        +	if (adp == vesa_adp && VESA_MODE(adp->va_mode)) {
         		bits = (adp->va_flags & V_ADP_DAC8) != 0 ? 8 : 6;
        -		return (vesa_bios_load_palette(0, 256, palette, bits));
        +		if (vesa_bios_load_palette(0, 256, palette, bits) == 0)
        +			return (0);
         	}
         
         	return ((*prevvidsw->load_palette)(adp, palette));
        @@ -1544,8 +1588,6 @@ get_palette(video_adapter_t *adp, int ba
         		return (1);
         	if (!VESA_MODE(adp->va_mode))
         		return (1);
        -	if ((adp->va_info.vi_flags & V_INFO_NONVGA) == 0)
        -		return (1);
         
         	bits = (adp->va_flags & V_ADP_DAC8) != 0 ? 8 : 6;
         	r = malloc(count * 3, M_DEVBUF, M_WAITOK);
        @@ -1582,8 +1624,6 @@ set_palette(video_adapter_t *adp, int ba
         		return (1);
         	if (!VESA_MODE(adp->va_mode))
         		return (1);
        -	if ((adp->va_info.vi_flags & V_INFO_NONVGA) == 0)
        -		return (1);
         
         	bits = (adp->va_flags & V_ADP_DAC8) != 0 ? 8 : 6;
         	r = malloc(count * 3, M_DEVBUF, M_WAITOK);
        
        Modified: projects/ppc64/sys/dev/fb/vga.c
        ==============================================================================
        --- projects/ppc64/sys/dev/fb/vga.c	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/sys/dev/fb/vga.c	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -1979,6 +1979,7 @@ vga_show_font(video_adapter_t *adp, int 
         static int
         vga_save_palette(video_adapter_t *adp, u_char *palette)
         {
        +    int bits;
             int i;
         
             prologue(adp, V_ADP_PALETTE, ENODEV);
        @@ -1988,8 +1989,9 @@ vga_save_palette(video_adapter_t *adp, u
              * VGA has 6 bit DAC .
              */
             outb(PALRADR, 0x00);
        +    bits = (adp->va_flags & V_ADP_DAC8) != 0 ? 0 : 2;
             for (i = 0; i < 256*3; ++i)
        -	palette[i] = inb(PALDATA) << 2; 
        +	palette[i] = inb(PALDATA) << bits; 
             inb(adp->va_crtc_addr + 6);	/* reset flip/flop */
             return 0;
         }
        @@ -1998,15 +2000,17 @@ static int
         vga_save_palette2(video_adapter_t *adp, int base, int count,
         		  u_char *r, u_char *g, u_char *b)
         {
        +    int bits;
             int i;
         
             prologue(adp, V_ADP_PALETTE, ENODEV);
         
             outb(PALRADR, base);
        +    bits = (adp->va_flags & V_ADP_DAC8) != 0 ? 0 : 2;
             for (i = 0; i < count; ++i) {
        -	r[i] = inb(PALDATA) << 2; 
        -	g[i] = inb(PALDATA) << 2; 
        -	b[i] = inb(PALDATA) << 2; 
        +	r[i] = inb(PALDATA) << bits; 
        +	g[i] = inb(PALDATA) << bits; 
        +	b[i] = inb(PALDATA) << bits;
             }
             inb(adp->va_crtc_addr + 6);		/* reset flip/flop */
             return 0;
        @@ -2021,14 +2025,16 @@ vga_save_palette2(video_adapter_t *adp, 
         static int
         vga_load_palette(video_adapter_t *adp, u_char *palette)
         {
        +    int bits;
             int i;
         
             prologue(adp, V_ADP_PALETTE, ENODEV);
         
             outb(PIXMASK, 0xff);		/* no pixelmask */
             outb(PALWADR, 0x00);
        +    bits = (adp->va_flags & V_ADP_DAC8) != 0 ? 0 : 2;
             for (i = 0; i < 256*3; ++i)
        -	outb(PALDATA, palette[i] >> 2);
        +	outb(PALDATA, palette[i] >> bits);
             inb(adp->va_crtc_addr + 6);	/* reset flip/flop */
             outb(ATC, 0x20);			/* enable palette */
             return 0;
        @@ -2038,16 +2044,18 @@ static int
         vga_load_palette2(video_adapter_t *adp, int base, int count,
         		  u_char *r, u_char *g, u_char *b)
         {
        +    int bits;
             int i;
         
             prologue(adp, V_ADP_PALETTE, ENODEV);
         
             outb(PIXMASK, 0xff);		/* no pixelmask */
             outb(PALWADR, base);
        +    bits = (adp->va_flags & V_ADP_DAC8) != 0 ? 0 : 2;
             for (i = 0; i < count; ++i) {
        -	outb(PALDATA, r[i] >> 2);
        -	outb(PALDATA, g[i] >> 2);
        -	outb(PALDATA, b[i] >> 2);
        +	outb(PALDATA, r[i] >> bits);
        +	outb(PALDATA, g[i] >> bits);
        +	outb(PALDATA, b[i] >> bits);
             }
             inb(adp->va_crtc_addr + 6);		/* reset flip/flop */
             outb(ATC, 0x20);			/* enable palette */
        
        Modified: projects/ppc64/sys/dev/ppc/ppc_pci.c
        ==============================================================================
        --- projects/ppc64/sys/dev/ppc/ppc_pci.c	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/sys/dev/ppc/ppc_pci.c	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -89,6 +89,7 @@ static struct pci_id pci_ids[] = {
         	{ 0x84031415, "Oxford Semiconductor OX12PCI840 Parallel port", 0x10 },
         	{ 0x95131415, "Oxford Semiconductor OX16PCI954 Parallel port", 0x10 },
         	{ 0x98059710, "NetMos NM9805 1284 Printer port", 0x10 },
        +	{ 0x99019710, "MosChip MCS9901 PCIe to Peripheral Controller", 0x10 },
         	{ 0xffff }
         };
         
        
        Modified: projects/ppc64/sys/dev/syscons/scvgarndr.c
        ==============================================================================
        --- projects/ppc64/sys/dev/syscons/scvgarndr.c	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/sys/dev/syscons/scvgarndr.c	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -181,9 +181,17 @@ static u_short mouse_or_mask[16] = {
         #define	vga_drawpxl(pos, color)						\
         	switch (scp->sc->adp->va_info.vi_depth) {			\
         		case 32:						\
        -		case 24:						\
         			writel(pos, vga_palette32[color]);		\
         			break;						\
        +		case 24:						\
        +			if (((pos) & 1) == 0) {				\
        +				writew(pos, vga_palette32[color]);	\
        +				writeb(pos + 2, vga_palette32[color] >> 16);\
        +			} else {					\
        +				writeb(pos, vga_palette32[color]);	\
        +				writew(pos + 1, vga_palette32[color] >> 8);\
        +			}						\
        +			break;						\
         		case 16:						\
         			if (scp->sc->adp->va_info.vi_pixel_fsizes[1] == 5)\
         				writew(pos, vga_palette15[color]);	\
        
        Modified: projects/ppc64/sys/fs/nfs/nfs_commonport.c
        ==============================================================================
        --- projects/ppc64/sys/fs/nfs/nfs_commonport.c	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/sys/fs/nfs/nfs_commonport.c	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -117,7 +117,7 @@ struct mtx nfs_slock_mutex;
         /* local functions */
         static int nfssvc_call(struct thread *, struct nfssvc_args *, struct ucred *);
         
        -#if defined(__i386__)
        +#ifdef __NO_STRICT_ALIGNMENT
         /*
          * These architectures don't need re-alignment, so just return.
          */
        @@ -127,7 +127,7 @@ newnfs_realign(struct mbuf **pm)
         
         	return;
         }
        -#else
        +#else	/* !__NO_STRICT_ALIGNMENT */
         /*
          *	newnfs_realign:
          *
        @@ -185,7 +185,7 @@ newnfs_realign(struct mbuf **pm)
         		pm = &m->m_next;
         	}
         }
        -#endif	/* !__i386__ */
        +#endif	/* __NO_STRICT_ALIGNMENT */
         
         #ifdef notdef
         static void
        
        Modified: projects/ppc64/sys/geom/geom_io.c
        ==============================================================================
        --- projects/ppc64/sys/geom/geom_io.c	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/sys/geom/geom_io.c	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -443,7 +443,10 @@ g_io_request(struct bio *bp, struct g_co
         	    ("Bio already on queue bp=%p", bp));
         	bp->bio_flags |= BIO_ONQUEUE;
         
        -	binuptime(&bp->bio_t0);
        +	if (g_collectstats)
        +		binuptime(&bp->bio_t0);
        +	else
        +		getbinuptime(&bp->bio_t0);
         
         	/*
         	 * The statistics collection is lockless, as such, but we
        
        Modified: projects/ppc64/sys/i386/i386/mca.c
        ==============================================================================
        --- projects/ppc64/sys/i386/i386/mca.c	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/sys/i386/i386/mca.c	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -60,11 +60,20 @@ static int mca_count;		/* Number of reco
         
         SYSCTL_NODE(_hw, OID_AUTO, mca, CTLFLAG_RD, NULL, "Machine Check Architecture");
         
        -static int mca_enabled = 0;
        +static int mca_enabled = 1;
         TUNABLE_INT("hw.mca.enabled", &mca_enabled);
         SYSCTL_INT(_hw_mca, OID_AUTO, enabled, CTLFLAG_RDTUN, &mca_enabled, 0,
             "Administrative toggle for machine check support");
         
        +static int amd10h_L1TP = 1;
        +TUNABLE_INT("hw.mca.amd10h_L1TP", &amd10h_L1TP);
        +SYSCTL_INT(_hw_mca, OID_AUTO, amd10h_L1TP, CTLFLAG_RDTUN, &amd10h_L1TP, 0,
        +    "Administrative toggle for logging of level one TLB parity (L1TP) errors");
        +
        +int workaround_erratum383;
        +SYSCTL_INT(_hw_mca, OID_AUTO, erratum383, CTLFLAG_RD, &workaround_erratum383, 0,
        +    "Is the workaround for Erratum 383 on AMD Family 10h processors enabled?");
        +
         static STAILQ_HEAD(, mca_internal) mca_records;
         static struct callout mca_timer;
         static int mca_ticks = 3600;	/* Check hourly by default. */
        @@ -527,7 +536,7 @@ void
         mca_init(void)
         {
         	uint64_t mcg_cap;
        -	uint64_t ctl;
        +	uint64_t ctl, mask;
         	int skip;
         	int i;
         
        @@ -535,6 +544,15 @@ mca_init(void)
         	if (!mca_enabled || !(cpu_feature & CPUID_MCE))
         		return;
         
        +	/*
        +	 * On AMD Family 10h processors, unless logging of level one TLB
        +	 * parity (L1TP) errors is disabled, enable the recommended workaround
        +	 * for Erratum 383.
        +	 */
        +	if (cpu_vendor_id == CPU_VENDOR_AMD &&
        +	    CPUID_TO_FAMILY(cpu_id) == 0x10 && amd10h_L1TP)
        +		workaround_erratum383 = 1;
        +
         	if (cpu_feature & CPUID_MCA) {
         		if (PCPU_GET(cpuid) == 0)
         			mca_setup();
        @@ -545,6 +563,19 @@ mca_init(void)
         			/* Enable MCA features. */
         			wrmsr(MSR_MCG_CTL, MCG_CTL_ENABLE);
         
        +		/*
        +		 * Disable logging of level one TLB parity (L1TP) errors by
        +		 * the data cache as an alternative workaround for AMD Family
        +		 * 10h Erratum 383.  Unlike the recommended workaround, there
        +		 * is no performance penalty to this workaround.  However,
        +		 * L1TP errors will go unreported.
        +		 */
        +		if (cpu_vendor_id == CPU_VENDOR_AMD &&
        +		    CPUID_TO_FAMILY(cpu_id) == 0x10 && !amd10h_L1TP) {
        +			mask = rdmsr(MSR_MC0_CTL_MASK);
        +			if ((mask & (1UL << 5)) == 0)
        +				wrmsr(MSR_MC0_CTL_MASK, mask | (1UL << 5));
        +		}
         		for (i = 0; i < (mcg_cap & MCG_CAP_COUNT); i++) {
         			/* By default enable logging of all errors. */
         			ctl = 0xffffffffffffffffUL;
        
        Modified: projects/ppc64/sys/i386/i386/pmap.c
        ==============================================================================
        --- projects/ppc64/sys/i386/i386/pmap.c	Thu Mar 25 14:31:26 2010	(r205643)
        +++ projects/ppc64/sys/i386/i386/pmap.c	Thu Mar 25 14:44:13 2010	(r205644)
        @@ -5,7 +5,7 @@
          * All rights reserved.
          * Copyright (c) 1994 David Greenman
          * All rights reserved.
        
        *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
        
        From owner-svn-src-projects@FreeBSD.ORG  Fri Mar 26 03:02:32 2010
        Return-Path: 
        Delivered-To: svn-src-projects@freebsd.org
        Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
        	by hub.freebsd.org (Postfix) with ESMTP id 01DFA106566B;
        	Fri, 26 Mar 2010 03:02:32 +0000 (UTC)
        	(envelope-from marcel@FreeBSD.org)
        Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
        	by mx1.freebsd.org (Postfix) with ESMTP id E588D8FC12;
        	Fri, 26 Mar 2010 03:02:31 +0000 (UTC)
        Received: from svn.freebsd.org (localhost [127.0.0.1])
        	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2Q32VTE015861;
        	Fri, 26 Mar 2010 03:02:31 GMT (envelope-from marcel@svn.freebsd.org)
        Received: (from marcel@localhost)
        	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2Q32VLX015858;
        	Fri, 26 Mar 2010 03:02:31 GMT (envelope-from marcel@svn.freebsd.org)
        Message-Id: <201003260302.o2Q32VLX015858@svn.freebsd.org>
        From: Marcel Moolenaar 
        Date: Fri, 26 Mar 2010 03:02:31 +0000 (UTC)
        To: src-committers@freebsd.org, svn-src-projects@freebsd.org
        X-SVN-Group: projects
        MIME-Version: 1.0
        Content-Type: text/plain; charset=UTF-8
        Content-Transfer-Encoding: 8bit
        Cc: 
        Subject: svn commit: r205666 - in projects/altix/sys: dev/uart ia64/include
        X-BeenThere: svn-src-projects@freebsd.org
        X-Mailman-Version: 2.1.5
        Precedence: list
        List-Id: "SVN commit messages for the src " projects"
        	tree" 
        List-Unsubscribe: , 
        	
        List-Archive: 
        List-Post: 
        List-Help: 
        List-Subscribe: , 
        	
        X-List-Received-Date: Fri, 26 Mar 2010 03:02:32 -0000
        
        Author: marcel
        Date: Fri Mar 26 03:02:31 2010
        New Revision: 205666
        URL: http://svn.freebsd.org/changeset/base/205666
        
        Log:
          Implement sgisn_probe() and move the SAL prodecure numbers to
          
        
        Modified:
          projects/altix/sys/dev/uart/uart_dev_sgisn.c
          projects/altix/sys/ia64/include/sal.h
        
        Modified: projects/altix/sys/dev/uart/uart_dev_sgisn.c
        ==============================================================================
        --- projects/altix/sys/dev/uart/uart_dev_sgisn.c	Fri Mar 26 02:29:15 2010	(r205665)
        +++ projects/altix/sys/dev/uart/uart_dev_sgisn.c	Fri Mar 26 03:02:31 2010	(r205666)
        @@ -41,10 +41,6 @@ __FBSDID("$FreeBSD$");
         
         #include "uart_if.h"
         
        -#define	SAL_SGISN_PUTC	0x02000021
        -#define	SAL_SGISN_GETC	0x02000022
        -#define	SAL_SGISN_POLL	0x02000026
        -
         /*
          * Low-level UART interface.
          */
        @@ -67,9 +63,10 @@ static struct uart_ops uart_sgisn_ops = 
         static int
         sgisn_probe(struct uart_bas *bas)
         {
        +	struct ia64_sal_result result;
         
        -	/* XXX Check that we're running on the Altix 350 */
        -	return (0);
        +	result = ia64_sal_entry(SAL_SGISN_INFO, 0, 0, 0, 0, 0, 0, 0);
        +	return ((result.sal_status != 0) ? ENXIO : 0);
         }
         
         static void
        
        Modified: projects/altix/sys/ia64/include/sal.h
        ==============================================================================
        --- projects/altix/sys/ia64/include/sal.h	Fri Mar 26 02:29:15 2010	(r205665)
        +++ projects/altix/sys/ia64/include/sal.h	Fri Mar 26 03:02:31 2010	(r205666)
        @@ -114,6 +114,11 @@ struct sal_ap_wakeup_descriptor {
         #define SAL_FREQ_BASE		0x01000012
         #define SAL_UPDATE_PAL		0x01000020
         
        +#define	SAL_SGISN_INFO		0x0200001e
        +#define	SAL_SGISN_PUTC		0x02000021
        +#define	SAL_SGISN_GETC		0x02000022
        +#define	SAL_SGISN_POLL		0x02000026
        +
         /* SAL_SET_VECTORS event handler types */
         #define	SAL_OS_MCA		0
         #define	SAL_OS_INIT		1
        
        From owner-svn-src-projects@FreeBSD.ORG  Fri Mar 26 15:50:02 2010
        Return-Path: 
        Delivered-To: svn-src-projects@freebsd.org
        Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
        	by hub.freebsd.org (Postfix) with ESMTP id 01A461065670;
        	Fri, 26 Mar 2010 15:50:02 +0000 (UTC)
        	(envelope-from nwhitehorn@FreeBSD.org)
        Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
        	by mx1.freebsd.org (Postfix) with ESMTP id E56538FC0C;
        	Fri, 26 Mar 2010 15:50:01 +0000 (UTC)
        Received: from svn.freebsd.org (localhost [127.0.0.1])
        	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2QFo1dp090029;
        	Fri, 26 Mar 2010 15:50:01 GMT
        	(envelope-from nwhitehorn@svn.freebsd.org)
        Received: (from nwhitehorn@localhost)
        	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2QFo1kB090027;
        	Fri, 26 Mar 2010 15:50:01 GMT
        	(envelope-from nwhitehorn@svn.freebsd.org)
        Message-Id: <201003261550.o2QFo1kB090027@svn.freebsd.org>
        From: Nathan Whitehorn 
        Date: Fri, 26 Mar 2010 15:50:01 +0000 (UTC)
        To: src-committers@freebsd.org, svn-src-projects@freebsd.org
        X-SVN-Group: projects
        MIME-Version: 1.0
        Content-Type: text/plain; charset=UTF-8
        Content-Transfer-Encoding: 8bit
        Cc: 
        Subject: svn commit: r205699 - projects/ppc64/sys/powerpc/aim
        X-BeenThere: svn-src-projects@freebsd.org
        X-Mailman-Version: 2.1.5
        Precedence: list
        List-Id: "SVN commit messages for the src " projects"
        	tree" 
        List-Unsubscribe: , 
        	
        List-Archive: 
        List-Post: 
        List-Help: 
        List-Subscribe: , 
        	
        X-List-Received-Date: Fri, 26 Mar 2010 15:50:02 -0000
        
        Author: nwhitehorn
        Date: Fri Mar 26 15:50:01 2010
        New Revision: 205699
        URL: http://svn.freebsd.org/changeset/base/205699
        
        Log:
          Remove some unused crud.
        
        Modified:
          projects/ppc64/sys/powerpc/aim/machdep.c
        
        Modified: projects/ppc64/sys/powerpc/aim/machdep.c
        ==============================================================================
        --- projects/ppc64/sys/powerpc/aim/machdep.c	Fri Mar 26 15:13:31 2010	(r205698)
        +++ projects/ppc64/sys/powerpc/aim/machdep.c	Fri Mar 26 15:50:01 2010	(r205699)
        @@ -158,13 +158,11 @@ SYSCTL_INT(_machdep, CPU_CACHELINE, cach
         uintptr_t	powerpc_init(vm_offset_t, vm_offset_t, vm_offset_t, void *);
         
         int             setfault(faultbuf);             /* defined in locore.S */
        -void		asm_panic(char *);
         
         long		Maxmem = 0;
         long		realmem = 0;
         
         struct pmap	ofw_pmap;
        -extern register_t ofmsr;
         
         #ifndef __powerpc64__
         struct bat	battable[16];
        @@ -798,12 +796,6 @@ kcopy(const void *src, void *dst, size_t
         	return (0);
         }
         
        -void
        -asm_panic(char *pstr)
        -{
        -	panic(pstr);
        -}
        -
         int db_trap_glue(struct trapframe *);		/* Called from trap_subr.S */
         
         int
        
        From owner-svn-src-projects@FreeBSD.ORG  Fri Mar 26 15:52:33 2010
        Return-Path: 
        Delivered-To: svn-src-projects@freebsd.org
        Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
        	by hub.freebsd.org (Postfix) with ESMTP id 02222106564A;
        	Fri, 26 Mar 2010 15:52:33 +0000 (UTC)
        	(envelope-from nwhitehorn@FreeBSD.org)
        Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
        	by mx1.freebsd.org (Postfix) with ESMTP id E4AE28FC18;
        	Fri, 26 Mar 2010 15:52:32 +0000 (UTC)
        Received: from svn.freebsd.org (localhost [127.0.0.1])
        	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2QFqW5m090622;
        	Fri, 26 Mar 2010 15:52:32 GMT
        	(envelope-from nwhitehorn@svn.freebsd.org)
        Received: (from nwhitehorn@localhost)
        	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2QFqWWt090612;
        	Fri, 26 Mar 2010 15:52:32 GMT
        	(envelope-from nwhitehorn@svn.freebsd.org)
        Message-Id: <201003261552.o2QFqWWt090612@svn.freebsd.org>
        From: Nathan Whitehorn 
        Date: Fri, 26 Mar 2010 15:52:32 +0000 (UTC)
        To: src-committers@freebsd.org, svn-src-projects@freebsd.org
        X-SVN-Group: projects
        MIME-Version: 1.0
        Content-Type: text/plain; charset=UTF-8
        Content-Transfer-Encoding: 8bit
        Cc: 
        Subject: svn commit: r205700 - in projects/ppc64/sys/powerpc: aim booke
        	include powerpc
        X-BeenThere: svn-src-projects@freebsd.org
        X-Mailman-Version: 2.1.5
        Precedence: list
        List-Id: "SVN commit messages for the src " projects"
        	tree" 
        List-Unsubscribe: , 
        	
        List-Archive: 
        List-Post: 
        List-Help: 
        List-Subscribe: , 
        	
        X-List-Received-Date: Fri, 26 Mar 2010 15:52:33 -0000
        
        Author: nwhitehorn
        Date: Fri Mar 26 15:52:32 2010
        New Revision: 205700
        URL: http://svn.freebsd.org/changeset/base/205700
        
        Log:
          Take some extra care with MSR values. First, define them to longs so that
          setting SRR1 &= ~PSL_SE does not accidentally unset 64-bit mode. Second,
          make sure that, in the 64-bit case, PSL_HV is explicitly preserved when
          returning from interrupts.
        
        Modified:
          projects/ppc64/sys/powerpc/aim/locore32.S
          projects/ppc64/sys/powerpc/aim/locore64.S
          projects/ppc64/sys/powerpc/aim/swtch32.S
          projects/ppc64/sys/powerpc/aim/swtch64.S
          projects/ppc64/sys/powerpc/booke/locore.S
          projects/ppc64/sys/powerpc/booke/swtch.S
          projects/ppc64/sys/powerpc/include/psl.h
          projects/ppc64/sys/powerpc/powerpc/exec_machdep.c
          projects/ppc64/sys/powerpc/powerpc/genassym.c
        
        Modified: projects/ppc64/sys/powerpc/aim/locore32.S
        ==============================================================================
        --- projects/ppc64/sys/powerpc/aim/locore32.S	Fri Mar 26 15:50:01 2010	(r205699)
        +++ projects/ppc64/sys/powerpc/aim/locore32.S	Fri Mar 26 15:52:32 2010	(r205700)
        @@ -63,7 +63,6 @@
         #include 
         #include 
         #include 
        -#include 
         #include 
         
         /* Locate the per-CPU data structure */
        
        Modified: projects/ppc64/sys/powerpc/aim/locore64.S
        ==============================================================================
        --- projects/ppc64/sys/powerpc/aim/locore64.S	Fri Mar 26 15:50:01 2010	(r205699)
        +++ projects/ppc64/sys/powerpc/aim/locore64.S	Fri Mar 26 15:52:32 2010	(r205700)
        @@ -63,7 +63,6 @@
         #include 
         #include 
         #include 
        -#include 
         #include 
         
         /* Locate the per-CPU data structure */
        
        Modified: projects/ppc64/sys/powerpc/aim/swtch32.S
        ==============================================================================
        --- projects/ppc64/sys/powerpc/aim/swtch32.S	Fri Mar 26 15:50:01 2010	(r205699)
        +++ projects/ppc64/sys/powerpc/aim/swtch32.S	Fri Mar 26 15:52:32 2010	(r205700)
        @@ -63,7 +63,6 @@
         
         #include 
         #include 
        -#include 
         #include 
         
         /*
        
        Modified: projects/ppc64/sys/powerpc/aim/swtch64.S
        ==============================================================================
        --- projects/ppc64/sys/powerpc/aim/swtch64.S	Fri Mar 26 15:50:01 2010	(r205699)
        +++ projects/ppc64/sys/powerpc/aim/swtch64.S	Fri Mar 26 15:52:32 2010	(r205700)
        @@ -63,7 +63,6 @@
         
         #include 
         #include 
        -#include 
         #include 
         
         /*
        
        Modified: projects/ppc64/sys/powerpc/booke/locore.S
        ==============================================================================
        --- projects/ppc64/sys/powerpc/booke/locore.S	Fri Mar 26 15:50:01 2010	(r205699)
        +++ projects/ppc64/sys/powerpc/booke/locore.S	Fri Mar 26 15:52:32 2010	(r205700)
        @@ -34,7 +34,6 @@
         #include 
         #include 
         #include 
        -#include 
         #include 
         #include 
         #include 
        
        Modified: projects/ppc64/sys/powerpc/booke/swtch.S
        ==============================================================================
        --- projects/ppc64/sys/powerpc/booke/swtch.S	Fri Mar 26 15:50:01 2010	(r205699)
        +++ projects/ppc64/sys/powerpc/booke/swtch.S	Fri Mar 26 15:52:32 2010	(r205700)
        @@ -64,7 +64,6 @@
         
         #include 
         #include 
        -#include 
         #include 
         #include 
         
        
        Modified: projects/ppc64/sys/powerpc/include/psl.h
        ==============================================================================
        --- projects/ppc64/sys/powerpc/include/psl.h	Fri Mar 26 15:50:01 2010	(r205699)
        +++ projects/ppc64/sys/powerpc/include/psl.h	Fri Mar 26 15:52:32 2010	(r205700)
        @@ -44,23 +44,23 @@
          * FP, FE0, FE1 - reserved, always cleared, setting has no effect.
          *
          */
        -#define PSL_UCLE	0x04000000	/* User mode cache lock enable */
        -#define PSL_SPE		0x02000000	/* SPE enable */
        -#define PSL_WE		0x00040000	/* Wait state enable */
        -#define PSL_CE		0x00020000	/* Critical interrupt enable */
        -#define PSL_EE		0x00008000	/* External interrupt enable */
        -#define PSL_PR		0x00004000	/* User mode */
        -#define PSL_FP		0x00002000	/* Floating point available */
        -#define PSL_ME		0x00001000	/* Machine check interrupt enable */
        -#define PSL_FE0		0x00000800	/* Floating point exception mode 0 */
        -#define PSL_UBLE	0x00000400	/* BTB lock enable */
        -#define PSL_DE		0x00000200	/* Debug interrupt enable */
        -#define PSL_FE1		0x00000100	/* Floating point exception mode 1 */
        -#define PSL_IS		0x00000020	/* Instruction address space */
        -#define PSL_DS		0x00000010	/* Data address space */
        -#define PSL_PMM		0x00000004	/* Performance monitor mark */
        +#define PSL_UCLE	0x04000000UL	/* User mode cache lock enable */
        +#define PSL_SPE		0x02000000UL	/* SPE enable */
        +#define PSL_WE		0x00040000UL	/* Wait state enable */
        +#define PSL_CE		0x00020000UL	/* Critical interrupt enable */
        +#define PSL_EE		0x00008000UL	/* External interrupt enable */
        +#define PSL_PR		0x00004000UL	/* User mode */
        +#define PSL_FP		0x00002000UL	/* Floating point available */
        +#define PSL_ME		0x00001000UL	/* Machine check interrupt enable */
        +#define PSL_FE0		0x00000800UL	/* Floating point exception mode 0 */
        +#define PSL_UBLE	0x00000400UL	/* BTB lock enable */
        +#define PSL_DE		0x00000200UL	/* Debug interrupt enable */
        +#define PSL_FE1		0x00000100UL	/* Floating point exception mode 1 */
        +#define PSL_IS		0x00000020UL	/* Instruction address space */
        +#define PSL_DS		0x00000010UL	/* Data address space */
        +#define PSL_PMM		0x00000004UL	/* Performance monitor mark */
         
        -#define PSL_FE_DFLT	0x00000000	/* default == none */
        +#define PSL_FE_DFLT	0x00000000UL	/* default == none */
         
         /* Initial kernel MSR, use IS=1 ad DS=1. */
         #define PSL_KERNSET_INIT	(PSL_IS | PSL_DS)
        @@ -77,27 +77,30 @@
          *
          * [*] Little-endian mode on the 601 is implemented in the HID0 register.
          */
        -#define	PSL_VEC		0x02000000	/* AltiVec vector unit available */
        -#define	PSL_POW		0x00040000	/* power management */
        -#define	PSL_ILE		0x00010000	/* interrupt endian mode (1 == le) */
        -#define	PSL_EE		0x00008000	/* external interrupt enable */
        -#define	PSL_PR		0x00004000	/* privilege mode (1 == user) */
        -#define	PSL_FP		0x00002000	/* floating point enable */
        -#define	PSL_ME		0x00001000	/* machine check enable */
        -#define	PSL_FE0		0x00000800	/* floating point interrupt mode 0 */
        -#define	PSL_SE		0x00000400	/* single-step trace enable */
        -#define	PSL_BE		0x00000200	/* branch trace enable */
        -#define	PSL_FE1		0x00000100	/* floating point interrupt mode 1 */
        -#define	PSL_IP		0x00000040	/* interrupt prefix */
        -#define	PSL_IR		0x00000020	/* instruction address relocation */
        -#define	PSL_DR		0x00000010	/* data address relocation */
        -#define	PSL_RI		0x00000002	/* recoverable interrupt */
        -#define	PSL_LE		0x00000001	/* endian mode (1 == le) */
         
         #ifdef __powerpc64__
        -#define PSL_SF		(0x1UL << 63)
        +#define PSL_SF		0x1000000000000000UL	/* 64-bit addressing */
        +#define PSL_HV		0x3000000000000000UL	/* hyper-privileged mode */
         #endif
         
        +#define	PSL_VEC		0x02000000UL	/* AltiVec vector unit available */
        +#define	PSL_POW		0x00040000UL	/* power management */
        +#define	PSL_ILE		0x00010000UL	/* interrupt endian mode (1 == le) */
        +#define	PSL_EE		0x00008000UL	/* external interrupt enable */
        +#define	PSL_PR		0x00004000UL	/* privilege mode (1 == user) */
        +#define	PSL_FP		0x00002000UL	/* floating point enable */
        +#define	PSL_ME		0x00001000UL	/* machine check enable */
        +#define	PSL_FE0		0x00000800UL	/* floating point interrupt mode 0 */
        +#define	PSL_SE		0x00000400UL	/* single-step trace enable */
        +#define	PSL_BE		0x00000200UL	/* branch trace enable */
        +#define	PSL_FE1		0x00000100UL	/* floating point interrupt mode 1 */
        +#define	PSL_IP		0x00000040UL	/* interrupt prefix */
        +#define	PSL_IR		0x00000020UL	/* instruction address relocation */
        +#define	PSL_DR		0x00000010UL	/* data address relocation */
        +#define	PSL_PMM		0x00000004UL	/* performance monitor mark */
        +#define	PSL_RI		0x00000002UL	/* recoverable interrupt */
        +#define	PSL_LE		0x00000001UL	/* endian mode (1 == le) */
        +
         #define	PSL_601_MASK	~(PSL_POW|PSL_ILE|PSL_BE|PSL_RI|PSL_LE)
         
         /*
        
        Modified: projects/ppc64/sys/powerpc/powerpc/exec_machdep.c
        ==============================================================================
        --- projects/ppc64/sys/powerpc/powerpc/exec_machdep.c	Fri Mar 26 15:50:01 2010	(r205699)
        +++ projects/ppc64/sys/powerpc/powerpc/exec_machdep.c	Fri Mar 26 15:52:32 2010	(r205700)
        @@ -552,6 +552,8 @@ exec_setregs(struct thread *td, struct i
         	tf->fixreg[2] = entry_desc[1] + imgp->reloc_base;
         	tf->fixreg[11] = entry_desc[2] + imgp->reloc_base;
         	tf->srr1 = PSL_SF | PSL_USERSET | PSL_FE_DFLT;
        +	if (mfmsr() & PSL_HV)
        +		tf->srr1 |= PSL_HV;
         	#else
         	tf->srr0 = imgp->entry_addr;
         	tf->srr1 = PSL_USERSET | PSL_FE_DFLT;
        @@ -584,6 +586,8 @@ ppc32_setregs(struct thread *td, struct 
         	tf->srr0 = imgp->entry_addr;
         	tf->srr1 = PSL_MBO | PSL_USERSET | PSL_FE_DFLT;
         	tf->srr1 &= ~PSL_SF;
        +	if (mfmsr() & PSL_HV)
        +		tf->srr1 |= PSL_HV;
         	td->td_pcb->pcb_flags = 0;
         }
         #endif
        @@ -1033,8 +1037,15 @@ cpu_set_upcall_kse(struct thread *td, vo
         		tf->fixreg[2] = entry_desc[1];
         		tf->fixreg[11] = entry_desc[2];
         		tf->srr1 = PSL_SF | PSL_MBO | PSL_USERSET | PSL_FE_DFLT;
        +		if (mfmsr() & PSL_HV)
        +			tf->srr1 |= PSL_HV;
         	    #endif
         	}
        +
        +	#ifdef __powerpc64__
        +	if (mfmsr() & PSL_HV)
        +		tf->srr1 |= PSL_HV;
        +	#endif
         	td->td_pcb->pcb_flags = 0;
         
         	td->td_retval[0] = (register_t)entry;
        
        Modified: projects/ppc64/sys/powerpc/powerpc/genassym.c
        ==============================================================================
        --- projects/ppc64/sys/powerpc/powerpc/genassym.c	Fri Mar 26 15:50:01 2010	(r205699)
        +++ projects/ppc64/sys/powerpc/powerpc/genassym.c	Fri Mar 26 15:52:32 2010	(r205700)
        @@ -53,6 +53,7 @@
         
         #include 
         #include 
        +#include 
         #include 
         
         ASSYM(PC_CURTHREAD, offsetof(struct pcpu, pc_curthread));
        @@ -209,3 +210,50 @@ ASSYM(SF_UC, offsetof(struct sigframe, s
         
         ASSYM(KERNBASE, KERNBASE);
         ASSYM(MAXCOMLEN, MAXCOMLEN);
        +
        +#ifdef E500
        +ASSYM(PSL_UCLE, PSL_UCLE);
        +ASSYM(PSL_SPE, PSL_SPE);
        +ASSYM(PSL_WE, PSL_WE);
        +ASSYM(PSL_CE, PSL_CE);
        +ASSYM(PSL_UBLE, PSL_UBLE);
        +ASSYM(PSL_DS, PSL_DS);
        +ASSYM(PSL_IS, PSL_IS);
        +ASSYM(PSL_DE, PSL_DE);
        +
        +ASSYM(PSL_KERNSET_INIT, PSL_KERNSET_INIT);
        +#else /* AIM */
        +#ifdef __powerpc64__
        +ASSYM(PSL_SF, PSL_SF);
        +ASSYM(PSL_HV, PSL_HV);
        +#endif
        +ASSYM(PSL_VEC, PSL_VEC);
        +ASSYM(PSL_POW, PSL_POW);
        +ASSYM(PSL_ILE, PSL_ILE);
        +ASSYM(PSL_BE, PSL_BE);
        +ASSYM(PSL_LE, PSL_LE);
        +ASSYM(PSL_SE, PSL_SE);
        +ASSYM(PSL_RI, PSL_RI);
        +ASSYM(PSL_DR, PSL_DR);
        +ASSYM(PSL_IP, PSL_IP);
        +ASSYM(PSL_IR, PSL_IR);
        +
        +ASSYM(PSL_FE_DIS, PSL_FE_DIS);
        +ASSYM(PSL_FE_NONREC, PSL_FE_NONREC);
        +ASSYM(PSL_FE_PREC, PSL_FE_PREC);
        +ASSYM(PSL_FE_REC, PSL_FE_REC);
        +
        +ASSYM(PSL_USERSTATIC, PSL_USERSTATIC);
        +#endif
        +
        +ASSYM(PSL_EE, PSL_EE);
        +ASSYM(PSL_FE0, PSL_FE0);
        +ASSYM(PSL_FE1, PSL_FE1);
        +ASSYM(PSL_FP, PSL_FP);
        +ASSYM(PSL_ME, PSL_ME);
        +ASSYM(PSL_PR, PSL_PR);
        +ASSYM(PSL_PMM, PSL_PMM);
        +
        +ASSYM(PSL_KERNSET, PSL_KERNSET);
        +ASSYM(PSL_USERSET, PSL_USERSET);
        +
        
        From owner-svn-src-projects@FreeBSD.ORG  Fri Mar 26 22:04:12 2010
        Return-Path: 
        Delivered-To: svn-src-projects@freebsd.org
        Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
        	by hub.freebsd.org (Postfix) with ESMTP id 49568106566B;
        	Fri, 26 Mar 2010 22:04:12 +0000 (UTC)
        	(envelope-from marcel@FreeBSD.org)
        Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
        	by mx1.freebsd.org (Postfix) with ESMTP id 3946C8FC0A;
        	Fri, 26 Mar 2010 22:04:12 +0000 (UTC)
        Received: from svn.freebsd.org (localhost [127.0.0.1])
        	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2QM4CLh073444;
        	Fri, 26 Mar 2010 22:04:12 GMT (envelope-from marcel@svn.freebsd.org)
        Received: (from marcel@localhost)
        	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2QM4C81073441;
        	Fri, 26 Mar 2010 22:04:12 GMT (envelope-from marcel@svn.freebsd.org)
        Message-Id: <201003262204.o2QM4C81073441@svn.freebsd.org>
        From: Marcel Moolenaar 
        Date: Fri, 26 Mar 2010 22:04:12 +0000 (UTC)
        To: src-committers@freebsd.org, svn-src-projects@freebsd.org
        X-SVN-Group: projects
        MIME-Version: 1.0
        Content-Type: text/plain; charset=UTF-8
        Content-Transfer-Encoding: 8bit
        Cc: 
        Subject: svn commit: r205714 - projects/altix/sys/conf
        X-BeenThere: svn-src-projects@freebsd.org
        X-Mailman-Version: 2.1.5
        Precedence: list
        List-Id: "SVN commit messages for the src " projects"
        	tree" 
        List-Unsubscribe: , 
        	
        List-Archive: 
        List-Post: 
        List-Help: 
        List-Subscribe: , 
        	
        X-List-Received-Date: Fri, 26 Mar 2010 22:04:12 -0000
        
        Author: marcel
        Date: Fri Mar 26 22:04:11 2010
        New Revision: 205714
        URL: http://svn.freebsd.org/changeset/base/205714
        
        Log:
          Implement a quick and dirty kluge and simply load the kernel
          at a physical address that does exist, but otherwise do not
          switch to a relocatable kernel yet.
          
          This allows the kernel to boot with the current loader and
          enables working on basic Altix support in the kernel while
          working out the NUMA aspect.
        
        Modified:
          projects/altix/sys/conf/kern.pre.mk
          projects/altix/sys/conf/ldscript.ia64
        
        Modified: projects/altix/sys/conf/kern.pre.mk
        ==============================================================================
        --- projects/altix/sys/conf/kern.pre.mk	Fri Mar 26 21:22:02 2010	(r205713)
        +++ projects/altix/sys/conf/kern.pre.mk	Fri Mar 26 22:04:11 2010	(r205714)
        @@ -145,12 +145,12 @@ SYSTEM_OBJS+= ${SYSTEM_CFILES:.c=.o}
         SYSTEM_CTFMERGE= ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SYSTEM_OBJS} vers.o
         LD+= -g
         .endif
        -.if ${MACHINE_ARCH} != ia64
        +.if ${MACHINE_ARCH} == XXX_ALTIX_TODO
        +SYSTEM_LDFLAGS= -r
        +.else
         SYSTEM_OBJS+= hack.So
         SYSTEM_LDFLAGS= -Bdynamic -T ${LDSCRIPT} -export-dynamic \
         	-dynamic-linker /red/herring
        -.else
        -SYSTEM_LDFLAGS= -r
         .endif
         SYSTEM_LD= @${LD} ${SYSTEM_LDFLAGS} -warn-common \
         	-o ${.TARGET} -X ${SYSTEM_OBJS} vers.o
        
        Modified: projects/altix/sys/conf/ldscript.ia64
        ==============================================================================
        --- projects/altix/sys/conf/ldscript.ia64	Fri Mar 26 21:22:02 2010	(r205713)
        +++ projects/altix/sys/conf/ldscript.ia64	Fri Mar 26 22:04:11 2010	(r205714)
        @@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf64-ia64-little", "elf6
         OUTPUT_ARCH(ia64)
         ENTRY(__start)
         SEARCH_DIR(/usr/lib);
        -kernel_text = 0xe000000004000000;
        +kernel_text = 0xe000003400000000;	/* XXX_ALTIX_TODO */
         SECTIONS
         {
           /* Read-only sections, merged into text segment: */
        
        From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 27 15:41:24 2010
        Return-Path: 
        Delivered-To: svn-src-projects@freebsd.org
        Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
        	by hub.freebsd.org (Postfix) with ESMTP id 1A462106564A;
        	Sat, 27 Mar 2010 15:41:24 +0000 (UTC)
        	(envelope-from nwhitehorn@FreeBSD.org)
        Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
        	by mx1.freebsd.org (Postfix) with ESMTP id 09AE38FC19;
        	Sat, 27 Mar 2010 15:41:24 +0000 (UTC)
        Received: from svn.freebsd.org (localhost [127.0.0.1])
        	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2RFfNwG027080;
        	Sat, 27 Mar 2010 15:41:23 GMT
        	(envelope-from nwhitehorn@svn.freebsd.org)
        Received: (from nwhitehorn@localhost)
        	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2RFfNPe027078;
        	Sat, 27 Mar 2010 15:41:23 GMT
        	(envelope-from nwhitehorn@svn.freebsd.org)
        Message-Id: <201003271541.o2RFfNPe027078@svn.freebsd.org>
        From: Nathan Whitehorn 
        Date: Sat, 27 Mar 2010 15:41:23 +0000 (UTC)
        To: src-committers@freebsd.org, svn-src-projects@freebsd.org
        X-SVN-Group: projects
        MIME-Version: 1.0
        Content-Type: text/plain; charset=UTF-8
        Content-Transfer-Encoding: 8bit
        Cc: 
        Subject: svn commit: r205735 - projects/ppc64/sys/powerpc/include
        X-BeenThere: svn-src-projects@freebsd.org
        X-Mailman-Version: 2.1.5
        Precedence: list
        List-Id: "SVN commit messages for the src " projects"
        	tree" 
        List-Unsubscribe: , 
        	
        List-Archive: 
        List-Post: 
        List-Help: 
        List-Subscribe: , 
        	
        X-List-Received-Date: Sat, 27 Mar 2010 15:41:24 -0000
        
        Author: nwhitehorn
        Date: Sat Mar 27 15:41:23 2010
        New Revision: 205735
        URL: http://svn.freebsd.org/changeset/base/205735
        
        Log:
          Somehow I put the wrong values in for PSL_SF and PSL_HV. Obviously I need
          to test things more...
        
        Modified:
          projects/ppc64/sys/powerpc/include/psl.h
        
        Modified: projects/ppc64/sys/powerpc/include/psl.h
        ==============================================================================
        --- projects/ppc64/sys/powerpc/include/psl.h	Sat Mar 27 15:39:19 2010	(r205734)
        +++ projects/ppc64/sys/powerpc/include/psl.h	Sat Mar 27 15:41:23 2010	(r205735)
        @@ -79,8 +79,8 @@
          */
         
         #ifdef __powerpc64__
        -#define PSL_SF		0x1000000000000000UL	/* 64-bit addressing */
        -#define PSL_HV		0x3000000000000000UL	/* hyper-privileged mode */
        +#define PSL_SF		0x8000000000000000UL	/* 64-bit addressing */
        +#define PSL_HV		0x1000000000000000UL	/* hyper-privileged mode */
         #endif
         
         #define	PSL_VEC		0x02000000UL	/* AltiVec vector unit available */
        
        From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 27 15:45:11 2010
        Return-Path: 
        Delivered-To: svn-src-projects@freebsd.org
        Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
        	by hub.freebsd.org (Postfix) with ESMTP id DF2B6106566B;
        	Sat, 27 Mar 2010 15:45:11 +0000 (UTC)
        	(envelope-from nwhitehorn@FreeBSD.org)
        Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
        	by mx1.freebsd.org (Postfix) with ESMTP id CEA2F8FC12;
        	Sat, 27 Mar 2010 15:45:11 +0000 (UTC)
        Received: from svn.freebsd.org (localhost [127.0.0.1])
        	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2RFjB2o027944;
        	Sat, 27 Mar 2010 15:45:11 GMT
        	(envelope-from nwhitehorn@svn.freebsd.org)
        Received: (from nwhitehorn@localhost)
        	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2RFjBgj027942;
        	Sat, 27 Mar 2010 15:45:11 GMT
        	(envelope-from nwhitehorn@svn.freebsd.org)
        Message-Id: <201003271545.o2RFjBgj027942@svn.freebsd.org>
        From: Nathan Whitehorn 
        Date: Sat, 27 Mar 2010 15:45:11 +0000 (UTC)
        To: src-committers@freebsd.org, svn-src-projects@freebsd.org
        X-SVN-Group: projects
        MIME-Version: 1.0
        Content-Type: text/plain; charset=UTF-8
        Content-Transfer-Encoding: 8bit
        Cc: 
        Subject: svn commit: r205736 - projects/ppc64/sys/powerpc/powerpc
        X-BeenThere: svn-src-projects@freebsd.org
        X-Mailman-Version: 2.1.5
        Precedence: list
        List-Id: "SVN commit messages for the src " projects"
        	tree" 
        List-Unsubscribe: , 
        	
        List-Archive: 
        List-Post: 
        List-Help: 
        List-Subscribe: , 
        	
        X-List-Received-Date: Sat, 27 Mar 2010 15:45:12 -0000
        
        Author: nwhitehorn
        Date: Sat Mar 27 15:45:11 2010
        New Revision: 205736
        URL: http://svn.freebsd.org/changeset/base/205736
        
        Log:
          Remove a redundant setting of PSL_HV.
        
        Modified:
          projects/ppc64/sys/powerpc/powerpc/exec_machdep.c
        
        Modified: projects/ppc64/sys/powerpc/powerpc/exec_machdep.c
        ==============================================================================
        --- projects/ppc64/sys/powerpc/powerpc/exec_machdep.c	Sat Mar 27 15:41:23 2010	(r205735)
        +++ projects/ppc64/sys/powerpc/powerpc/exec_machdep.c	Sat Mar 27 15:45:11 2010	(r205736)
        @@ -1037,8 +1037,6 @@ cpu_set_upcall_kse(struct thread *td, vo
         		tf->fixreg[2] = entry_desc[1];
         		tf->fixreg[11] = entry_desc[2];
         		tf->srr1 = PSL_SF | PSL_MBO | PSL_USERSET | PSL_FE_DFLT;
        -		if (mfmsr() & PSL_HV)
        -			tf->srr1 |= PSL_HV;
         	    #endif
         	}
         
        
        From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 27 20:25:50 2010
        Return-Path: 
        Delivered-To: svn-src-projects@freebsd.org
        Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
        	by hub.freebsd.org (Postfix) with ESMTP id 8367A1065675;
        	Sat, 27 Mar 2010 20:25:50 +0000 (UTC)
        	(envelope-from nwhitehorn@FreeBSD.org)
        Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
        	by mx1.freebsd.org (Postfix) with ESMTP id 71CBF8FC12;
        	Sat, 27 Mar 2010 20:25:50 +0000 (UTC)
        Received: from svn.freebsd.org (localhost [127.0.0.1])
        	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2RKPo7g092204;
        	Sat, 27 Mar 2010 20:25:50 GMT
        	(envelope-from nwhitehorn@svn.freebsd.org)
        Received: (from nwhitehorn@localhost)
        	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2RKPoGt092203;
        	Sat, 27 Mar 2010 20:25:50 GMT
        	(envelope-from nwhitehorn@svn.freebsd.org)
        Message-Id: <201003272025.o2RKPoGt092203@svn.freebsd.org>
        From: Nathan Whitehorn 
        Date: Sat, 27 Mar 2010 20:25:50 +0000 (UTC)
        To: src-committers@freebsd.org, svn-src-projects@freebsd.org
        X-SVN-Group: projects
        MIME-Version: 1.0
        Content-Type: text/plain; charset=UTF-8
        Content-Transfer-Encoding: 8bit
        Cc: 
        Subject: svn commit: r205777 - projects/ppc64/sys/powerpc64/conf
        X-BeenThere: svn-src-projects@freebsd.org
        X-Mailman-Version: 2.1.5
        Precedence: list
        List-Id: "SVN commit messages for the src " projects"
        	tree" 
        List-Unsubscribe: , 
        	
        List-Archive: 
        List-Post: 
        List-Help: 
        List-Subscribe: , 
        	
        X-List-Received-Date: Sat, 27 Mar 2010 20:25:50 -0000
        
        Author: nwhitehorn
        Date: Sat Mar 27 20:25:50 2010
        New Revision: 205777
        URL: http://svn.freebsd.org/changeset/base/205777
        
        Log:
          Add MAMBO kernel config for running under the IBM Cell Simulator.
        
        Added:
          projects/ppc64/sys/powerpc64/conf/MAMBO
        
        Added: projects/ppc64/sys/powerpc64/conf/MAMBO
        ==============================================================================
        --- /dev/null	00:00:00 1970	(empty, because file is newly added)
        +++ projects/ppc64/sys/powerpc64/conf/MAMBO	Sat Mar 27 20:25:50 2010	(r205777)
        @@ -0,0 +1,102 @@
        +#
        +# GENERIC -- Generic kernel configuration file for FreeBSD/powerpc
        +#
        +# For more information on this file, please read the handbook section on
        +# Kernel Configuration Files:
        +#
        +#    http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
        +#
        +# The handbook is also available locally in /usr/share/doc/handbook
        +# if you've installed the doc distribution, otherwise always see the
        +# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
        +# latest information.
        +#
        +# An exhaustive list of options and more detailed explanations of the
        +# device lines is also present in the ../../conf/NOTES and NOTES files. 
        +# If you are in doubt as to the purpose or necessity of a line, check first 
        +# in NOTES.
        +#
        +# $FreeBSD: projects/ppc64/sys/powerpc64/conf/GENERIC 197668 2009-10-01 13:16:24Z nwhitehorn $
        +
        +cpu		AIM
        +cpu		CELL
        +ident		GENERIC
        +
        +#To statically compile in device wiring instead of /boot/device.hints
        +#hints		"GENERIC.hints"
        +
        +makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols
        +makeoptions	MODULES_OVERRIDE=""
        +
        +# Platform support
        +options 	POWERMAC		#NewWorld Apple PowerMacs
        +options 	MAMBO			#IBM Systemsim ppc simulator
        +
        +options 	SCHED_ULE		#ULE scheduler
        +options 	INET			#InterNETworking
        +options 	INET6			#IPv6 communications protocols
        +options 	SCTP			#Stream Control Transmission Protocol
        +options 	FFS			#Berkeley Fast Filesystem
        +options 	SOFTUPDATES		#Enable FFS soft updates support
        +options 	UFS_ACL			#Support for access control lists
        +options 	UFS_DIRHASH		#Improve performance on big directories
        +options 	UFS_GJOURNAL		#Enable gjournal-based UFS journaling
        +options 	MD_ROOT			#MD is a potential root device
        +options 	PROCFS			#Process filesystem (requires PSEUDOFS)
        +options 	PSEUDOFS		#Pseudo-filesystem framework
        +options 	GEOM_PART_GPT		#GUID Partition Tables.
        +options 	GEOM_LABEL		#Provides labelization
        +options 	SCSI_DELAY=5000		#Delay (in ms) before probing SCSI 
        +options 	KTRACE			#ktrace(1) syscall trace support
        +options 	STACK			#stack(9) support
        +options 	SYSVSHM			#SYSV-style shared memory
        +options 	SYSVMSG			#SYSV-style message queues
        +options 	SYSVSEM			#SYSV-style semaphores
        +options 	P1003_1B_SEMAPHORES	# POSIX-style semaphores
        +options 	_KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
        +options 	HWPMC_HOOKS		# Necessary kernel hooks for hwpmc(4)
        +
        +options 	COMPAT_FREEBSD32	#Compatible with PPC32 binaries
        +
        +# Debugging for use in -current
        +options 	KDB			#Enable the kernel debugger
        +options 	DDB			#Support DDB
        +options 	INVARIANTS		#Enable calls of extra sanity checking
        +options 	INVARIANT_SUPPORT	#Extra sanity checks of internal structures, required by INVARIANTS
        +options 	WITNESS			#Enable checks to detect deadlocks and cycles
        +options 	WITNESS_SKIPSPIN	#Don't run witness on spinlocks for speed
        +options		ALT_BREAK_TO_DEBUGGER
        +options		HZ=100
        +
        +# To make an SMP kernel, the next line is needed
        +options 	SMP			# Symmetric MultiProcessor Kernel
        +
        +# CPU frequency control
        +#device		cpufreq
        +
        +# Standard busses
        +device		pci
        +
        +# Pseudo devices.
        +device		loop		# Network loopback
        +device		random		# Entropy device
        +device		ether		# Ethernet support
        +device		tun		# Packet tunnel.
        +device		pty		# BSD-style compatibility pseudo ttys
        +device		md		# Memory "disks"
        +device		mem
        +device		ofwd		# Open Firmware disks
        +device		gif		# IPv6 and IPv4 tunneling
        +device		faith		# IPv6-to-IPv4 relaying/(translation)
        +
        +# The `bpf' device enables the Berkeley Packet Filter.
        +# Be aware of the administrative consequences of enabling this!
        +# Note that 'bpf' is required for DHCP.
        +device		bpf		#Berkeley packet filter
        +
        +options 	KTR
        +options 	KTR_COMPILE=0xffffffff
        +#options 	KTR_MASK=(KTR_SIG|KTR_SYSC)
        +options 	KTR_VERBOSE
        +
        +options		ROOTDEVNAME=\"ufs:mambodisk0\"