Linux Audio

Check our new training course

Loading...
v4.17
 1/* SPDX-License-Identifier: GPL-2.0 */
 2/*
 3 * Userland implementation of getcpu() for 32 bits processes in a
 4 * s390 kernel for use in the vDSO
 5 *
 6 *  Copyright IBM Corp. 2016
 7 *  Author(s): Martin Schwidefsky <schwidefsky@de.ibm.com>
 8 */
 9#include <asm/vdso.h>
10#include <asm/asm-offsets.h>
11#include <asm/dwarf.h>
12
13	.text
14	.align 4
15	.globl __kernel_getcpu
16	.type  __kernel_getcpu,@function
17__kernel_getcpu:
18	CFI_STARTPROC
 
 
 
 
19	la	%r4,0
20	sacf	256
 
21	l	%r5,__VDSO_CPU_NR(%r4)
22	l	%r4,__VDSO_NODE_ID(%r4)
23	sacf	0
 
 
 
 
 
 
 
24	ltr	%r2,%r2
25	jz	2f
26	st	%r5,0(%r2)
272:	ltr	%r3,%r3
28	jz	3f
29	st	%r4,0(%r3)
303:	lhi	%r2,0
31	br	%r14
32	CFI_ENDPROC
33	.size	__kernel_getcpu,.-__kernel_getcpu
v4.10.11
 
 1/*
 2 * Userland implementation of getcpu() for 32 bits processes in a
 3 * s390 kernel for use in the vDSO
 4 *
 5 *  Copyright IBM Corp. 2016
 6 *  Author(s): Martin Schwidefsky <schwidefsky@de.ibm.com>
 7 */
 8#include <asm/vdso.h>
 9#include <asm/asm-offsets.h>
 
10
11	.text
12	.align 4
13	.globl __kernel_getcpu
14	.type  __kernel_getcpu,@function
15__kernel_getcpu:
16	.cfi_startproc
17	ear	%r1,%a4
18	lhi	%r4,1
19	sll	%r4,24
20	sar	%a4,%r4
21	la	%r4,0
22	epsw	%r0,0
23	sacf	512
24	l	%r5,__VDSO_CPU_NR(%r4)
25	l	%r4,__VDSO_NODE_ID(%r4)
26	tml	%r0,0x4000
27	jo	1f
28	tml	%r0,0x8000
29	jno	0f
30	sacf	256
31	j	1f
320:	sacf	0
331:	sar	%a4,%r1
34	ltr	%r2,%r2
35	jz	2f
36	st	%r5,0(%r2)
372:	ltr	%r3,%r3
38	jz	3f
39	st	%r4,0(%r3)
403:	lhi	%r2,0
41	br	%r14
42	.cfi_endproc
43	.size	__kernel_getcpu,.-__kernel_getcpu