From owner-svn-soc-all@FreeBSD.ORG Fri Jul 25 15:21:31 2014 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A5AA5E96 for ; Fri, 25 Jul 2014 15:21:31 +0000 (UTC) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8712D2C9E for ; Fri, 25 Jul 2014 15:21:31 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.8/8.14.8) with ESMTP id s6PFLVdl065924 for ; Fri, 25 Jul 2014 15:21:31 GMT (envelope-from op@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.8/8.14.8/Submit) id s6PFLVuV065663 for svn-soc-all@FreeBSD.org; Fri, 25 Jul 2014 15:21:31 GMT (envelope-from op@FreeBSD.org) Date: Fri, 25 Jul 2014 15:21:31 GMT Message-Id: <201407251521.s6PFLVuV065663@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to op@FreeBSD.org using -f From: op@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r271367 - soc2014/op/freebsd-base/sys/amd64/amd64 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Jul 2014 15:21:31 -0000 Author: op Date: Fri Jul 25 15:21:30 2014 New Revision: 271367 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=271367 Log: KSP SMAP: use selfpatch for stac, clac in amd64/support.S Signed-off-by: Oliver Pinter git: https://github.com/opntr/opBSD/tree/op/gsoc2014/smap+kpatch Modified: soc2014/op/freebsd-base/sys/amd64/amd64/support.S Modified: soc2014/op/freebsd-base/sys/amd64/amd64/support.S ============================================================================== --- soc2014/op/freebsd-base/sys/amd64/amd64/support.S Fri Jul 25 15:12:49 2014 (r271366) +++ soc2014/op/freebsd-base/sys/amd64/amd64/support.S Fri Jul 25 15:21:30 2014 (r271367) @@ -35,6 +35,8 @@ #include #include #include +#include +#include #include "assym.s" @@ -247,16 +249,16 @@ shrq $3,%rcx cld - stac /* open user-space */ + _stac /* open user-space */ rep movsq - clac /* close user-space */ + _clac /* close user-space */ movb %dl,%cl andb $7,%cl - stac /* open user-space */ + _stac /* open user-space */ rep movsb - clac /* close user-space */ + _clac /* close user-space */ done_copyout: xorl %eax,%eax @@ -300,16 +302,16 @@ movb %cl,%al shrq $3,%rcx /* copy longword-wise */ cld - stac /* open user-space */ + _stac /* open user-space */ rep movsq - clac /* close user-space */ + _clac /* close user-space */ movb %al,%cl andb $7,%cl /* copy remaining bytes */ - stac /* open user-space */ + _stac /* open user-space */ rep movsb - clac /* close user-space */ + _clac /* close user-space */ done_copyin: xorl %eax,%eax @@ -341,12 +343,12 @@ ja fusufault movl %esi,%eax /* old */ - stac /* open user-space */ + _stac /* open user-space */ #ifdef SMP lock #endif cmpxchgl %edx,(%rdi) /* new = %edx */ - clac /* close user-space */ + _clac /* close user-space */ /* * The old value is in %eax. If the store succeeded it will be the @@ -372,12 +374,12 @@ ja fusufault movq %rsi,%rax /* old */ - stac /* open user-space */ + _stac /* open user-space */ #ifdef SMP lock #endif cmpxchgq %rdx,(%rdi) /* new = %rdx */ - clac /* close user-space */ + _clac /* close user-space */ /* * The old value is in %eax. If the store succeeded it will be the @@ -406,9 +408,9 @@ cmpq %rax,%rdi /* verify address is valid */ ja fusufault - stac /* open user-space */ + _stac /* open user-space */ movq (%rdi),%rax - clac /* close user-space */ + _clac /* close user-space */ movq $0,PCB_ONFAULT(%rcx) ret END(fuword64) @@ -422,9 +424,9 @@ cmpq %rax,%rdi /* verify address is valid */ ja fusufault - stac /* open user-space */ + _stac /* open user-space */ movl (%rdi),%eax - clac /* close user-space */ + _clac /* close user-space */ movq $0,PCB_ONFAULT(%rcx) ret END(fuword32) @@ -451,9 +453,9 @@ cmpq %rax,%rdi ja fusufault - stac /* open user-space */ + _stac /* open user-space */ movzwl (%rdi),%eax - clac /* close user-space */ + _clac /* close user-space */ movq $0,PCB_ONFAULT(%rcx) ret END(fuword16) @@ -466,9 +468,9 @@ cmpq %rax,%rdi ja fusufault - stac /* open user-space */ + _stac /* open user-space */ movzbl (%rdi),%eax - clac /* close user-space */ + _clac /* close user-space */ movq $0,PCB_ONFAULT(%rcx) ret END(fubyte) @@ -498,9 +500,9 @@ cmpq %rax,%rdi /* verify address validity */ ja fusufault - stac /* open user-space */ + _stac /* open user-space */ movq %rsi,(%rdi) - clac /* close user-space */ + _clac /* close user-space */ xorl %eax,%eax movq PCPU(CURPCB),%rcx movq %rax,PCB_ONFAULT(%rcx) @@ -516,9 +518,9 @@ cmpq %rax,%rdi /* verify address validity */ ja fusufault - stac /* open user-space */ + _stac /* open user-space */ movl %esi,(%rdi) - clac /* close user-space */ + _clac /* close user-space */ xorl %eax,%eax movq PCPU(CURPCB),%rcx movq %rax,PCB_ONFAULT(%rcx) @@ -533,9 +535,9 @@ cmpq %rax,%rdi /* verify address validity */ ja fusufault - stac /* open user-space */ + _stac /* open user-space */ movw %si,(%rdi) - clac /* close user-space */ + _clac /* close user-space */ xorl %eax,%eax movq PCPU(CURPCB),%rcx /* restore trashed register */ movq %rax,PCB_ONFAULT(%rcx) @@ -551,9 +553,9 @@ ja fusufault movl %esi,%eax - stac /* open user-space */ + _stac /* open user-space */ movb %al,(%rdi) - clac /* close user-space */ + _clac /* close user-space */ xorl %eax,%eax movq PCPU(CURPCB),%rcx /* restore trashed register */ movq %rax,PCB_ONFAULT(%rcx) @@ -595,9 +597,9 @@ decq %rdx jz 3f - stac /* open user-space */ + _stac /* open user-space */ lodsb - clac /* close user-space */ + _clac /* close user-space */ stosb orb %al,%al jnz 2b @@ -626,9 +628,9 @@ testq %r9,%r9 jz 1f subq %rdx,%r8 - stac /* open user-space */ + _stac /* open user-space */ movq %r8,(%r9) - clac /* close user-space */ + _clac /* close user-space */ 1: ret END(copyinstr)