blob: 474eb8c66feeb2c98de2f5d6fe1db84de752c806 [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 */
Yinghai Luaece2782013-01-24 12:19:48 -080010};
11
12int kernel_ident_mapping_init(struct x86_mapping_info *info, pgd_t *pgd_page,
Rafael J. Wysockie4630fd2016-08-08 15:31:31 +020013 unsigned long pstart, unsigned long pend);
Pekka Enberg4fcb2082009-03-05 14:55:08 +020014
Yinghai Luc8dcdb92012-11-16 19:39:10 -080015#endif /* _ASM_X86_INIT_H */