From owner-svn-src-projects@FreeBSD.ORG Wed Feb 8 03:16:30 2012 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 BC87D10656F9; Wed, 8 Feb 2012 03:16:30 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A30808FC12; Wed, 8 Feb 2012 03:16:30 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q183GUxW019730; Wed, 8 Feb 2012 03:16:30 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q183GUu3019696; Wed, 8 Feb 2012 03:16:30 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201202080316.q183GUu3019696@svn.freebsd.org> From: Rick Macklem Date: Wed, 8 Feb 2012 03:16:30 +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: r231176 - in projects/nfsv4.1-client/sys: amd64/acpica amd64/amd64 amd64/conf amd64/include boot/ficl boot/ficl/i386 cam/ata cam/ctl cam/scsi compat/freebsd32 conf dev/acpica dev/ath de... 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, 08 Feb 2012 03:16:30 -0000 Author: rmacklem Date: Wed Feb 8 03:16:29 2012 New Revision: 231176 URL: http://svn.freebsd.org/changeset/base/231176 Log: Merge in an up-to-date kernel from head. Added: projects/nfsv4.1-client/sys/amd64/conf/WITHOUT_SOURCELESS - copied unchanged from r231175, head/sys/amd64/conf/WITHOUT_SOURCELESS projects/nfsv4.1-client/sys/amd64/conf/WITHOUT_SOURCELESS_HOST - copied unchanged from r231175, head/sys/amd64/conf/WITHOUT_SOURCELESS_HOST projects/nfsv4.1-client/sys/amd64/conf/WITHOUT_SOURCELESS_UCODE - copied unchanged from r231175, head/sys/amd64/conf/WITHOUT_SOURCELESS_UCODE projects/nfsv4.1-client/sys/dev/isci/ - copied from r231175, head/sys/dev/isci/ projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_82598.h - copied unchanged from r231175, head/sys/dev/ixgbe/ixgbe_82598.h projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_82599.h - copied unchanged from r231175, head/sys/dev/ixgbe/ixgbe_82599.h projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_x540.c - copied unchanged from r231175, head/sys/dev/ixgbe/ixgbe_x540.c projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_x540.h - copied unchanged from r231175, head/sys/dev/ixgbe/ixgbe_x540.h projects/nfsv4.1-client/sys/dev/sound/pci/cs461x_dsp.h - copied unchanged from r231175, head/sys/dev/sound/pci/cs461x_dsp.h projects/nfsv4.1-client/sys/i386/conf/WITHOUT_SOURCELESS - copied unchanged from r231175, head/sys/i386/conf/WITHOUT_SOURCELESS projects/nfsv4.1-client/sys/i386/conf/WITHOUT_SOURCELESS_HOST - copied unchanged from r231175, head/sys/i386/conf/WITHOUT_SOURCELESS_HOST projects/nfsv4.1-client/sys/i386/conf/WITHOUT_SOURCELESS_UCODE - copied unchanged from r231175, head/sys/i386/conf/WITHOUT_SOURCELESS_UCODE projects/nfsv4.1-client/sys/modules/isci/ - copied from r231175, head/sys/modules/isci/ projects/nfsv4.1-client/sys/powerpc/ofw/ofw_pci.c - copied unchanged from r231175, head/sys/powerpc/ofw/ofw_pci.c projects/nfsv4.1-client/sys/powerpc/ofw/ofw_pci.h - copied unchanged from r231175, head/sys/powerpc/ofw/ofw_pci.h Deleted: projects/nfsv4.1-client/sys/gnu/dev/ Modified: projects/nfsv4.1-client/sys/amd64/acpica/acpi_switch.S projects/nfsv4.1-client/sys/amd64/acpica/acpi_wakecode.S projects/nfsv4.1-client/sys/amd64/acpica/acpi_wakeup.c projects/nfsv4.1-client/sys/amd64/amd64/apic_vector.S projects/nfsv4.1-client/sys/amd64/amd64/fpu.c projects/nfsv4.1-client/sys/amd64/conf/GENERIC projects/nfsv4.1-client/sys/amd64/conf/NOTES projects/nfsv4.1-client/sys/amd64/include/cpufunc.h projects/nfsv4.1-client/sys/amd64/include/signal.h projects/nfsv4.1-client/sys/boot/ficl/fileaccess.c projects/nfsv4.1-client/sys/boot/ficl/i386/sysdep.h projects/nfsv4.1-client/sys/cam/ata/ata_da.c projects/nfsv4.1-client/sys/cam/ata/ata_xpt.c projects/nfsv4.1-client/sys/cam/ctl/ctl_frontend_cam_sim.c projects/nfsv4.1-client/sys/cam/scsi/scsi_da.c projects/nfsv4.1-client/sys/compat/freebsd32/freebsd32_signal.h projects/nfsv4.1-client/sys/conf/files projects/nfsv4.1-client/sys/conf/files.amd64 projects/nfsv4.1-client/sys/conf/files.i386 projects/nfsv4.1-client/sys/conf/files.powerpc projects/nfsv4.1-client/sys/conf/options projects/nfsv4.1-client/sys/conf/options.amd64 projects/nfsv4.1-client/sys/conf/options.i386 projects/nfsv4.1-client/sys/dev/acpica/acpi.c projects/nfsv4.1-client/sys/dev/acpica/acpi_ec.c projects/nfsv4.1-client/sys/dev/acpica/acpi_hpet.c projects/nfsv4.1-client/sys/dev/acpica/acpi_timer.c projects/nfsv4.1-client/sys/dev/acpica/acpivar.h projects/nfsv4.1-client/sys/dev/ath/ath_dfs/null/dfs_null.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5212/ar5212.h projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/nfsv4.1-client/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c projects/nfsv4.1-client/sys/dev/ath/if_ath.c projects/nfsv4.1-client/sys/dev/bge/if_bge.c projects/nfsv4.1-client/sys/dev/cxgb/cxgb_adapter.h projects/nfsv4.1-client/sys/dev/cxgb/cxgb_main.c projects/nfsv4.1-client/sys/dev/cxgb/cxgb_sge.c projects/nfsv4.1-client/sys/dev/cxgbe/adapter.h projects/nfsv4.1-client/sys/dev/cxgbe/t4_l2t.c projects/nfsv4.1-client/sys/dev/cxgbe/t4_l2t.h projects/nfsv4.1-client/sys/dev/cxgbe/t4_main.c projects/nfsv4.1-client/sys/dev/fe/if_fe.c projects/nfsv4.1-client/sys/dev/ie/if_ie.c projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe.c projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe.h projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_82598.c projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_82599.c projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_api.c projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_api.h projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_common.c projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_common.h projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_mbx.c projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_mbx.h projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_osdep.h projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_phy.c projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_phy.h projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_type.h projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_vf.c projects/nfsv4.1-client/sys/dev/ixgbe/ixgbe_vf.h projects/nfsv4.1-client/sys/dev/ixgbe/ixv.c projects/nfsv4.1-client/sys/dev/ixgbe/ixv.h projects/nfsv4.1-client/sys/dev/mvs/mvs.h projects/nfsv4.1-client/sys/dev/mvs/mvs_soc.c projects/nfsv4.1-client/sys/dev/pci/pcireg.h projects/nfsv4.1-client/sys/dev/sound/pci/csa.c projects/nfsv4.1-client/sys/dev/sound/pci/csareg.h projects/nfsv4.1-client/sys/dev/sound/pci/hda/hdac.c projects/nfsv4.1-client/sys/dev/sound/pci/hda/hdac.h projects/nfsv4.1-client/sys/dev/sound/pci/hda/hdacc.c projects/nfsv4.1-client/sys/dev/sound/pcm/buffer.c projects/nfsv4.1-client/sys/dev/sound/pcm/buffer.h projects/nfsv4.1-client/sys/dev/sound/pcm/channel.c projects/nfsv4.1-client/sys/dev/xen/netback/netback.c projects/nfsv4.1-client/sys/fs/ext2fs/ext2_dinode.h projects/nfsv4.1-client/sys/fs/ext2fs/ext2fs.h projects/nfsv4.1-client/sys/fs/ext2fs/inode.h projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clstate.c projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clvfsops.c projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clvnops.c projects/nfsv4.1-client/sys/fs/nwfs/nwfs_vnops.c projects/nfsv4.1-client/sys/fs/smbfs/smbfs_vnops.c projects/nfsv4.1-client/sys/geom/journal/g_journal.c projects/nfsv4.1-client/sys/geom/part/g_part.c projects/nfsv4.1-client/sys/i386/conf/GENERIC projects/nfsv4.1-client/sys/i386/conf/NOTES projects/nfsv4.1-client/sys/i386/i386/initcpu.c projects/nfsv4.1-client/sys/i386/include/signal.h projects/nfsv4.1-client/sys/i386/include/xen/xenpmap.h projects/nfsv4.1-client/sys/i386/include/xen/xenvar.h projects/nfsv4.1-client/sys/kern/imgact_elf.c projects/nfsv4.1-client/sys/kern/kern_kthread.c projects/nfsv4.1-client/sys/kern/subr_log.c projects/nfsv4.1-client/sys/kern/subr_mchain.c projects/nfsv4.1-client/sys/kern/subr_syscall.c projects/nfsv4.1-client/sys/kern/tty.c projects/nfsv4.1-client/sys/kern/tty_info.c projects/nfsv4.1-client/sys/kern/tty_ttydisc.c projects/nfsv4.1-client/sys/kern/uipc_socket.c projects/nfsv4.1-client/sys/kern/vfs_aio.c projects/nfsv4.1-client/sys/kern/vfs_cache.c projects/nfsv4.1-client/sys/kern/vfs_mount.c projects/nfsv4.1-client/sys/kern/vfs_subr.c projects/nfsv4.1-client/sys/kern/vfs_syscalls.c projects/nfsv4.1-client/sys/kern/vfs_vnops.c projects/nfsv4.1-client/sys/modules/Makefile projects/nfsv4.1-client/sys/modules/drm/Makefile projects/nfsv4.1-client/sys/modules/ixgbe/Makefile projects/nfsv4.1-client/sys/modules/kgssapi/Makefile projects/nfsv4.1-client/sys/modules/kgssapi_krb5/Makefile projects/nfsv4.1-client/sys/modules/sound/driver/Makefile projects/nfsv4.1-client/sys/modules/sound/driver/emu10k1/Makefile projects/nfsv4.1-client/sys/modules/sound/driver/emu10kx/Makefile projects/nfsv4.1-client/sys/modules/sound/driver/maestro3/Makefile projects/nfsv4.1-client/sys/modules/usb/Makefile projects/nfsv4.1-client/sys/net/if.c projects/nfsv4.1-client/sys/net/if_bridge.c projects/nfsv4.1-client/sys/net80211/ieee80211.h projects/nfsv4.1-client/sys/net80211/ieee80211_dfs.c projects/nfsv4.1-client/sys/net80211/ieee80211_dfs.h projects/nfsv4.1-client/sys/net80211/ieee80211_mesh.c projects/nfsv4.1-client/sys/netinet/ip_carp.c projects/nfsv4.1-client/sys/netinet/ipfw/ip_fw2.c projects/nfsv4.1-client/sys/netinet/ipfw/ip_fw_sockopt.c projects/nfsv4.1-client/sys/netinet/sctp_structs.h projects/nfsv4.1-client/sys/netinet/tcp.h projects/nfsv4.1-client/sys/netinet/tcp_input.c projects/nfsv4.1-client/sys/netinet/tcp_syncache.c projects/nfsv4.1-client/sys/netinet/tcp_timer.c projects/nfsv4.1-client/sys/netinet/tcp_timer.h projects/nfsv4.1-client/sys/netinet/tcp_usrreq.c projects/nfsv4.1-client/sys/netinet/tcp_var.h projects/nfsv4.1-client/sys/nfsclient/nfs_vfsops.c projects/nfsv4.1-client/sys/nfsclient/nfs_vnops.c projects/nfsv4.1-client/sys/nlm/nlm_prot_impl.c projects/nfsv4.1-client/sys/powerpc/aim/mmu_oea64.c projects/nfsv4.1-client/sys/powerpc/aim/swtch64.S projects/nfsv4.1-client/sys/powerpc/booke/machdep.c projects/nfsv4.1-client/sys/powerpc/include/asm.h projects/nfsv4.1-client/sys/powerpc/ofw/ofw_pcib_pci.c projects/nfsv4.1-client/sys/powerpc/ofw/ofw_syscons.c projects/nfsv4.1-client/sys/powerpc/powermac/cpcht.c projects/nfsv4.1-client/sys/powerpc/powermac/grackle.c projects/nfsv4.1-client/sys/powerpc/powermac/gracklevar.h projects/nfsv4.1-client/sys/powerpc/powermac/uninorthpci.c projects/nfsv4.1-client/sys/powerpc/powermac/uninorthvar.h projects/nfsv4.1-client/sys/powerpc/ps3/ps3_syscons.c projects/nfsv4.1-client/sys/sys/elf_common.h projects/nfsv4.1-client/sys/sys/param.h projects/nfsv4.1-client/sys/sys/proc.h projects/nfsv4.1-client/sys/sys/signal.h projects/nfsv4.1-client/sys/sys/ttycom.h projects/nfsv4.1-client/sys/sys/ttydefaults.h projects/nfsv4.1-client/sys/sys/types.h projects/nfsv4.1-client/sys/sys/ucontext.h projects/nfsv4.1-client/sys/sys/vnode.h projects/nfsv4.1-client/sys/ufs/ffs/ffs_softdep.c projects/nfsv4.1-client/sys/ufs/ffs/ffs_vfsops.c projects/nfsv4.1-client/sys/ufs/ufs/inode.h projects/nfsv4.1-client/sys/ufs/ufs/ufs_acl.c projects/nfsv4.1-client/sys/ufs/ufs/ufs_vnops.c projects/nfsv4.1-client/sys/vm/swap_pager.c projects/nfsv4.1-client/sys/xen/interface/io/netif.h Directory Properties: projects/nfsv4.1-client/sys/ (props changed) projects/nfsv4.1-client/sys/conf/ (props changed) projects/nfsv4.1-client/sys/contrib/dev/acpica/ (props changed) Modified: projects/nfsv4.1-client/sys/amd64/acpica/acpi_switch.S ============================================================================== --- projects/nfsv4.1-client/sys/amd64/acpica/acpi_switch.S Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/amd64/acpica/acpi_switch.S Wed Feb 8 03:16:29 2012 (r231176) @@ -1,7 +1,7 @@ /*- * Copyright (c) 2001 Takanori Watanabe * Copyright (c) 2001 Mitsuru IWASAKI - * Copyright (c) 2008-2010 Jung-uk Kim + * Copyright (c) 2008-2012 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -95,7 +95,6 @@ ENTRY(acpi_restorecpu) /* Restore CR0 except for FPU mode. */ movq PCB_CR0(%rdi), %rax - movq %rax, %rcx andq $~(CR0_EM | CR0_TS), %rax movq %rax, %cr0 @@ -121,15 +120,6 @@ ENTRY(acpi_restorecpu) #undef SDT_SYSTSS #undef SDT_SYSBSY - /* Restore other callee saved registers. */ - movq PCB_R15(%rdi), %r15 - movq PCB_R14(%rdi), %r14 - movq PCB_R13(%rdi), %r13 - movq PCB_R12(%rdi), %r12 - movq PCB_RBP(%rdi), %rbp - movq PCB_RSP(%rdi), %rsp - movq PCB_RBX(%rdi), %rbx - /* Restore debug registers. */ movq PCB_DR0(%rdi), %rax movq %rax, %dr0 @@ -146,21 +136,34 @@ ENTRY(acpi_restorecpu) /* Restore FPU state. */ fninit - movq WAKEUP_CTX(fpusave),%rdi - cmpl $0,use_xsave - jne 1f - fxrstor (%rdi) + movq WAKEUP_CTX(fpusave), %rbx + movq WAKEUP_CTX(xsmask), %rax + testq %rax, %rax + jz 1f + movq %rax, %rdx + shrq $32, %rdx + movl $XCR0, %ecx +/* xsetbv */ + .byte 0x0f, 0x01, 0xd1 +/* xrstor (%rbx) */ + .byte 0x0f, 0xae, 0x2b jmp 2f -1: movl xsave_mask,%eax - movl xsave_mask+4,%edx -/* xrstor (%rdi) */ - .byte 0x0f,0xae,0x2f +1: + fxrstor (%rbx) 2: /* Reload CR0. */ - movq %rcx, %cr0 + movq PCB_CR0(%rdi), %rax + movq %rax, %cr0 - movq WAKEUP_CTX(pcb),%rdi + /* Restore other callee saved registers. */ + movq PCB_R15(%rdi), %r15 + movq PCB_R14(%rdi), %r14 + movq PCB_R13(%rdi), %r13 + movq PCB_R12(%rdi), %r12 + movq PCB_RBP(%rdi), %rbp + movq PCB_RSP(%rdi), %rsp + movq PCB_RBX(%rdi), %rbx /* Restore return address. */ movq PCB_RIP(%rdi), %rax Modified: projects/nfsv4.1-client/sys/amd64/acpica/acpi_wakecode.S ============================================================================== --- projects/nfsv4.1-client/sys/amd64/acpica/acpi_wakecode.S Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/amd64/acpica/acpi_wakecode.S Wed Feb 8 03:16:29 2012 (r231176) @@ -2,7 +2,7 @@ * Copyright (c) 2001 Takanori Watanabe * Copyright (c) 2001 Mitsuru IWASAKI * Copyright (c) 2003 Peter Wemm - * Copyright (c) 2008-2010 Jung-uk Kim + * Copyright (c) 2008-2012 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -267,11 +267,11 @@ wakeup_ctx: .quad 0 wakeup_pcb: .quad 0 +wakeup_fpusave: + .quad 0 wakeup_gdt: .word 0 .quad 0 -wakeup_fpusave: - .quad 0 ALIGN_DATA wakeup_efer: @@ -284,6 +284,8 @@ wakeup_cstar: .quad 0 wakeup_sfmask: .quad 0 +wakeup_xsmask: + .quad 0 wakeup_cpu: .long 0 dummy: Modified: projects/nfsv4.1-client/sys/amd64/acpica/acpi_wakeup.c ============================================================================== --- projects/nfsv4.1-client/sys/amd64/acpica/acpi_wakeup.c Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/amd64/acpica/acpi_wakeup.c Wed Feb 8 03:16:29 2012 (r231176) @@ -2,7 +2,7 @@ * Copyright (c) 2001 Takanori Watanabe * Copyright (c) 2001 Mitsuru IWASAKI * Copyright (c) 2003 Peter Wemm - * Copyright (c) 2008-2010 Jung-uk Kim + * Copyright (c) 2008-2012 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -74,7 +74,7 @@ static struct pcb **susppcbs; static void **suspfpusave; #endif -int acpi_restorecpu(vm_offset_t, struct pcb *); +int acpi_restorecpu(uint64_t, vm_offset_t); static void *acpi_alloc_wakeup_handler(void); static void acpi_stop_beep(void *); @@ -386,6 +386,7 @@ acpi_install_wakeup_handler(struct acpi_ WAKECODE_FIXUP(wakeup_lstar, uint64_t, rdmsr(MSR_LSTAR)); WAKECODE_FIXUP(wakeup_cstar, uint64_t, rdmsr(MSR_CSTAR)); WAKECODE_FIXUP(wakeup_sfmask, uint64_t, rdmsr(MSR_SF_MASK)); + WAKECODE_FIXUP(wakeup_xsmask, uint64_t, xsave_mask); /* Build temporary page tables below realmode code. */ pt4 = wakeaddr; Modified: projects/nfsv4.1-client/sys/amd64/amd64/apic_vector.S ============================================================================== --- projects/nfsv4.1-client/sys/amd64/amd64/apic_vector.S Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/amd64/amd64/apic_vector.S Wed Feb 8 03:16:29 2012 (r231176) @@ -300,13 +300,10 @@ IDTVEC(cpustop) IDTVEC(cpususpend) PUSH_FRAME + call cpususpend_handler movq lapic, %rax movl $0, LA_EOI(%rax) /* End Of Interrupt to APIC */ - - call cpususpend_handler - - POP_FRAME - jmp doreti_iret + jmp doreti /* * Executed by a CPU when it receives a RENDEZVOUS IPI from another CPU. Modified: projects/nfsv4.1-client/sys/amd64/amd64/fpu.c ============================================================================== --- projects/nfsv4.1-client/sys/amd64/amd64/fpu.c Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/amd64/amd64/fpu.c Wed Feb 8 03:16:29 2012 (r231176) @@ -78,6 +78,41 @@ __FBSDID("$FreeBSD$"); : : "n" (CR0_TS) : "ax") #define stop_emulating() __asm __volatile("clts") +static __inline void +xrstor(char *addr, uint64_t mask) +{ + uint32_t low, hi; + + low = mask; + hi = mask >> 32; + /* xrstor (%rdi) */ + __asm __volatile(".byte 0x0f,0xae,0x2f" : : + "a" (low), "d" (hi), "D" (addr)); +} + +static __inline void +xsave(char *addr, uint64_t mask) +{ + uint32_t low, hi; + + low = mask; + hi = mask >> 32; + /* xsave (%rdi) */ + __asm __volatile(".byte 0x0f,0xae,0x27" : : + "a" (low), "d" (hi), "D" (addr) : "memory"); +} + +static __inline void +xsetbv(uint32_t reg, uint64_t val) +{ + uint32_t low, hi; + + low = val; + hi = val >> 32; + __asm __volatile(".byte 0x0f,0x01,0xd1" : : + "c" (reg), "a" (low), "d" (hi)); +} + #else /* !(__GNUCLIKE_ASM && !lint) */ void fldcw(u_short cw); @@ -90,6 +125,9 @@ void fxrstor(caddr_t addr); void ldmxcsr(u_int csr); void start_emulating(void); void stop_emulating(void); +void xrstor(char *addr, uint64_t mask); +void xsave(char *addr, uint64_t mask); +void xsetbv(uint32_t reg, uint64_t val); #endif /* __GNUCLIKE_ASM && !lint */ Modified: projects/nfsv4.1-client/sys/amd64/conf/GENERIC ============================================================================== --- projects/nfsv4.1-client/sys/amd64/conf/GENERIC Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/amd64/conf/GENERIC Wed Feb 8 03:16:29 2012 (r231176) @@ -123,6 +123,7 @@ device adv # Advansys SCSI adapters device adw # Advansys wide SCSI adapters device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60. device bt # Buslogic/Mylex MultiMaster SCSI adapters +device isci # Intel C600 SAS controller # ATA/SCSI peripherals device scbus # SCSI bus (required for ATA/SCSI) Modified: projects/nfsv4.1-client/sys/amd64/conf/NOTES ============================================================================== --- projects/nfsv4.1-client/sys/amd64/conf/NOTES Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/amd64/conf/NOTES Wed Feb 8 03:16:29 2012 (r231176) @@ -409,6 +409,11 @@ device hptiop device ips # +# Intel C600 (Patsburg) integrated SAS controller +device isci +options ISCI_LOGGING # enable debugging in isci HAL + +# # SafeNet crypto driver: can be moved to the MI NOTES as soon as # it's tested on a big-endian machine # Copied: projects/nfsv4.1-client/sys/amd64/conf/WITHOUT_SOURCELESS (from r231175, head/sys/amd64/conf/WITHOUT_SOURCELESS) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/nfsv4.1-client/sys/amd64/conf/WITHOUT_SOURCELESS Wed Feb 8 03:16:29 2012 (r231176, copy of r231175, head/sys/amd64/conf/WITHOUT_SOURCELESS) @@ -0,0 +1,7 @@ +# +# WITHOUT_SOURCELESS -- Disable drivers that include sourceless code. +# +# $FreeBSD$ + +include WITHOUT_SOURCELESS_HOST +include WITHOUT_SOURCELESS_UCODE Copied: projects/nfsv4.1-client/sys/amd64/conf/WITHOUT_SOURCELESS_HOST (from r231175, head/sys/amd64/conf/WITHOUT_SOURCELESS_HOST) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/nfsv4.1-client/sys/amd64/conf/WITHOUT_SOURCELESS_HOST Wed Feb 8 03:16:29 2012 (r231176, copy of r231175, head/sys/amd64/conf/WITHOUT_SOURCELESS_HOST) @@ -0,0 +1,10 @@ +# +# WITHOUT_SOURCELESS_UCODE -- Disable drivers that include sourceless +# native code for host CPU. +# +# $FreeBSD$ + +nodevice hpt27xx +nodevice hptmv +nodevice hptrr +nodevice nve Copied: projects/nfsv4.1-client/sys/amd64/conf/WITHOUT_SOURCELESS_UCODE (from r231175, head/sys/amd64/conf/WITHOUT_SOURCELESS_UCODE) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/nfsv4.1-client/sys/amd64/conf/WITHOUT_SOURCELESS_UCODE Wed Feb 8 03:16:29 2012 (r231176, copy of r231175, head/sys/amd64/conf/WITHOUT_SOURCELESS_UCODE) @@ -0,0 +1,41 @@ +# +# WITHOUT_SOURCELESS_UCODE -- Disable drivers that include sourceless +# microcode. +# +# $FreeBSD$ + +nodevice adw +nodevice bce +nodevice fatm +nodevice fxp +nodevice ispfw +nodevice mwlfw +nodevice ralfw +nodevice runfw +nodevice sf +nodevice sn +nodevice ti +nodevice txp +nodevice ce +nodevice cp +nodevice ctau +nodevice ipwfw +nodevice iwifw +nodevice iwnfw +nodevice wpifw + +# drm +nodevice mga +nodevice r128 +nodevice radeon + +# sound +nodevice csa +nodevice ds1 +nodevice maestro3 + +# usb +nodevice rum +nodevice uath +nodevice zyd +nodevice kue Modified: projects/nfsv4.1-client/sys/amd64/include/cpufunc.h ============================================================================== --- projects/nfsv4.1-client/sys/amd64/include/cpufunc.h Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/amd64/include/cpufunc.h Wed Feb 8 03:16:29 2012 (r231176) @@ -669,41 +669,6 @@ intr_restore(register_t rflags) write_rflags(rflags); } -static __inline void -xsave(char *addr, uint64_t mask) -{ - uint32_t low, hi; - - low = mask; - hi = mask >> 32; - /* xsave (%rdi) */ - __asm __volatile(".byte 0x0f,0xae,0x27" : : - "a" (low), "d" (hi), "D" (addr) : "memory"); -} - -static __inline void -xsetbv(uint32_t reg, uint64_t val) -{ - uint32_t low, hi; - - low = val; - hi = val >> 32; - __asm __volatile(".byte 0x0f,0x01,0xd1" : : - "c" (reg), "a" (low), "d" (hi)); -} - -static __inline void -xrstor(char *addr, uint64_t mask) -{ - uint32_t low, hi; - - low = mask; - hi = mask >> 32; - /* xrstor (%rdi) */ - __asm __volatile(".byte 0x0f,0xae,0x2f" : : - "a" (low), "d" (hi), "D" (addr)); -} - #else /* !(__GNUCLIKE_ASM && __CC_SUPPORTS___INLINE) */ int breakpoint(void); @@ -768,9 +733,6 @@ u_int rgs(void); void wbinvd(void); void write_rflags(u_int rf); void wrmsr(u_int msr, uint64_t newval); -void xsave(char *addr, uint64_t mask); -void xsetbv(uint32_t reg, uint64_t val); -void xrstor(char *addr, uint64_t mask); #endif /* __GNUCLIKE_ASM && __CC_SUPPORTS___INLINE */ Modified: projects/nfsv4.1-client/sys/amd64/include/signal.h ============================================================================== --- projects/nfsv4.1-client/sys/amd64/include/signal.h Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/amd64/include/signal.h Wed Feb 8 03:16:29 2012 (r231176) @@ -99,7 +99,10 @@ struct sigcontext { long sc_fsbase; long sc_gsbase; - long sc_spare[6]; + long sc_xfpustate; + long sc_xfpustate_len; + + long sc_spare[4]; }; #endif /* __BSD_VISIBLE */ Modified: projects/nfsv4.1-client/sys/boot/ficl/fileaccess.c ============================================================================== --- projects/nfsv4.1-client/sys/boot/ficl/fileaccess.c Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/boot/ficl/fileaccess.c Wed Feb 8 03:16:29 2012 (r231176) @@ -420,6 +420,6 @@ void ficlCompileFile(FICL_SYSTEM *pSys) ficlSetEnv(pSys, "file-ext", FICL_TRUE); #endif /* FICL_HAVE_FTRUNCATE */ #else - &pSys; + (void)pSys; #endif /* FICL_WANT_FILE */ } Modified: projects/nfsv4.1-client/sys/boot/ficl/i386/sysdep.h ============================================================================== --- projects/nfsv4.1-client/sys/boot/ficl/i386/sysdep.h Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/boot/ficl/i386/sysdep.h Wed Feb 8 03:16:29 2012 (r231176) @@ -58,7 +58,7 @@ #include #if !defined IGNORE /* Macro to silence unused param warnings */ -#define IGNORE(x) &x +#define IGNORE(x) (void)x #endif /* @@ -405,7 +405,7 @@ void *ficlRealloc(void *p, size_t size); #if FICL_MULTITHREAD int ficlLockDictionary(short fLock); #else -#define ficlLockDictionary(x) 0 /* ignore */ +#define ficlLockDictionary(x) /* ignore */ #endif /* Modified: projects/nfsv4.1-client/sys/cam/ata/ata_da.c ============================================================================== --- projects/nfsv4.1-client/sys/cam/ata/ata_da.c Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/cam/ata/ata_da.c Wed Feb 8 03:16:29 2012 (r231176) @@ -1098,7 +1098,7 @@ adaregister(struct cam_periph *periph, v */ callout_init_mtx(&softc->sendordered_c, periph->sim->mtx, 0); callout_reset(&softc->sendordered_c, - (ADA_DEFAULT_TIMEOUT * hz) / ADA_ORDEREDTAG_INTERVAL, + (ada_default_timeout * hz) / ADA_ORDEREDTAG_INTERVAL, adasendorderedtag, softc); if (ADA_RA >= 0 && @@ -1653,7 +1653,7 @@ adasendorderedtag(void *arg) } /* Queue us up again */ callout_reset(&softc->sendordered_c, - (ADA_DEFAULT_TIMEOUT * hz) / ADA_ORDEREDTAG_INTERVAL, + (ada_default_timeout * hz) / ADA_ORDEREDTAG_INTERVAL, adasendorderedtag, softc); } Modified: projects/nfsv4.1-client/sys/cam/ata/ata_xpt.c ============================================================================== --- projects/nfsv4.1-client/sys/cam/ata/ata_xpt.c Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/cam/ata/ata_xpt.c Wed Feb 8 03:16:29 2012 (r231176) @@ -186,6 +186,12 @@ static void ata_dev_async(u_int32_t asy static void ata_action(union ccb *start_ccb); static void ata_announce_periph(struct cam_periph *periph); +static int ata_dma = 1; +static int atapi_dma = 1; + +TUNABLE_INT("hw.ata.ata_dma", &ata_dma); +TUNABLE_INT("hw.ata.atapi_dma", &atapi_dma); + static struct xpt_xport ata_xport = { .alloc_device = ata_alloc_device, .action = ata_action, @@ -356,6 +362,13 @@ probestart(struct cam_periph *periph, un if (cts.xport_specific.sata.valid & CTS_SATA_VALID_MODE) mode = cts.xport_specific.sata.mode; } + if (periph->path->device->protocol == PROTO_ATA) { + if (ata_dma == 0 && (mode == 0 || mode > ATA_PIO_MAX)) + mode = ATA_PIO_MAX; + } else { + if (atapi_dma == 0 && (mode == 0 || mode > ATA_PIO_MAX)) + mode = ATA_PIO_MAX; + } negotiate: /* Honor device capabilities. */ wantmode = mode = ata_max_mode(ident_buf, mode); Modified: projects/nfsv4.1-client/sys/cam/ctl/ctl_frontend_cam_sim.c ============================================================================== --- projects/nfsv4.1-client/sys/cam/ctl/ctl_frontend_cam_sim.c Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/cam/ctl/ctl_frontend_cam_sim.c Wed Feb 8 03:16:29 2012 (r231176) @@ -221,6 +221,7 @@ cfcs_init(void) mtx_lock(&softc->lock); if (xpt_bus_register(softc->sim, NULL, 0) != CAM_SUCCESS) { + mtx_unlock(&softc->lock); printf("%s: error registering SIM\n", __func__); retval = ENOMEM; goto bailout; @@ -230,6 +231,7 @@ cfcs_init(void) cam_sim_path(softc->sim), CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD) != CAM_REQ_CMP) { + mtx_unlock(&softc->lock); printf("%s: error creating path\n", __func__); xpt_bus_deregister(cam_sim_path(softc->sim)); retval = 1; @@ -253,8 +255,6 @@ bailout: else if (softc->devq) cam_simq_free(softc->devq); - mtx_unlock(&softc->lock); - return (retval); } Modified: projects/nfsv4.1-client/sys/cam/scsi/scsi_da.c ============================================================================== --- projects/nfsv4.1-client/sys/cam/scsi/scsi_da.c Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/cam/scsi/scsi_da.c Wed Feb 8 03:16:29 2012 (r231176) @@ -1149,7 +1149,7 @@ dadump(void *arg, void *virtual, vm_offs /*data_ptr*/(u_int8_t *) virtual, /*dxfer_len*/length, /*sense_len*/SSD_FULL_SIZE, - DA_DEFAULT_TIMEOUT * 1000); + da_default_timeout * 1000); xpt_polled_action((union ccb *)&csio); cam_periph_unlock(periph); @@ -1597,7 +1597,7 @@ daregister(struct cam_periph *periph, vo */ callout_init_mtx(&softc->sendordered_c, periph->sim->mtx, 0); callout_reset(&softc->sendordered_c, - (DA_DEFAULT_TIMEOUT * hz) / DA_ORDEREDTAG_INTERVAL, + (da_default_timeout * hz) / DA_ORDEREDTAG_INTERVAL, dasendorderedtag, softc); mtx_unlock(periph->sim->mtx); @@ -2768,7 +2768,7 @@ dasendorderedtag(void *arg) } /* Queue us up again */ callout_reset(&softc->sendordered_c, - (DA_DEFAULT_TIMEOUT * hz) / DA_ORDEREDTAG_INTERVAL, + (da_default_timeout * hz) / DA_ORDEREDTAG_INTERVAL, dasendorderedtag, softc); } Modified: projects/nfsv4.1-client/sys/compat/freebsd32/freebsd32_signal.h ============================================================================== --- projects/nfsv4.1-client/sys/compat/freebsd32/freebsd32_signal.h Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/compat/freebsd32/freebsd32_signal.h Wed Feb 8 03:16:29 2012 (r231176) @@ -92,6 +92,7 @@ struct sigevent32 { uint32_t _function; uint32_t _attribute; } _sigev_thread; + unsigned short _kevent_flags; uint32_t __spare__[8]; } _sigev_un; }; Modified: projects/nfsv4.1-client/sys/conf/files ============================================================================== --- projects/nfsv4.1-client/sys/conf/files Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/conf/files Wed Feb 8 03:16:29 2012 (r231176) @@ -1395,6 +1395,8 @@ dev/ixgbe/ixgbe_82598.c optional ixgbe compile-with "${NORMAL_C} -I$S/dev/ixgbe" dev/ixgbe/ixgbe_82599.c optional ixgbe inet \ compile-with "${NORMAL_C} -I$S/dev/ixgbe" +dev/ixgbe/ixgbe_x540.c optional ixgbe inet \ + compile-with "${NORMAL_C} -I$S/dev/ixgbe" dev/jme/if_jme.c optional jme pci dev/joy/joy.c optional joy dev/joy/joy_isa.c optional joy isa @@ -1730,8 +1732,7 @@ dev/sound/pci/als4000.c optional snd_al dev/sound/pci/atiixp.c optional snd_atiixp pci dev/sound/pci/cmi.c optional snd_cmi pci dev/sound/pci/cs4281.c optional snd_cs4281 pci -dev/sound/pci/csa.c optional snd_csa pci \ - warning "kernel contains GPL contaminated csaimg.h header" +dev/sound/pci/csa.c optional snd_csa pci dev/sound/pci/csapcm.c optional snd_csa pci dev/sound/pci/ds1.c optional snd_ds1 pci dev/sound/pci/emu10k1.c optional snd_emu10k1 pci @@ -2404,9 +2405,8 @@ kern/sched_ule.c optional sched_ule kern/serdev_if.m standard kern/stack_protector.c standard \ compile-with "${NORMAL_C:N-fstack-protector*}" -# XXX subr_acl_nfs4.c is also used by ZFS -kern/subr_acl_nfs4.c optional ufs_acl -kern/subr_acl_posix1e.c optional ufs_acl +kern/subr_acl_nfs4.c standard +kern/subr_acl_posix1e.c standard kern/subr_autoconf.c standard kern/subr_blist.c standard kern/subr_bus.c standard @@ -2499,17 +2499,17 @@ kern/vfs_vnops.c standard # gssd.h optional kgssapi \ dependency "$S/kgssapi/gssd.x" \ - compile-with "rpcgen -hM $S/kgssapi/gssd.x | grep -v pthread.h > gssd.h" \ + compile-with "RPCGEN_CPP='${CPP}' rpcgen -hM $S/kgssapi/gssd.x | grep -v pthread.h > gssd.h" \ no-obj no-implicit-rule before-depend local \ clean "gssd.h" gssd_xdr.c optional kgssapi \ dependency "$S/kgssapi/gssd.x gssd.h" \ - compile-with "rpcgen -c $S/kgssapi/gssd.x -o gssd_xdr.c" \ + compile-with "RPCGEN_CPP='${CPP}' rpcgen -c $S/kgssapi/gssd.x -o gssd_xdr.c" \ no-implicit-rule before-depend local \ clean "gssd_xdr.c" gssd_clnt.c optional kgssapi \ dependency "$S/kgssapi/gssd.x gssd.h" \ - compile-with "rpcgen -lM $S/kgssapi/gssd.x | grep -v string.h > gssd_clnt.c" \ + compile-with "RPCGEN_CPP='${CPP}' rpcgen -lM $S/kgssapi/gssd.x | grep -v string.h > gssd_clnt.c" \ no-implicit-rule before-depend local \ clean "gssd_clnt.c" kgssapi/gss_accept_sec_context.c optional kgssapi @@ -3530,6 +3530,7 @@ dev/xen/blkback/blkback.c optional xen | dev/xen/console/console.c optional xen dev/xen/console/xencons_ring.c optional xen dev/xen/control/control.c optional xen | xenhvm +dev/xen/netback/netback.c optional xen | xenhvm dev/xen/netfront/netfront.c optional xen | xenhvm dev/xen/xenpci/xenpci.c optional xenpci dev/xen/xenpci/evtchn.c optional xenpci Modified: projects/nfsv4.1-client/sys/conf/files.amd64 ============================================================================== --- projects/nfsv4.1-client/sys/conf/files.amd64 Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/conf/files.amd64 Wed Feb 8 03:16:29 2012 (r231176) @@ -271,6 +271,115 @@ dev/tpm/tpm_isa.c optional tpm isa dev/uart/uart_cpu_amd64.c optional uart dev/viawd/viawd.c optional viawd dev/wpi/if_wpi.c optional wpi +dev/isci/isci.c optional isci +dev/isci/isci_controller.c optional isci +dev/isci/isci_domain.c optional isci +dev/isci/isci_interrupt.c optional isci +dev/isci/isci_io_request.c optional isci +dev/isci/isci_logger.c optional isci +dev/isci/isci_oem_parameters.c optional isci +dev/isci/isci_remote_device.c optional isci +dev/isci/isci_sysctl.c optional isci +dev/isci/isci_task_request.c optional isci +dev/isci/isci_timer.c optional isci +dev/isci/scil/sati.c optional isci +dev/isci/scil/sati_abort_task_set.c optional isci +dev/isci/scil/sati_atapi.c optional isci +dev/isci/scil/sati_device.c optional isci +dev/isci/scil/sati_inquiry.c optional isci +dev/isci/scil/sati_log_sense.c optional isci +dev/isci/scil/sati_lun_reset.c optional isci +dev/isci/scil/sati_mode_pages.c optional isci +dev/isci/scil/sati_mode_select.c optional isci +dev/isci/scil/sati_mode_sense.c optional isci +dev/isci/scil/sati_mode_sense_10.c optional isci +dev/isci/scil/sati_mode_sense_6.c optional isci +dev/isci/scil/sati_move.c optional isci +dev/isci/scil/sati_passthrough.c optional isci +dev/isci/scil/sati_read.c optional isci +dev/isci/scil/sati_read_buffer.c optional isci +dev/isci/scil/sati_read_capacity.c optional isci +dev/isci/scil/sati_reassign_blocks.c optional isci +dev/isci/scil/sati_report_luns.c optional isci +dev/isci/scil/sati_request_sense.c optional isci +dev/isci/scil/sati_start_stop_unit.c optional isci +dev/isci/scil/sati_synchronize_cache.c optional isci +dev/isci/scil/sati_test_unit_ready.c optional isci +dev/isci/scil/sati_unmap.c optional isci +dev/isci/scil/sati_util.c optional isci +dev/isci/scil/sati_verify.c optional isci +dev/isci/scil/sati_write.c optional isci +dev/isci/scil/sati_write_and_verify.c optional isci +dev/isci/scil/sati_write_buffer.c optional isci +dev/isci/scil/sati_write_long.c optional isci +dev/isci/scil/sci_abstract_list.c optional isci +dev/isci/scil/sci_base_controller.c optional isci +dev/isci/scil/sci_base_domain.c optional isci +dev/isci/scil/sci_base_iterator.c optional isci +dev/isci/scil/sci_base_library.c optional isci +dev/isci/scil/sci_base_logger.c optional isci +dev/isci/scil/sci_base_memory_descriptor_list.c optional isci +dev/isci/scil/sci_base_memory_descriptor_list_decorator.c optional isci +dev/isci/scil/sci_base_object.c optional isci +dev/isci/scil/sci_base_observer.c optional isci +dev/isci/scil/sci_base_phy.c optional isci +dev/isci/scil/sci_base_port.c optional isci +dev/isci/scil/sci_base_remote_device.c optional isci +dev/isci/scil/sci_base_request.c optional isci +dev/isci/scil/sci_base_state_machine.c optional isci +dev/isci/scil/sci_base_state_machine_logger.c optional isci +dev/isci/scil/sci_base_state_machine_observer.c optional isci +dev/isci/scil/sci_base_subject.c optional isci +dev/isci/scil/sci_util.c optional isci +dev/isci/scil/scic_sds_controller.c optional isci +dev/isci/scil/scic_sds_library.c optional isci +dev/isci/scil/scic_sds_pci.c optional isci +dev/isci/scil/scic_sds_phy.c optional isci +dev/isci/scil/scic_sds_port.c optional isci +dev/isci/scil/scic_sds_port_configuration_agent.c optional isci +dev/isci/scil/scic_sds_remote_device.c optional isci +dev/isci/scil/scic_sds_remote_node_context.c optional isci +dev/isci/scil/scic_sds_remote_node_table.c optional isci +dev/isci/scil/scic_sds_request.c optional isci +dev/isci/scil/scic_sds_sgpio.c optional isci +dev/isci/scil/scic_sds_smp_remote_device.c optional isci +dev/isci/scil/scic_sds_smp_request.c optional isci +dev/isci/scil/scic_sds_ssp_request.c optional isci +dev/isci/scil/scic_sds_stp_packet_request.c optional isci +dev/isci/scil/scic_sds_stp_remote_device.c optional isci +dev/isci/scil/scic_sds_stp_request.c optional isci +dev/isci/scil/scic_sds_unsolicited_frame_control.c optional isci +dev/isci/scil/scif_sas_controller.c optional isci +dev/isci/scil/scif_sas_controller_state_handlers.c optional isci +dev/isci/scil/scif_sas_controller_states.c optional isci +dev/isci/scil/scif_sas_domain.c optional isci +dev/isci/scil/scif_sas_domain_state_handlers.c optional isci +dev/isci/scil/scif_sas_domain_states.c optional isci +dev/isci/scil/scif_sas_high_priority_request_queue.c optional isci +dev/isci/scil/scif_sas_internal_io_request.c optional isci +dev/isci/scil/scif_sas_io_request.c optional isci +dev/isci/scil/scif_sas_io_request_state_handlers.c optional isci +dev/isci/scil/scif_sas_io_request_states.c optional isci +dev/isci/scil/scif_sas_library.c optional isci +dev/isci/scil/scif_sas_remote_device.c optional isci +dev/isci/scil/scif_sas_remote_device_ready_substate_handlers.c optional isci +dev/isci/scil/scif_sas_remote_device_ready_substates.c optional isci +dev/isci/scil/scif_sas_remote_device_starting_substate_handlers.c optional isci +dev/isci/scil/scif_sas_remote_device_starting_substates.c optional isci +dev/isci/scil/scif_sas_remote_device_state_handlers.c optional isci +dev/isci/scil/scif_sas_remote_device_states.c optional isci +dev/isci/scil/scif_sas_request.c optional isci +dev/isci/scil/scif_sas_smp_activity_clear_affiliation.c optional isci +dev/isci/scil/scif_sas_smp_io_request.c optional isci +dev/isci/scil/scif_sas_smp_phy.c optional isci +dev/isci/scil/scif_sas_smp_remote_device.c optional isci +dev/isci/scil/scif_sas_stp_io_request.c optional isci +dev/isci/scil/scif_sas_stp_remote_device.c optional isci +dev/isci/scil/scif_sas_stp_task_request.c optional isci +dev/isci/scil/scif_sas_task_request.c optional isci +dev/isci/scil/scif_sas_task_request_state_handlers.c optional isci +dev/isci/scil/scif_sas_task_request_states.c optional isci +dev/isci/scil/scif_sas_timer.c optional isci isa/syscons_isa.c optional sc isa/vga_isa.c optional vga kern/kern_clocksource.c standard Modified: projects/nfsv4.1-client/sys/conf/files.i386 ============================================================================== --- projects/nfsv4.1-client/sys/conf/files.i386 Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/conf/files.i386 Wed Feb 8 03:16:29 2012 (r231176) @@ -248,6 +248,115 @@ dev/viawd/viawd.c optional viawd dev/acpica/acpi_if.m standard dev/acpi_support/acpi_wmi_if.m standard dev/wpi/if_wpi.c optional wpi +dev/isci/isci.c optional isci +dev/isci/isci_controller.c optional isci +dev/isci/isci_domain.c optional isci +dev/isci/isci_interrupt.c optional isci +dev/isci/isci_io_request.c optional isci +dev/isci/isci_logger.c optional isci +dev/isci/isci_oem_parameters.c optional isci +dev/isci/isci_remote_device.c optional isci +dev/isci/isci_sysctl.c optional isci +dev/isci/isci_task_request.c optional isci +dev/isci/isci_timer.c optional isci +dev/isci/scil/sati.c optional isci +dev/isci/scil/sati_abort_task_set.c optional isci +dev/isci/scil/sati_atapi.c optional isci +dev/isci/scil/sati_device.c optional isci +dev/isci/scil/sati_inquiry.c optional isci +dev/isci/scil/sati_log_sense.c optional isci +dev/isci/scil/sati_lun_reset.c optional isci +dev/isci/scil/sati_mode_pages.c optional isci +dev/isci/scil/sati_mode_select.c optional isci +dev/isci/scil/sati_mode_sense.c optional isci +dev/isci/scil/sati_mode_sense_10.c optional isci +dev/isci/scil/sati_mode_sense_6.c optional isci +dev/isci/scil/sati_move.c optional isci +dev/isci/scil/sati_passthrough.c optional isci +dev/isci/scil/sati_read.c optional isci +dev/isci/scil/sati_read_buffer.c optional isci +dev/isci/scil/sati_read_capacity.c optional isci +dev/isci/scil/sati_reassign_blocks.c optional isci +dev/isci/scil/sati_report_luns.c optional isci +dev/isci/scil/sati_request_sense.c optional isci +dev/isci/scil/sati_start_stop_unit.c optional isci +dev/isci/scil/sati_synchronize_cache.c optional isci +dev/isci/scil/sati_test_unit_ready.c optional isci +dev/isci/scil/sati_unmap.c optional isci +dev/isci/scil/sati_util.c optional isci +dev/isci/scil/sati_verify.c optional isci +dev/isci/scil/sati_write.c optional isci +dev/isci/scil/sati_write_and_verify.c optional isci +dev/isci/scil/sati_write_buffer.c optional isci +dev/isci/scil/sati_write_long.c optional isci +dev/isci/scil/sci_abstract_list.c optional isci +dev/isci/scil/sci_base_controller.c optional isci +dev/isci/scil/sci_base_domain.c optional isci +dev/isci/scil/sci_base_iterator.c optional isci +dev/isci/scil/sci_base_library.c optional isci +dev/isci/scil/sci_base_logger.c optional isci +dev/isci/scil/sci_base_memory_descriptor_list.c optional isci +dev/isci/scil/sci_base_memory_descriptor_list_decorator.c optional isci +dev/isci/scil/sci_base_object.c optional isci +dev/isci/scil/sci_base_observer.c optional isci +dev/isci/scil/sci_base_phy.c optional isci +dev/isci/scil/sci_base_port.c optional isci +dev/isci/scil/sci_base_remote_device.c optional isci +dev/isci/scil/sci_base_request.c optional isci +dev/isci/scil/sci_base_state_machine.c optional isci +dev/isci/scil/sci_base_state_machine_logger.c optional isci +dev/isci/scil/sci_base_state_machine_observer.c optional isci +dev/isci/scil/sci_base_subject.c optional isci +dev/isci/scil/sci_util.c optional isci +dev/isci/scil/scic_sds_controller.c optional isci +dev/isci/scil/scic_sds_library.c optional isci +dev/isci/scil/scic_sds_pci.c optional isci +dev/isci/scil/scic_sds_phy.c optional isci +dev/isci/scil/scic_sds_port.c optional isci +dev/isci/scil/scic_sds_port_configuration_agent.c optional isci +dev/isci/scil/scic_sds_remote_device.c optional isci +dev/isci/scil/scic_sds_remote_node_context.c optional isci +dev/isci/scil/scic_sds_remote_node_table.c optional isci +dev/isci/scil/scic_sds_request.c optional isci +dev/isci/scil/scic_sds_sgpio.c optional isci +dev/isci/scil/scic_sds_smp_remote_device.c optional isci +dev/isci/scil/scic_sds_smp_request.c optional isci +dev/isci/scil/scic_sds_ssp_request.c optional isci +dev/isci/scil/scic_sds_stp_packet_request.c optional isci +dev/isci/scil/scic_sds_stp_remote_device.c optional isci +dev/isci/scil/scic_sds_stp_request.c optional isci +dev/isci/scil/scic_sds_unsolicited_frame_control.c optional isci +dev/isci/scil/scif_sas_controller.c optional isci +dev/isci/scil/scif_sas_controller_state_handlers.c optional isci +dev/isci/scil/scif_sas_controller_states.c optional isci +dev/isci/scil/scif_sas_domain.c optional isci +dev/isci/scil/scif_sas_domain_state_handlers.c optional isci +dev/isci/scil/scif_sas_domain_states.c optional isci +dev/isci/scil/scif_sas_high_priority_request_queue.c optional isci +dev/isci/scil/scif_sas_internal_io_request.c optional isci +dev/isci/scil/scif_sas_io_request.c optional isci +dev/isci/scil/scif_sas_io_request_state_handlers.c optional isci +dev/isci/scil/scif_sas_io_request_states.c optional isci +dev/isci/scil/scif_sas_library.c optional isci +dev/isci/scil/scif_sas_remote_device.c optional isci +dev/isci/scil/scif_sas_remote_device_ready_substate_handlers.c optional isci +dev/isci/scil/scif_sas_remote_device_ready_substates.c optional isci +dev/isci/scil/scif_sas_remote_device_starting_substate_handlers.c optional isci +dev/isci/scil/scif_sas_remote_device_starting_substates.c optional isci +dev/isci/scil/scif_sas_remote_device_state_handlers.c optional isci +dev/isci/scil/scif_sas_remote_device_states.c optional isci +dev/isci/scil/scif_sas_request.c optional isci +dev/isci/scil/scif_sas_smp_activity_clear_affiliation.c optional isci +dev/isci/scil/scif_sas_smp_io_request.c optional isci +dev/isci/scil/scif_sas_smp_phy.c optional isci +dev/isci/scil/scif_sas_smp_remote_device.c optional isci +dev/isci/scil/scif_sas_stp_io_request.c optional isci +dev/isci/scil/scif_sas_stp_remote_device.c optional isci +dev/isci/scil/scif_sas_stp_task_request.c optional isci +dev/isci/scil/scif_sas_task_request.c optional isci +dev/isci/scil/scif_sas_task_request_state_handlers.c optional isci +dev/isci/scil/scif_sas_task_request_states.c optional isci +dev/isci/scil/scif_sas_timer.c optional isci i386/acpica/acpi_machdep.c optional acpi acpi_wakecode.o optional acpi \ dependency "$S/i386/acpica/acpi_wakecode.S assym.s" \ Modified: projects/nfsv4.1-client/sys/conf/files.powerpc ============================================================================== --- projects/nfsv4.1-client/sys/conf/files.powerpc Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/conf/files.powerpc Wed Feb 8 03:16:29 2012 (r231176) @@ -133,6 +133,7 @@ powerpc/mpc85xx/openpic_fdt.c optional f powerpc/mpc85xx/pci_fdt.c optional pci mpc85xx powerpc/ofw/ofw_cpu.c optional aim powerpc/ofw/ofw_machdep.c optional aim +powerpc/ofw/ofw_pci.c optional pci aim powerpc/ofw/ofw_pcibus.c optional pci aim powerpc/ofw/ofw_pcib_pci.c optional pci aim powerpc/ofw/ofw_real.c optional aim Modified: projects/nfsv4.1-client/sys/conf/options ============================================================================== --- projects/nfsv4.1-client/sys/conf/options Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/conf/options Wed Feb 8 03:16:29 2012 (r231176) @@ -845,6 +845,7 @@ IEEE80211_SUPPORT_MESH opt_wlan.h IEEE80211_SUPPORT_SUPERG opt_wlan.h IEEE80211_SUPPORT_TDMA opt_wlan.h IEEE80211_ALQ opt_wlan.h +IEEE80211_DFS_DEBUG opt_wlan.h # 802.11 TDMA support TDMA_SLOTLEN_DEFAULT opt_tdma.h Modified: projects/nfsv4.1-client/sys/conf/options.amd64 ============================================================================== --- projects/nfsv4.1-client/sys/conf/options.amd64 Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/conf/options.amd64 Wed Feb 8 03:16:29 2012 (r231176) @@ -65,3 +65,6 @@ KDTRACE_FRAME opt_kdtrace.h BPF_JITTER opt_bpf.h XENHVM opt_global.h + +# options for the Intel C600 SAS driver (isci) +ISCI_LOGGING opt_isci.h Modified: projects/nfsv4.1-client/sys/conf/options.i386 ============================================================================== --- projects/nfsv4.1-client/sys/conf/options.i386 Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/conf/options.i386 Wed Feb 8 03:16:29 2012 (r231176) @@ -119,3 +119,6 @@ BPF_JITTER opt_bpf.h NATIVE opt_global.h XEN opt_global.h XENHVM opt_global.h + +# options for the Intel C600 SAS driver (isci) +ISCI_LOGGING opt_isci.h Modified: projects/nfsv4.1-client/sys/dev/acpica/acpi.c ============================================================================== --- projects/nfsv4.1-client/sys/dev/acpica/acpi.c Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/dev/acpica/acpi.c Wed Feb 8 03:16:29 2012 (r231176) @@ -1812,23 +1812,29 @@ acpi_probe_children(device_t bus) static void acpi_probe_order(ACPI_HANDLE handle, int *order) { - ACPI_OBJECT_TYPE type; + ACPI_OBJECT_TYPE type; - /* - * 1. CPUs - * 2. I/O port and memory system resource holders - * 3. Embedded controllers (to handle early accesses) - * 4. PCI Link Devices - */ - AcpiGetType(handle, &type); - if (type == ACPI_TYPE_PROCESSOR) - *order = 1; - else if (acpi_MatchHid(handle, "PNP0C01") || acpi_MatchHid(handle, "PNP0C02")) - *order = 2; - else if (acpi_MatchHid(handle, "PNP0C09")) - *order = 3; - else if (acpi_MatchHid(handle, "PNP0C0F")) - *order = 4; + /* + * 0. CPUs + * 1. I/O port and memory system resource holders + * 2. Clocks and timers (to handle early accesses) + * 3. Embedded controllers (to handle early accesses) + * 4. PCI Link Devices + */ + AcpiGetType(handle, &type); + if (type == ACPI_TYPE_PROCESSOR) + *order = 0; + else if (acpi_MatchHid(handle, "PNP0C01") || + acpi_MatchHid(handle, "PNP0C02")) + *order = 1; + else if (acpi_MatchHid(handle, "PNP0100") || + acpi_MatchHid(handle, "PNP0103") || + acpi_MatchHid(handle, "PNP0B00")) + *order = 2; + else if (acpi_MatchHid(handle, "PNP0C09")) + *order = 3; + else if (acpi_MatchHid(handle, "PNP0C0F")) + *order = 4; } /* @@ -1889,7 +1895,7 @@ acpi_probe_child(ACPI_HANDLE handle, UIN * resources). */ ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "scanning '%s'\n", handle_str)); - order = level * 10 + 100; + order = level * 10 + ACPI_DEV_BASE_ORDER; acpi_probe_order(handle, &order); child = BUS_ADD_CHILD(bus, order, NULL, -1); if (child == NULL) Modified: projects/nfsv4.1-client/sys/dev/acpica/acpi_ec.c ============================================================================== --- projects/nfsv4.1-client/sys/dev/acpica/acpi_ec.c Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/dev/acpica/acpi_ec.c Wed Feb 8 03:16:29 2012 (r231176) @@ -295,7 +295,7 @@ acpi_ec_ecdt_probe(device_t parent) } /* Create the child device with the given unit number. */ - child = BUS_ADD_CHILD(parent, 0, "acpi_ec", ecdt->Uid); + child = BUS_ADD_CHILD(parent, 3, "acpi_ec", ecdt->Uid); if (child == NULL) { printf("%s: can't add child\n", __func__); return; Modified: projects/nfsv4.1-client/sys/dev/acpica/acpi_hpet.c ============================================================================== --- projects/nfsv4.1-client/sys/dev/acpica/acpi_hpet.c Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/dev/acpica/acpi_hpet.c Wed Feb 8 03:16:29 2012 (r231176) @@ -342,7 +342,7 @@ hpet_identify(driver_t *driver, device_t if (found) continue; /* If not - create it from table info. */ - child = BUS_ADD_CHILD(parent, ACPI_DEV_BASE_ORDER, "hpet", 0); + child = BUS_ADD_CHILD(parent, 2, "hpet", 0); if (child == NULL) { printf("%s: can't add child\n", __func__); continue; Modified: projects/nfsv4.1-client/sys/dev/acpica/acpi_timer.c ============================================================================== --- projects/nfsv4.1-client/sys/dev/acpica/acpi_timer.c Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/dev/acpica/acpi_timer.c Wed Feb 8 03:16:29 2012 (r231176) @@ -124,7 +124,7 @@ acpi_timer_identify(driver_t *driver, de acpi_timer_dev) return_VOID; - if ((dev = BUS_ADD_CHILD(parent, 0, "acpi_timer", 0)) == NULL) { + if ((dev = BUS_ADD_CHILD(parent, 2, "acpi_timer", 0)) == NULL) { device_printf(parent, "could not add acpi_timer0\n"); return_VOID; } Modified: projects/nfsv4.1-client/sys/dev/acpica/acpivar.h ============================================================================== --- projects/nfsv4.1-client/sys/dev/acpica/acpivar.h Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/dev/acpica/acpivar.h Wed Feb 8 03:16:29 2012 (r231176) @@ -473,7 +473,7 @@ ACPI_HANDLE acpi_GetReference(ACPI_HANDL * probe order sorted so that things like sysresource are available before * their children need them. */ -#define ACPI_DEV_BASE_ORDER 10 +#define ACPI_DEV_BASE_ORDER 100 /* Default maximum number of tasks to enqueue. */ #ifndef ACPI_MAX_TASKS Modified: projects/nfsv4.1-client/sys/dev/ath/ath_dfs/null/dfs_null.c ============================================================================== --- projects/nfsv4.1-client/sys/dev/ath/ath_dfs/null/dfs_null.c Wed Feb 8 03:02:12 2012 (r231175) +++ projects/nfsv4.1-client/sys/dev/ath/ath_dfs/null/dfs_null.c Wed Feb 8 03:16:29 2012 (r231176) @@ -71,6 +71,28 @@ __FBSDID("$FreeBSD$"); #include /* + * These are default parameters for the AR5416 and + * later 802.11n NICs. They simply enable some + * radar pulse event generation. + * + * These are very likely not valid for the AR5212 era + * NICs. + * + * Since these define signal sizing and threshold + * parameters, they may need changing based on the + * specific antenna and receive amplifier + * configuration. + */ +#define AR5416_DFS_FIRPWR -33 +#define AR5416_DFS_RRSSI 20 +#define AR5416_DFS_HEIGHT 10 +#define AR5416_DFS_PRSSI 15 +#define AR5416_DFS_INBAND 15 +#define AR5416_DFS_RELPWR 8 +#define AR5416_DFS_RELSTEP 12 +#define AR5416_DFS_MAXLEN 255 + +/* * Methods which are required */ @@ -98,16 +120,45 @@ ath_dfs_detach(struct ath_softc *sc) int ath_dfs_radar_enable(struct ath_softc *sc, struct ieee80211_channel *chan) { +#if 0 + HAL_PHYERR_PARAM pe; + /* Check if the current channel is radar-enabled */ if (! IEEE80211_IS_CHAN_DFS(chan)) return (0); + /* Enable radar PHY error reporting */ + sc->sc_dodfs = 1; + *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***