From owner-svn-src-stable@FreeBSD.ORG Wed Jun 30 11:47:04 2010 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3E2D9106579F; Wed, 30 Jun 2010 11:47:04 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2AEBB8FC20; Wed, 30 Jun 2010 11:47:04 +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 o5UBl4Z0036719; Wed, 30 Jun 2010 11:47:04 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o5UBl3Pn036712; Wed, 30 Jun 2010 11:47:03 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201006301147.o5UBl3Pn036712@svn.freebsd.org> From: Konstantin Belousov Date: Wed, 30 Jun 2010 11:47:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r209608 - in stable/8/sys: amd64/amd64 amd64/ia32 amd64/include i386/i386 i386/isa X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jun 2010 11:47:04 -0000 Author: kib Date: Wed Jun 30 11:47:03 2010 New Revision: 209608 URL: http://svn.freebsd.org/changeset/base/209608 Log: MFC r209483: Clear DF bit in eflags/rflags on the kernel entry. Modified: stable/8/sys/amd64/amd64/exception.S stable/8/sys/amd64/ia32/ia32_exception.S stable/8/sys/amd64/include/asmacros.h stable/8/sys/i386/i386/apic_vector.s stable/8/sys/i386/i386/exception.s stable/8/sys/i386/isa/atpic_vector.s Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/amd64/amd64/exception.S ============================================================================== --- stable/8/sys/amd64/amd64/exception.S Wed Jun 30 11:17:55 2010 (r209607) +++ stable/8/sys/amd64/amd64/exception.S Wed Jun 30 11:47:03 2010 (r209608) @@ -191,6 +191,7 @@ alltraps_pushregs_no_rdi: movq %r14,TF_R14(%rsp) movq %r15,TF_R15(%rsp) movl $TF_HASSEGS,TF_FLAGS(%rsp) + cld FAKE_MCOUNT(TF_RIP(%rsp)) #ifdef KDTRACE_HOOKS /* @@ -270,6 +271,7 @@ IDTVEC(dblfault) movw %es,TF_ES(%rsp) movw %ds,TF_DS(%rsp) movl $TF_HASSEGS,TF_FLAGS(%rsp) + cld testb $SEL_RPL_MASK,TF_CS(%rsp) /* Did we come from kernel? */ jz 1f /* already running with kernel GS.base */ swapgs @@ -369,6 +371,7 @@ IDTVEC(fast_syscall) movq %r14,TF_R14(%rsp) /* C preserved */ movq %r15,TF_R15(%rsp) /* C preserved */ movl $TF_HASSEGS,TF_FLAGS(%rsp) + cld FAKE_MCOUNT(TF_RIP(%rsp)) movq %rsp,%rdi call syscall @@ -434,6 +437,7 @@ IDTVEC(nmi) movw %es,TF_ES(%rsp) movw %ds,TF_DS(%rsp) movl $TF_HASSEGS,TF_FLAGS(%rsp) + cld xorl %ebx,%ebx testb $SEL_RPL_MASK,TF_CS(%rsp) jnz nmi_fromuserspace Modified: stable/8/sys/amd64/ia32/ia32_exception.S ============================================================================== --- stable/8/sys/amd64/ia32/ia32_exception.S Wed Jun 30 11:17:55 2010 (r209607) +++ stable/8/sys/amd64/ia32/ia32_exception.S Wed Jun 30 11:47:03 2010 (r209608) @@ -67,6 +67,7 @@ IDTVEC(int0x80_syscall) movq %r14,TF_R14(%rsp) movq %r15,TF_R15(%rsp) movl $TF_HASSEGS,TF_FLAGS(%rsp) + cld FAKE_MCOUNT(TF_RIP(%rsp)) movq %rsp, %rdi call ia32_syscall Modified: stable/8/sys/amd64/include/asmacros.h ============================================================================== --- stable/8/sys/amd64/include/asmacros.h Wed Jun 30 11:17:55 2010 (r209607) +++ stable/8/sys/amd64/include/asmacros.h Wed Jun 30 11:47:03 2010 (r209608) @@ -166,7 +166,8 @@ movw %gs,TF_GS(%rsp) ; \ movw %es,TF_ES(%rsp) ; \ movw %ds,TF_DS(%rsp) ; \ - movl $TF_HASSEGS,TF_FLAGS(%rsp) + movl $TF_HASSEGS,TF_FLAGS(%rsp) ; \ + cld #define POP_FRAME \ movq TF_RDI(%rsp),%rdi ; \ Modified: stable/8/sys/i386/i386/apic_vector.s ============================================================================== --- stable/8/sys/i386/i386/apic_vector.s Wed Jun 30 11:17:55 2010 (r209607) +++ stable/8/sys/i386/i386/apic_vector.s Wed Jun 30 11:47:03 2010 (r209608) @@ -56,6 +56,7 @@ IDTVEC(vec_name) ; \ PUSH_FRAME ; \ SET_KERNEL_SREGS ; \ + cld ; \ FAKE_MCOUNT(TF_EIP(%esp)) ; \ movl lapic, %edx ; /* pointer to local APIC */ \ movl LA_ISR + 16 * (index)(%edx), %eax ; /* load ISR */ \ @@ -103,6 +104,7 @@ IDTVEC(spuriousint) IDTVEC(timerint) PUSH_FRAME SET_KERNEL_SREGS + cld FAKE_MCOUNT(TF_EIP(%esp)) pushl %esp call lapic_handle_timer @@ -118,6 +120,7 @@ IDTVEC(timerint) IDTVEC(errorint) PUSH_FRAME SET_KERNEL_SREGS + cld FAKE_MCOUNT(TF_EIP(%esp)) call lapic_handle_error MEXITCOUNT @@ -289,6 +292,7 @@ IDTVEC(invlcache) IDTVEC(ipi_intr_bitmap_handler) PUSH_FRAME SET_KERNEL_SREGS + cld movl lapic, %edx movl $0, LA_EOI(%edx) /* End Of Interrupt to APIC */ @@ -307,6 +311,7 @@ IDTVEC(ipi_intr_bitmap_handler) IDTVEC(cpustop) PUSH_FRAME SET_KERNEL_SREGS + cld movl lapic, %eax movl $0, LA_EOI(%eax) /* End Of Interrupt to APIC */ @@ -326,6 +331,7 @@ IDTVEC(cpustop) IDTVEC(rendezvous) PUSH_FRAME SET_KERNEL_SREGS + cld #ifdef COUNT_IPIS movl PCPU(CPUID), %eax @@ -347,6 +353,7 @@ IDTVEC(rendezvous) IDTVEC(lazypmap) PUSH_FRAME SET_KERNEL_SREGS + cld call pmap_lazyfix_action Modified: stable/8/sys/i386/i386/exception.s ============================================================================== --- stable/8/sys/i386/i386/exception.s Wed Jun 30 11:17:55 2010 (r209607) +++ stable/8/sys/i386/i386/exception.s Wed Jun 30 11:47:03 2010 (r209608) @@ -159,6 +159,7 @@ alltraps: pushl %fs alltraps_with_regs_pushed: SET_KERNEL_SREGS + cld FAKE_MCOUNT(TF_EIP(%esp)) calltrap: pushl %esp @@ -233,6 +234,7 @@ IDTVEC(lcall_syscall) pushl %es pushl %fs SET_KERNEL_SREGS + cld FAKE_MCOUNT(TF_EIP(%esp)) pushl %esp call syscall @@ -256,6 +258,7 @@ IDTVEC(int0x80_syscall) pushl %es pushl %fs SET_KERNEL_SREGS + cld FAKE_MCOUNT(TF_EIP(%esp)) pushl %esp call syscall Modified: stable/8/sys/i386/isa/atpic_vector.s ============================================================================== --- stable/8/sys/i386/isa/atpic_vector.s Wed Jun 30 11:17:55 2010 (r209607) +++ stable/8/sys/i386/isa/atpic_vector.s Wed Jun 30 11:47:03 2010 (r209608) @@ -49,6 +49,7 @@ IDTVEC(vec_name) ; \ PUSH_FRAME ; \ SET_KERNEL_SREGS ; \ + cld ; \ ; \ FAKE_MCOUNT(TF_EIP(%esp)) ; \ pushl %esp ; \