]> git.proxmox.com Git - mirror_qemu.git/blame - util/cpuinfo-loongarch.c
accel/tcg: Rename tcg_ss[] -> tcg_specific_ss[] in meson
[mirror_qemu.git] / util / cpuinfo-loongarch.c
CommitLineData
0885f122
RH
1/*
2 * SPDX-License-Identifier: GPL-2.0-or-later
3 * Host specific cpu identification for LoongArch.
4 */
5
6#include "qemu/osdep.h"
7#include "host/cpuinfo.h"
8
9#ifdef CONFIG_GETAUXVAL
10# include <sys/auxv.h>
11#else
12# include "elf.h"
13#endif
14#include <asm/hwcap.h>
15
16unsigned cpuinfo;
17
18/* Called both as constructor and (possibly) via other constructors. */
19unsigned __attribute__((constructor)) cpuinfo_init(void)
20{
21 unsigned info = cpuinfo;
22 unsigned long hwcap;
23
24 if (info) {
25 return info;
26 }
27
28 hwcap = qemu_getauxval(AT_HWCAP);
29
30 info = CPUINFO_ALWAYS;
31 info |= (hwcap & HWCAP_LOONGARCH_LSX ? CPUINFO_LSX : 0);
32
33 cpuinfo = info;
34 return info;
35}