From patchwork Wed Mar 26 13:38:52 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Campbell X-Patchwork-Id: 27133 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-yk0-f199.google.com (mail-yk0-f199.google.com [209.85.160.199]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 0D73A20062 for ; Wed, 26 Mar 2014 13:44:51 +0000 (UTC) Received: by mail-yk0-f199.google.com with SMTP id 200sf1466679ykr.2 for ; Wed, 26 Mar 2014 06:44:51 -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=jIj3Ju4QSeyKiH6/jFheImr1JMsvHwBlWjNPzu2rPE8=; b=lmyWrnlUHSHoij9Rq8asZ461VcnxwleCkUS3wRJLvn0kRo31gTGb2PrlyPrWlhHZ3o 1NAPDOzQVIBYsp/EhBUxzKaarNztU/kANw93eR/6zgaOWpPkao+QLdgnUaa34qohQCsV VQGRXiO7jYFJWpO4thrLK3u9X3fQfpmYu2CpN29UMLrnDxHhX7W+NXczmp24t4WJkjgM hmjzW/QpaAzygxWn0oE+guZ2j7ig/lhIGnjj4ccpNzTDBkeBwcQ7bdd0YiNJ8PO3w3VO beyZQ9Ov2GOLiR8/KPlDIjzPdjyJptPNXjXgYm76AzGiVjkcFKlcepeYV/jpbWgXEAM0 KSgA== X-Gm-Message-State: ALoCoQknzabiQyc1vjx5zrqmW9HyGWRiJfWsrW8wfQyF1PmkyC+PzLGJcGvQsJyeKSM0xYkF76fy X-Received: by 10.58.151.212 with SMTP id us20mr20329015veb.14.1395841491795; Wed, 26 Mar 2014 06:44:51 -0700 (PDT) X-BeenThere: patchwork-forward@linaro.org Received: by 10.140.91.131 with SMTP id z3ls641578qgd.59.gmail; Wed, 26 Mar 2014 06:44:51 -0700 (PDT) X-Received: by 10.52.130.225 with SMTP id oh1mr17031664vdb.8.1395841491705; Wed, 26 Mar 2014 06:44:51 -0700 (PDT) Received: from mail-ve0-f173.google.com (mail-ve0-f173.google.com [209.85.128.173]) by mx.google.com with ESMTPS id sk2si4459491vcb.198.2014.03.26.06.44.51 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 26 Mar 2014 06:44:51 -0700 (PDT) Received-SPF: neutral (google.com: 209.85.128.173 is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) client-ip=209.85.128.173; Received: by mail-ve0-f173.google.com with SMTP id oy12so2344435veb.32 for ; Wed, 26 Mar 2014 06:44:51 -0700 (PDT) X-Received: by 10.221.37.200 with SMTP id tf8mr86451vcb.54.1395841491629; Wed, 26 Mar 2014 06:44:51 -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 i9csp47441vck; Wed, 26 Mar 2014 06:44:51 -0700 (PDT) X-Received: by 10.140.81.198 with SMTP id f64mr84162447qgd.38.1395841491083; Wed, 26 Mar 2014 06:44:51 -0700 (PDT) Received: from lists.xen.org (lists.xen.org. [50.57.142.19]) by mx.google.com with ESMTPS id d93si9050544qgd.61.2014.03.26.06.44.50 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Wed, 26 Mar 2014 06:44:51 -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 1WSo6c-0006BV-7m; Wed, 26 Mar 2014 13:42:58 +0000 Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1WSo6Z-0006B6-RW for xen-devel@lists.xen.org; Wed, 26 Mar 2014 13:42:56 +0000 Received: from [193.109.254.147:49901] by server-10.bemta-14.messagelabs.com id 38/3B-04546-F59D2335; Wed, 26 Mar 2014 13:42:55 +0000 X-Env-Sender: Ian.Campbell@citrix.com X-Msg-Ref: server-11.tower-27.messagelabs.com!1395841373!4263562!1 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 28014 invoked from network); 26 Mar 2014 13:42:54 -0000 Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63) by server-11.tower-27.messagelabs.com with RC4-SHA encrypted SMTP; 26 Mar 2014 13:42:54 -0000 X-IronPort-AV: E=Sophos;i="4.97,735,1389744000"; d="scan'208";a="113734771" Received: from accessns.citrite.net (HELO FTLPEX01CL01.citrite.net) ([10.9.154.239]) by FTLPIPO02.CITRIX.COM with ESMTP; 26 Mar 2014 13:42:52 +0000 Received: from norwich.cam.xci-test.com (10.80.248.129) by smtprelay.citrix.com (10.13.107.78) with Microsoft SMTP Server id 14.2.342.4; Wed, 26 Mar 2014 09:42:52 -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 1WSo2g-00074X-Ca; Wed, 26 Mar 2014 13:38:54 +0000 From: Ian Campbell To: Date: Wed, 26 Mar 2014 13:38:52 +0000 Message-ID: <1395841133-2223-17-git-send-email-ian.campbell@citrix.com> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1395841009.12547.11.camel@kazak.uk.xensource.com> References: <1395841009.12547.11.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 v2 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.128.173 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 Acked-by: Julien Grall --- v2: Don't mention assembler.h, it is part of Xen not imported from Linux --- xen/arch/arm/README.LinuxPrimitives | 158 +++++++++++++++++++++++++++++++++++ 1 file changed, 158 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..6cd03ca --- /dev/null +++ b/xen/arch/arm/README.LinuxPrimitives @@ -0,0 +1,158 @@ +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) + +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 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