svn commit: r209608 - in stable/8/sys: amd64/amd64 amd64/ia32
amd64/include i386/i386 i386/isa
Konstantin Belousov
kib at FreeBSD.org
Wed Jun 30 11:47:04 UTC 2010
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 ; \
More information about the svn-src-stable
mailing list