1/* SPDX-License-Identifier: GPL-2.0-or-later */ 2/* 3 * 4 * Copyright (C) IBM Corporation, 2012 5 * 6 * Author: Anton Blanchard <anton@au.ibm.com> 7 */ 8#include <asm/ppc_asm.h> 9#include <asm/vdso.h> 10 11 .text 12/* 13 * Exact prototype of getcpu 14 * 15 * int __kernel_getcpu(unsigned *cpu, unsigned *node); 16 * 17 */ 18V_FUNCTION_BEGIN(__kernel_getcpu) 19 .cfi_startproc 20 mfspr r5,SPRN_SPRG_VDSO_READ 21 cmpdi cr0,r3,0 22 cmpdi cr1,r4,0 23 clrlwi r6,r5,16 24 rlwinm r7,r5,16,31-15,31-0 25 beq cr0,1f 26 stw r6,0(r3) 271: beq cr1,2f 28 stw r7,0(r4) 292: crclr cr0*4+so 30 li r3,0 /* always success */ 31 blr 32 .cfi_endproc 33V_FUNCTION_END(__kernel_getcpu) 34