forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
833 B
33 lines
833 B
/* SPDX-License-Identifier: GPL-2.0-only */ |
|
/* |
|
* Copyright (C) 2020 Western Digital Corporation or its affiliates. |
|
*/ |
|
#ifndef __ASM_SECTIONS_H |
|
#define __ASM_SECTIONS_H |
|
|
|
#include <asm-generic/sections.h> |
|
#include <linux/mm.h> |
|
|
|
extern char _start[]; |
|
extern char _start_kernel[]; |
|
extern char __init_data_begin[], __init_data_end[]; |
|
extern char __init_text_begin[], __init_text_end[]; |
|
extern char __alt_start[], __alt_end[]; |
|
|
|
static inline bool is_va_kernel_text(uintptr_t va) |
|
{ |
|
uintptr_t start = (uintptr_t)_start; |
|
uintptr_t end = (uintptr_t)__init_data_begin; |
|
|
|
return va >= start && va < end; |
|
} |
|
|
|
static inline bool is_va_kernel_lm_alias_text(uintptr_t va) |
|
{ |
|
uintptr_t start = (uintptr_t)lm_alias(_start); |
|
uintptr_t end = (uintptr_t)lm_alias(__init_data_begin); |
|
|
|
return va >= start && va < end; |
|
} |
|
|
|
#endif /* __ASM_SECTIONS_H */
|
|
|