blob: 05c4aa00cc862e3b1dad1b344b0eddb9d6f44db4 [file] [log] [blame]
Yinghai Luc8dcdb92012-11-16 19:39:10 -08001#ifndef _ASM_X86_INIT_H
2#define _ASM_X86_INIT_H
Pekka Enberg4fcb2082009-03-05 14:55:08 +02003
Yinghai Luaece2782013-01-24 12:19:48 -08004struct x86_mapping_info {
5 void *(*alloc_pgt_page)(void *); /* allocate buf for page table */
6 void *context; /* context for alloc_pgt_page */
Xunlei Pang66aad4f2017-05-04 09:42:50 +08007 unsigned long page_flag; /* page flag for PMD or PUD entry */
Rafael J. Wysockie4630fd2016-08-08 15:31:31 +02008 unsigned long offset; /* ident mapping offset */
Xunlei Pang66aad4f2017-05-04 09:42:50 +08009 bool direct_gbpages; /* PUD level 1GB page support */
Tom Lendackybba4ed02017-07-17 16:10:28 -050010 unsigned long kernpg_flag; /* kernel pagetable flag override */
Yinghai Luaece2782013-01-24 12:19:48 -080011};
12
13int kernel_ident_mapping_init(struct x86_mapping_info *info, pgd_t *pgd_page,
Rafael J. Wysockie4630fd2016-08-08 15:31:31 +020014 unsigned long pstart, unsigned long pend);
Pekka Enberg4fcb2082009-03-05 14:55:08 +020015
Yinghai Luc8dcdb92012-11-16 19:39:10 -080016#endif /* _ASM_X86_INIT_H */