vdso: Introduce vdso/cache.h
The vDSO implementation can only include headers from the vdso/ namespace. To enable the usage of ____cacheline_aligned from the vDSO, move it and its dependencies into a new header vdso/cache.h. Keep compatibility by including vdso/cache.h from linux/cache.h. Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/all/20250303-vdso-clock-v1-1-c1b5c69a166f@linutronix.de
This commit is contained in:
parent
8770a9183f
commit
0704bf4396
|
@ -3,16 +3,13 @@
|
|||
#define __LINUX_CACHE_H
|
||||
|
||||
#include <uapi/linux/kernel.h>
|
||||
#include <vdso/cache.h>
|
||||
#include <asm/cache.h>
|
||||
|
||||
#ifndef L1_CACHE_ALIGN
|
||||
#define L1_CACHE_ALIGN(x) __ALIGN_KERNEL(x, L1_CACHE_BYTES)
|
||||
#endif
|
||||
|
||||
#ifndef SMP_CACHE_BYTES
|
||||
#define SMP_CACHE_BYTES L1_CACHE_BYTES
|
||||
#endif
|
||||
|
||||
/**
|
||||
* SMP_CACHE_ALIGN - align a value to the L2 cacheline size
|
||||
* @x: value to align
|
||||
|
@ -63,10 +60,6 @@
|
|||
#define __ro_after_init __section(".data..ro_after_init")
|
||||
#endif
|
||||
|
||||
#ifndef ____cacheline_aligned
|
||||
#define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES)))
|
||||
#endif
|
||||
|
||||
#ifndef ____cacheline_aligned_in_smp
|
||||
#ifdef CONFIG_SMP
|
||||
#define ____cacheline_aligned_in_smp ____cacheline_aligned
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef __VDSO_CACHE_H
|
||||
#define __VDSO_CACHE_H
|
||||
|
||||
#include <asm/cache.h>
|
||||
|
||||
#ifndef SMP_CACHE_BYTES
|
||||
#define SMP_CACHE_BYTES L1_CACHE_BYTES
|
||||
#endif
|
||||
|
||||
#ifndef ____cacheline_aligned
|
||||
#define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES)))
|
||||
#endif
|
||||
|
||||
#endif /* __VDSO_ALIGN_H */
|
Loading…
Reference in New Issue