26 lines
724 B
C
26 lines
724 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
#ifndef SELFTEST_RISCV_HWPROBE_H
|
|
#define SELFTEST_RISCV_HWPROBE_H
|
|
#include <stddef.h>
|
|
#include <asm/hwprobe.h>
|
|
|
|
#if __BYTE_ORDER == __BIG_ENDIAN
|
|
# define le32_bswap(_x) \
|
|
((((_x) & 0x000000ffU) << 24) | \
|
|
(((_x) & 0x0000ff00U) << 8) | \
|
|
(((_x) & 0x00ff0000U) >> 8) | \
|
|
(((_x) & 0xff000000U) >> 24))
|
|
#else
|
|
# define le32_bswap(_x) (_x)
|
|
#endif
|
|
|
|
/*
|
|
* Rather than relying on having a new enough libc to define this, just do it
|
|
* ourselves. This way we don't need to be coupled to a new-enough libc to
|
|
* contain the call.
|
|
*/
|
|
long riscv_hwprobe(struct riscv_hwprobe *pairs, size_t pair_count,
|
|
size_t cpusetsize, unsigned long *cpus, unsigned int flags);
|
|
|
|
#endif
|