From patchwork Thu Mar 20 15:46:05 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Campbell X-Patchwork-Id: 26729 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-qa0-f72.google.com (mail-qa0-f72.google.com [209.85.216.72]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 869DE20143 for ; Thu, 20 Mar 2014 15:50:10 +0000 (UTC) Received: by mail-qa0-f72.google.com with SMTP id f11sf2181702qae.3 for ; Thu, 20 Mar 2014 08:50:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:delivered-to:from:to:date:message-id:in-reply-to :references:mime-version:cc:subject:precedence:list-id :list-unsubscribe:list-post:list-help:list-subscribe:sender :errors-to:x-original-sender:x-original-authentication-results :mailing-list:list-archive:content-type:content-transfer-encoding; bh=o1KxMfD1yyDa5uoEnxis8jvbVYDu5JydqJfn9W00LUQ=; b=Q/iDwLgEsbH4JIajfzBptKnIYBI+lghS2pZEOBvwPrRVfPA/bfZvjku/52039lfB4Y 9Yqz6qu+nTvyGlezRAMrZ+nTXmo1gFQuOpzCGd2JNw9Ndbe/AI+Y1PsUBwH/eZFZR8Hb h7QR2OvhPz3i3po/HJifFNL/1i+U7dVjKfUmYS1ctXVyEhSc1I65St6JZ/jAO1u/3cOa syusbT/QhOBBaN0F8H6KljuV3ouyiGD+fV6cQedFb3byK7uE/xag1ApIEJHLKwlZCSKa yTmY3eV9G89D9bLS+O6BYJwQZBpRPH+0qyWNd6RLiTxcG5Uf4TDsvrsM42Awt4X5142v gq7g== X-Gm-Message-State: ALoCoQnD36LZa93ya7QPAfaNAOFa2XMV4TkW3cCdzTDAn4M0jKX6WKVcdWZ/I2H/HJe3Ll6GwAEa X-Received: by 10.59.10.40 with SMTP id dx8mr8289092ved.26.1395330610318; Thu, 20 Mar 2014 08:50:10 -0700 (PDT) X-BeenThere: patchwork-forward@linaro.org Received: by 10.140.42.138 with SMTP id c10ls273139qga.63.gmail; Thu, 20 Mar 2014 08:50:10 -0700 (PDT) X-Received: by 10.58.34.67 with SMTP id x3mr4285529vei.37.1395330610207; Thu, 20 Mar 2014 08:50:10 -0700 (PDT) Received: from mail-vc0-f171.google.com (mail-vc0-f171.google.com [209.85.220.171]) by mx.google.com with ESMTPS id iz10si511970vec.114.2014.03.20.08.50.10 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 20 Mar 2014 08:50:10 -0700 (PDT) Received-SPF: neutral (google.com: 209.85.220.171 is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) client-ip=209.85.220.171; Received: by mail-vc0-f171.google.com with SMTP id lg15so1171811vcb.2 for ; Thu, 20 Mar 2014 08:50:10 -0700 (PDT) X-Received: by 10.52.126.107 with SMTP id mx11mr3589599vdb.41.1395330610109; Thu, 20 Mar 2014 08:50:10 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.220.78.9 with SMTP id i9csp398728vck; Thu, 20 Mar 2014 08:50:09 -0700 (PDT) X-Received: by 10.140.21.164 with SMTP id 33mr40605295qgl.78.1395330609500; Thu, 20 Mar 2014 08:50:09 -0700 (PDT) Received: from lists.xen.org (lists.xen.org. [50.57.142.19]) by mx.google.com with ESMTPS id 4si946197qat.48.2014.03.20.08.50.08 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Thu, 20 Mar 2014 08:50:09 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of xen-devel-bounces@lists.xen.org designates 50.57.142.19 as permitted sender) client-ip=50.57.142.19; Received: from localhost ([127.0.0.1] helo=lists.xen.org) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1WQfCI-00056m-N0; Thu, 20 Mar 2014 15:47:58 +0000 Received: from mail6.bemta4.messagelabs.com ([85.158.143.247]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1WQfCH-00054u-46 for xen-devel@lists.xen.org; Thu, 20 Mar 2014 15:47:57 +0000 Received: from [85.158.143.35:26018] by server-1.bemta-4.messagelabs.com id E3/11-09853-CAD0B235; Thu, 20 Mar 2014 15:47:56 +0000 X-Env-Sender: Ian.Campbell@citrix.com X-Msg-Ref: server-13.tower-21.messagelabs.com!1395330468!3571371!2 X-Originating-IP: [66.165.176.63] X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAzMDYwNDg=\n X-StarScan-Received: X-StarScan-Version: 6.11.1; banners=-,-,- X-VirusChecked: Checked Received: (qmail 8683 invoked from network); 20 Mar 2014 15:47:55 -0000 Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63) by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP; 20 Mar 2014 15:47:55 -0000 X-IronPort-AV: E=Sophos;i="4.97,695,1389744000"; d="scan'208";a="111935949" Received: from accessns.citrite.net (HELO FTLPEX01CL02.citrite.net) ([10.9.154.239]) by FTLPIPO02.CITRIX.COM with ESMTP; 20 Mar 2014 15:47:55 +0000 Received: from norwich.cam.xci-test.com (10.80.248.129) by smtprelay.citrix.com (10.13.107.79) with Microsoft SMTP Server id 14.2.342.4; Thu, 20 Mar 2014 11:47:54 -0400 Received: from drall.uk.xensource.com ([10.80.16.71] helo=drall.uk.xensource.com.) by norwich.cam.xci-test.com with esmtp (Exim 4.72) (envelope-from ) id 1WQfAV-0006O2-6n; Thu, 20 Mar 2014 15:46:07 +0000 From: Ian Campbell To: Date: Thu, 20 Mar 2014 15:46:05 +0000 Message-ID: <1395330365-9901-17-git-send-email-ian.campbell@citrix.com> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1395330336.3104.12.camel@kazak.uk.xensource.com> References: <1395330336.3104.12.camel@kazak.uk.xensource.com> MIME-Version: 1.0 X-DLP: MIA1 Cc: julien.grall@linaro.org, tim@xen.org, Ian Campbell , stefano.stabellini@eu.citrix.com Subject: [Xen-devel] [PATCH 17/17] xen: arm: document what low level primitives we have imported from Linux X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Post: , List-Help: , List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: ian.campbell@citrix.com X-Original-Authentication-Results: mx.google.com; spf=neutral (google.com: 209.85.220.171 is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 List-Archive: As part of the recent update I had to reverse engineer what we had, which was very tedious. Check in my notes so that I have a reference for next time. Now the secret is to remember to update this file every time! Signed-off-by: Ian Campbell --- xen/arch/arm/README.LinuxPrimitives | 159 +++++++++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 xen/arch/arm/README.LinuxPrimitives diff --git a/xen/arch/arm/README.LinuxPrimitives b/xen/arch/arm/README.LinuxPrimitives new file mode 100644 index 0000000..5656c11 --- /dev/null +++ b/xen/arch/arm/README.LinuxPrimitives @@ -0,0 +1,159 @@ +Xen on ARM uses various low level assembly primitives from the Linux +kernel. This file tracks what files have been imported and when they +were last updated. + +===================================================================== +arm64: +===================================================================== + +bitops: last sync @ v3.14-rc7 (last commit: 8e86f0b) + +linux/arch/arm64/lib/bitops.S xen/arch/arm/arm64/lib/bitops.S +linux/arch/arm64/include/asm/bitops.h xen/include/asm-arm/arm64/bitops.h + +--------------------------------------------------------------------- + +cmpxchg: last sync @ v3.14-rc7 (last commit: 95c4189) + +linux/arch/arm64/include/asm/cmpxchg.h xen/include/asm-arm/arm64/cmpxchg.h + +Skipped: + 60010e5 arm64: cmpxchg: update macros to prevent warnings + +--------------------------------------------------------------------- + +atomics: last sync @ v3.14-rc7 (last commit: 95c4189) + +linux/arch/arm64/include/asm/atomic.h xen/include/asm-arm/arm64/atomic.h + +--------------------------------------------------------------------- + +spinlocks: last sync @ v3.14-rc7 (last commit: 95c4189) + +linux/arch/arm64/include/asm/spinlock.h xen/include/asm-arm/arm64/spinlock.h + +Skipped: + 5686b06 arm64: lockref: add support for lockless lockrefs using cmpxchg + 52ea2a5 arm64: locks: introduce ticket-based spinlock implementation + +--------------------------------------------------------------------- + +mem*: last sync @ v3.14-rc7 (last commit: 4a89922) + +linux/arch/arm64/lib/memchr.S xen/arch/arm/arm64/lib/memchr.S +linux/arch/arm64/lib/memcpy.S xen/arch/arm/arm64/lib/memcpy.S +linux/arch/arm64/lib/memmove.S xen/arch/arm/arm64/lib/memmove.S +linux/arch/arm64/lib/memset.S xen/arch/arm/arm64/lib/memset.S + +for i in memchr.S memcpy.S memmove.S memset.S ; do + diff -u linux/arch/arm64/lib/$i xen/arch/arm/arm64/lib/$i +done + +--------------------------------------------------------------------- + +str*: last sync @ v3.14-rc7 (last commit: 2b8cac8) + +linux/arch/arm/lib/strchr.S xen/arch/arm/arm64/lib/strchr.S +linux/arch/arm/lib/strrchr.S xen/arch/arm/arm64/lib/strrchr.S + +--------------------------------------------------------------------- + +{clear,copy}_page: last sync @ v3.14-rc7 (last commit: f27bb13) + +linux/arch/arm64/lib/clear_page.S unused in Xen +linux/arch/arm64/lib/copy_page.S xen/arch/arm/arm64/lib/copy_page.S + +===================================================================== +arm32 +===================================================================== + +bitops: last sync @ v3.14-rc7 (last commit: b7ec699) + + xen/arch/arm/arm32/lib/assembler.h +linux/arch/arm/lib/bitops.h xen/arch/arm/arm32/lib/bitops.h +linux/arch/arm/lib/changebit.S xen/arch/arm/arm32/lib/changebit.S +linux/arch/arm/lib/clearbit.S xen/arch/arm/arm32/lib/clearbit.S +linux/arch/arm/lib/findbit.S xen/arch/arm/arm32/lib/findbit.S +linux/arch/arm/lib/setbit.S xen/arch/arm/arm32/lib/setbit.S +linux/arch/arm/lib/testchangebit.S xen/arch/arm/arm32/lib/testchangebit.S +linux/arch/arm/lib/testclearbit.S xen/arch/arm/arm32/lib/testclearbit.S +linux/arch/arm/lib/testsetbit.S xen/arch/arm/arm32/lib/testsetbit.S + +for i in assembler.h bitops.h changebit.S clearbit.S findbit.S \ + setbit.S testchangebit.S testclearbit.S testsetbit.S; do + diff -u ../linux/arch/arm/lib/$i xen/arch/arm/arm32/lib/$i; +done + +--------------------------------------------------------------------- + +cmpxchg: last sync @ v3.14-rc7 (last commit: 775ebcc) + +linux/arch/arm/include/asm/cmpxchg.h xen/include/asm-arm/arm32/cmpxchg.h + +--------------------------------------------------------------------- + +atomics: last sync @ v3.14-rc7 (last commit: aed3a4e) + +linux/arch/arm/include/asm/atomic.h xen/include/asm-arm/arm32/atomic.h + +--------------------------------------------------------------------- + +spinlocks: last sync: 15e7e5c1ebf5 + +linux/arch/arm/include/asm/spinlock.h xen/include/asm-arm/arm32/spinlock.h + +resync to v3.14-rc7: + + 7c8746a ARM: 7955/1: spinlock: ensure we have a compiler barrier before sev + 0cbad9c ARM: 7854/1: lockref: add support for lockless lockrefs using cmpxchg64 + 9bb17be ARM: locks: prefetch the destination word for write prior to strex + 27a8479 ARM: smp_on_up: move inline asm ALT_SMP patching macro out of spinlock. + 00efaa0 ARM: 7812/1: rwlocks: retry trylock operation if strex fails on free lo + afa31d8 ARM: 7811/1: locks: use early clobber in arch_spin_trylock + 73a6fdc ARM: spinlock: use inner-shareable dsb variant prior to sev instruction + +--------------------------------------------------------------------- + +mem*: last sync @ v3.14-rc7 (last commit: 418df63a) + +linux/arch/arm/lib/copy_template.S xen/arch/arm/arm32/lib/copy_template.S +linux/arch/arm/lib/memchr.S xen/arch/arm/arm32/lib/memchr.S +linux/arch/arm/lib/memcpy.S xen/arch/arm/arm32/lib/memcpy.S +linux/arch/arm/lib/memmove.S xen/arch/arm/arm32/lib/memmove.S +linux/arch/arm/lib/memset.S xen/arch/arm/arm32/lib/memset.S +linux/arch/arm/lib/memzero.S xen/arch/arm/arm32/lib/memzero.S + +linux/arch/arm/lib/strchr.S xen/arch/arm/arm32/lib/strchr.S +linux/arch/arm/lib/strrchr.S xen/arch/arm/arm32/lib/strrchr.S + +for i in copy_template.S memchr.S memcpy.S memmove.S memset.S \ + memzero.S ; do + diff -u linux/arch/arm/lib/$i xen/arch/arm/arm32/lib/$i +done + +--------------------------------------------------------------------- + +str*: last sync @ v3.13-rc7 (last commit: 93ed397) + +linux/arch/arm/lib/strchr.S xen/arch/arm/arm32/lib/strchr.S +linux/arch/arm/lib/strrchr.S xen/arch/arm/arm32/lib/strrchr.S + +--------------------------------------------------------------------- + +{clear,copy}_page: last sync: Never + +linux/arch/arm/lib/copy_page.S unused in Xen + +clear_page == memset + +--------------------------------------------------------------------- + +libgcc: last sync @ v3.14-rc7 (last commit: 01885bc) + +linux/arch/arm/lib/lib1funcs.S xen/arch/arm/arm32/lib/lib1funcs.S +linux/arch/arm/lib/lshrdi3.S xen/arch/arm/arm32/lib/lshrdi3.S +linux/arch/arm/lib/div64.S xen/arch/arm/arm32/lib/div64.S + +for i in lib1funcs.S lshrdi3.S div64.S ; do + diff -u linux/arch/arm/lib/$i xen/arch/arm/arm32/lib/$i +done