2017-11-01 15:07:57 +01:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0 */
|
2012-11-16 19:39:10 -08:00
|
|
|
#ifndef _ASM_X86_INIT_H
|
|
|
|
|
#define _ASM_X86_INIT_H
|
2009-03-05 14:55:08 +02:00
|
|
|
|
2013-01-24 12:19:48 -08:00
|
|
|
struct x86_mapping_info {
|
|
|
|
|
void *(*alloc_pgt_page)(void *); /* allocate buf for page table */
|
|
|
|
|
void *context; /* context for alloc_pgt_page */
|
2017-05-04 09:42:50 +08:00
|
|
|
unsigned long page_flag; /* page flag for PMD or PUD entry */
|
2016-08-08 15:31:31 +02:00
|
|
|
unsigned long offset; /* ident mapping offset */
|
2017-05-04 09:42:50 +08:00
|
|
|
bool direct_gbpages; /* PUD level 1GB page support */
|
2017-07-17 16:10:28 -05:00
|
|
|
unsigned long kernpg_flag; /* kernel pagetable flag override */
|
2013-01-24 12:19:48 -08:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
int kernel_ident_mapping_init(struct x86_mapping_info *info, pgd_t *pgd_page,
|
2016-08-08 15:31:31 +02:00
|
|
|
unsigned long pstart, unsigned long pend);
|
2009-03-05 14:55:08 +02:00
|
|
|
|
2012-11-16 19:39:10 -08:00
|
|
|
#endif /* _ASM_X86_INIT_H */
|