mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-27 13:30:45 -05:00
While the GCC and Clang compilers already define __ASSEMBLER__ automatically when compiling assembly code, __ASSEMBLY__ is a macro that only gets defined by the Makefiles in the kernel. This can be very confusing when switching between userspace and kernelspace coding, or when dealing with uapi headers that rather should use __ASSEMBLER__ instead. So let's standardize on the __ASSEMBLER__ macro that is provided by the compilers now. This is a completely mechanical patch (done with a simple "sed -i" statement). Cc: Michal Simek <monstr@monstr.eu> Signed-off-by: Thomas Huth <thuth@redhat.com> Link: https://lore.kernel.org/r/20250314071013.1575167-19-thuth@redhat.com Signed-off-by: Michal Simek <michal.simek@amd.com>
67 lines
1.8 KiB
C
67 lines
1.8 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* fixmap.h: compile-time virtual memory allocation
|
|
*
|
|
* Copyright (C) 1998 Ingo Molnar
|
|
*
|
|
* Copyright 2008 Freescale Semiconductor Inc.
|
|
* Port to powerpc added by Kumar Gala
|
|
*
|
|
* Copyright 2011 Michal Simek <monstr@monstr.eu>
|
|
* Copyright 2011 PetaLogix Qld Pty Ltd
|
|
* Port to Microblaze
|
|
*/
|
|
|
|
#ifndef _ASM_FIXMAP_H
|
|
#define _ASM_FIXMAP_H
|
|
|
|
#ifndef __ASSEMBLER__
|
|
#include <linux/kernel.h>
|
|
#include <asm/page.h>
|
|
#ifdef CONFIG_HIGHMEM
|
|
#include <linux/threads.h>
|
|
#include <asm/kmap_size.h>
|
|
#endif
|
|
|
|
#define FIXADDR_TOP ((unsigned long)(-PAGE_SIZE))
|
|
|
|
/*
|
|
* Here we define all the compile-time 'special' virtual
|
|
* addresses. The point is to have a constant address at
|
|
* compile time, but to set the physical address only
|
|
* in the boot process. We allocate these special addresses
|
|
* from the end of virtual memory (0xfffff000) backwards.
|
|
* Also this lets us do fail-safe vmalloc(), we
|
|
* can guarantee that these special addresses and
|
|
* vmalloc()-ed addresses never overlap.
|
|
*
|
|
* these 'compile-time allocated' memory buffers are
|
|
* fixed-size 4k pages. (or larger if used with an increment
|
|
* highger than 1) use fixmap_set(idx,phys) to associate
|
|
* physical memory with fixmap indices.
|
|
*
|
|
* TLB entries of such buffers will not be flushed across
|
|
* task switches.
|
|
*/
|
|
enum fixed_addresses {
|
|
FIX_HOLE,
|
|
#ifdef CONFIG_HIGHMEM
|
|
FIX_KMAP_BEGIN, /* reserved pte's for temporary kernel mappings */
|
|
FIX_KMAP_END = FIX_KMAP_BEGIN + (KM_MAX_IDX * num_possible_cpus()) - 1,
|
|
#endif
|
|
__end_of_fixed_addresses
|
|
};
|
|
|
|
extern void __set_fixmap(enum fixed_addresses idx,
|
|
phys_addr_t phys, pgprot_t flags);
|
|
|
|
#define __FIXADDR_SIZE (__end_of_fixed_addresses << PAGE_SHIFT)
|
|
#define FIXADDR_START (FIXADDR_TOP - __FIXADDR_SIZE)
|
|
|
|
#define FIXMAP_PAGE_NOCACHE PAGE_KERNEL_CI
|
|
|
|
#include <asm-generic/fixmap.h>
|
|
|
|
#endif /* !__ASSEMBLER__ */
|
|
#endif
|