summaryrefslogtreecommitdiff
path: root/tools/testing/selftests/x86/clang_helpers_64.S
blob: 185a69dbf39cced1dea6f70109f73541b7b1b904 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * 64-bit assembly helpers for asm operations that lack support in both gcc and
 * clang. For example, clang asm does not support segment prefixes.
 */
.global dereference_seg_base

dereference_seg_base:
	mov %gs:(0), %rax
	ret

.global test_page
.global test_syscall_insn

.pushsection ".text", "ax"
.balign 4096
test_page: .globl test_page
	.fill 4094,1,0xcc

test_syscall_insn:
	syscall

.ifne . - test_page - 4096
	.error "test page is not one page long"
.endif
.popsection

.section .note.GNU-stack,"",%progbits