1Xen on ARM uses various low level assembly primitives from the Linux 2kernel. This file tracks what files have been imported and when they 3were last updated. 4 5===================================================================== 6arm64: 7===================================================================== 8 9bitops: last sync @ v3.16-rc6 (last commit: 8715466b6027) 10 11linux/arch/arm64/include/asm/bitops.h xen/arch/arm/include/asm/arm64/bitops.h 12 13--------------------------------------------------------------------- 14 15cmpxchg: last sync @ v3.16-rc6 (last commit: e1dfda9ced9b) 16 17linux/arch/arm64/include/asm/cmpxchg.h xen/arch/arm/include/asm/arm64/cmpxchg.h 18 19--------------------------------------------------------------------- 20 21atomics: last sync @ v3.16-rc6 (last commit: 8715466b6027) 22 23linux/arch/arm64/include/asm/atomic.h xen/arch/arm/include/asm/arm64/atomic.h 24 25The following functions were taken from Linux: 26 atomic_add(), atomic_add_return(), atomic_sub(), atomic_sub_return(), 27 atomic_cmpxchg(), __atomic_add_unless() 28 29--------------------------------------------------------------------- 30 31mem*: last sync @ v3.16-rc6 (last commit: d875c9b37240) 32 33linux/arch/arm64/lib/memchr.S xen/arch/arm/arm64/lib/memchr.S 34linux/arch/arm64/lib/memcmp.S xen/arch/arm/arm64/lib/memcmp.S 35linux/arch/arm64/lib/memcpy.S xen/arch/arm/arm64/lib/memcpy.S 36linux/arch/arm64/lib/memmove.S xen/arch/arm/arm64/lib/memmove.S 37linux/arch/arm64/lib/memset.S xen/arch/arm/arm64/lib/memset.S 38 39for i in memchr.S memcmp.S memcpy.S memmove.S memset.S ; do 40 diff -u linux/arch/arm64/lib/$i xen/arch/arm/arm64/lib/$i 41done 42 43--------------------------------------------------------------------- 44 45str*: last sync @ v3.16-rc6 (last commit: 0a42cb0a6fa6) 46 47linux/arch/arm64/lib/strchr.S xen/arch/arm/arm64/lib/strchr.S 48linux/arch/arm64/lib/strcmp.S xen/arch/arm/arm64/lib/strcmp.S 49linux/arch/arm64/lib/strlen.S xen/arch/arm/arm64/lib/strlen.S 50linux/arch/arm64/lib/strncmp.S xen/arch/arm/arm64/lib/strncmp.S 51linux/arch/arm64/lib/strnlen.S xen/arch/arm/arm64/lib/strnlen.S 52linux/arch/arm64/lib/strrchr.S xen/arch/arm/arm64/lib/strrchr.S 53 54for i in strchr.S strcmp.S strlen.S strncmp.S strnlen.S strrchr.S ; do 55 diff -u linux/arch/arm64/lib/$i xen/arch/arm/arm64/lib/$i 56done 57 58--------------------------------------------------------------------- 59 60{clear,copy}_page: last sync @ v3.16-rc6 (last commit: f27bb139c387) 61 62linux/arch/arm64/lib/clear_page.S xen/arch/arm/arm64/lib/clear_page.S 63linux/arch/arm64/lib/copy_page.S unused in Xen 64 65--------------------------------------------------------------------- 66 67SVE assembly macro: last sync @ v6.3.0 (last commit: 457391b03803) 68 69linux/arch/arm64/include/asm/fpsimdmacros.h xen/arch/arm/include/asm/arm64/sve-asm.S 70 71The following macros were taken from Linux: 72 _check_general_reg, _check_num, _sve_rdvl, __for, _for, _sve_check_zreg, 73 _sve_check_preg, _sve_str_v, _sve_ldr_v, _sve_str_p, _sve_ldr_p, _sve_rdffr, 74 _sve_wrffr 75 76===================================================================== 77arm32 78===================================================================== 79 80bitops: last sync @ v3.16-rc6 (last commit: c32ffce0f66e) 81 82linux/arch/arm/lib/findbit.S xen/arch/arm/arm32/lib/findbit.S 83 84diff -u ../linux/arch/arm/lib/findbit.S xen/arch/arm/arm32/lib/findbit.S 85 86--------------------------------------------------------------------- 87 88cmpxchg: last sync @ v3.16-rc6 (last commit: c32ffce0f66e) 89 90linux/arch/arm/include/asm/cmpxchg.h xen/arch/arm/include/asm/arm32/cmpxchg.h 91 92--------------------------------------------------------------------- 93 94atomics: last sync @ v3.16-rc6 (last commit: 030d0178bdbd) 95 96linux/arch/arm/include/asm/atomic.h xen/arch/arm/include/asm/arm32/atomic.h 97 98The following functions were taken from Linux: 99 atomic_add(), atomic_add_return(), atomic_sub(), atomic_sub_return(), 100 atomic_cmpxchg(), __atomic_add_unless() 101 102--------------------------------------------------------------------- 103 104mem*: last sync @ v3.16-rc6 (last commit: d98b90ea22b0) 105 106linux/arch/arm/lib/copy_template.S xen/arch/arm/arm32/lib/copy_template.S 107linux/arch/arm/lib/memchr.S xen/arch/arm/arm32/lib/memchr.S 108linux/arch/arm/lib/memcpy.S xen/arch/arm/arm32/lib/memcpy.S 109linux/arch/arm/lib/memmove.S xen/arch/arm/arm32/lib/memmove.S 110linux/arch/arm/lib/memset.S xen/arch/arm/arm32/lib/memset.S 111linux/arch/arm/lib/memzero.S xen/arch/arm/arm32/lib/memzero.S 112 113for i in copy_template.S memchr.S memcpy.S memmove.S memset.S \ 114 memzero.S ; do 115 diff -u linux/arch/arm/lib/$i xen/arch/arm/arm32/lib/$i 116done 117 118--------------------------------------------------------------------- 119 120str*: last sync @ v3.16-rc6 (last commit: d98b90ea22b0) 121 122linux/arch/arm/lib/strchr.S xen/arch/arm/arm32/lib/strchr.S 123linux/arch/arm/lib/strrchr.S xen/arch/arm/arm32/lib/strrchr.S 124 125--------------------------------------------------------------------- 126 127{clear,copy}_page: last sync: Never 128 129linux/arch/arm/lib/copy_page.S unused in Xen 130 131clear_page == memset 132 133--------------------------------------------------------------------- 134 135libgcc: last sync @ v3.16-rc6 (last commit: 01885bc) 136 137linux/arch/arm/lib/lib1funcs.S xen/arch/arm/arm32/lib/lib1funcs.S 138linux/arch/arm/lib/lshrdi3.S xen/arch/arm/arm32/lib/lshrdi3.S 139linux/arch/arm/lib/div64.S xen/arch/arm/arm32/lib/div64.S 140 141for i in lib1funcs.S lshrdi3.S div64.S ; do 142 diff -u linux/arch/arm/lib/$i xen/arch/arm/arm32/lib/$i 143done 144