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