root/arch/s390/kernel/vdso/getcpu.c
// SPDX-License-Identifier: GPL-2.0
/* Copyright IBM Corp. 2020 */

#include <linux/compiler.h>
#include <asm/timex.h>
#include "vdso.h"

int __s390_vdso_getcpu(unsigned *cpu, unsigned *node, void *unused)
{
        union tod_clock clk;

        /* CPU number is stored in the programmable field of the TOD clock */
        store_tod_clock_ext(&clk);
        if (cpu)
                *cpu = clk.pf;
        /* NUMA node is always zero */
        if (node)
                *node = 0;
        return 0;
}