cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

reloc_test_syms.S (1582B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * Copyright (C) 2017 Linaro, Ltd. <ard.biesheuvel@linaro.org>
      4 */
      5
      6#include <linux/linkage.h>
      7
      8SYM_FUNC_START(absolute_data64)
      9	ldr	x0, 0f
     10	ret
     110:	.quad	sym64_abs
     12SYM_FUNC_END(absolute_data64)
     13
     14SYM_FUNC_START(absolute_data32)
     15	ldr	w0, 0f
     16	ret
     170:	.long	sym32_abs
     18SYM_FUNC_END(absolute_data32)
     19
     20SYM_FUNC_START(absolute_data16)
     21	adr	x0, 0f
     22	ldrh	w0, [x0]
     23	ret
     240:	.short	sym16_abs, 0
     25SYM_FUNC_END(absolute_data16)
     26
     27SYM_FUNC_START(signed_movw)
     28	movz	x0, #:abs_g2_s:sym64_abs
     29	movk	x0, #:abs_g1_nc:sym64_abs
     30	movk	x0, #:abs_g0_nc:sym64_abs
     31	ret
     32SYM_FUNC_END(signed_movw)
     33
     34SYM_FUNC_START(unsigned_movw)
     35	movz	x0, #:abs_g3:sym64_abs
     36	movk	x0, #:abs_g2_nc:sym64_abs
     37	movk	x0, #:abs_g1_nc:sym64_abs
     38	movk	x0, #:abs_g0_nc:sym64_abs
     39	ret
     40SYM_FUNC_END(unsigned_movw)
     41
     42	.align	12
     43	.space	0xff8
     44SYM_FUNC_START(relative_adrp)
     45	adrp	x0, sym64_rel
     46	add	x0, x0, #:lo12:sym64_rel
     47	ret
     48SYM_FUNC_END(relative_adrp)
     49
     50	.align	12
     51	.space	0xffc
     52SYM_FUNC_START(relative_adrp_far)
     53	adrp	x0, memstart_addr
     54	add	x0, x0, #:lo12:memstart_addr
     55	ret
     56SYM_FUNC_END(relative_adrp_far)
     57
     58SYM_FUNC_START(relative_adr)
     59	adr	x0, sym64_rel
     60	ret
     61SYM_FUNC_END(relative_adr)
     62
     63SYM_FUNC_START(relative_data64)
     64	adr	x1, 0f
     65	ldr	x0, [x1]
     66	add	x0, x0, x1
     67	ret
     680:	.quad	sym64_rel - .
     69SYM_FUNC_END(relative_data64)
     70
     71SYM_FUNC_START(relative_data32)
     72	adr	x1, 0f
     73	ldr	w0, [x1]
     74	add	x0, x0, x1
     75	ret
     760:	.long	sym64_rel - .
     77SYM_FUNC_END(relative_data32)
     78
     79SYM_FUNC_START(relative_data16)
     80	adr	x1, 0f
     81	ldrsh	w0, [x1]
     82	add	x0, x0, x1
     83	ret
     840:	.short	sym64_rel - ., 0
     85SYM_FUNC_END(relative_data16)