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.
58 lines
1.4 KiB
58 lines
1.4 KiB
/* SPDX-License-Identifier: GPL-2.0-or-later */ |
|
/* |
|
* Copyright (C) 2015 Imagination Technologies |
|
* Author: Alex Smith <[email protected]> |
|
*/ |
|
|
|
#ifndef __ASM_VDSO_H |
|
#define __ASM_VDSO_H |
|
|
|
#include <linux/mm_types.h> |
|
#include <vdso/datapage.h> |
|
|
|
#include <asm/barrier.h> |
|
|
|
/** |
|
* struct mips_vdso_image - Details of a VDSO image. |
|
* @data: Pointer to VDSO image data (page-aligned). |
|
* @size: Size of the VDSO image data (page-aligned). |
|
* @off_sigreturn: Offset of the sigreturn() trampoline. |
|
* @off_rt_sigreturn: Offset of the rt_sigreturn() trampoline. |
|
* @mapping: Special mapping structure. |
|
* |
|
* This structure contains details of a VDSO image, including the image data |
|
* and offsets of certain symbols required by the kernel. It is generated as |
|
* part of the VDSO build process, aside from the mapping page array, which is |
|
* populated at runtime. |
|
*/ |
|
struct mips_vdso_image { |
|
void *data; |
|
unsigned long size; |
|
|
|
unsigned long off_sigreturn; |
|
unsigned long off_rt_sigreturn; |
|
|
|
struct vm_special_mapping mapping; |
|
}; |
|
|
|
/* |
|
* The following structures are auto-generated as part of the build for each |
|
* ABI by genvdso, see arch/mips/vdso/Makefile. |
|
*/ |
|
|
|
extern struct mips_vdso_image vdso_image; |
|
|
|
#ifdef CONFIG_MIPS32_O32 |
|
extern struct mips_vdso_image vdso_image_o32; |
|
#endif |
|
|
|
#ifdef CONFIG_MIPS32_N32 |
|
extern struct mips_vdso_image vdso_image_n32; |
|
#endif |
|
|
|
union mips_vdso_data { |
|
struct vdso_data data[CS_BASES]; |
|
u8 page[PAGE_SIZE]; |
|
}; |
|
|
|
#endif /* __ASM_VDSO_H */
|
|
|