The intend of trans_pgd_map_page() was to map contiguous range of VA memory to the memory that is getting relocated during kexec. However, since we are now using linear map instead of contiguous range this function is not needed Suggested-by: Pingfan Liu <kernelfans@gmail.com> Signed-off-by: Pasha Tatashin <pasha.tatashin@soleen.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Link: https://lore.kernel.org/r/20210930143113.1502553-16-pasha.tatashin@soleen.com Signed-off-by: Will Deacon <will@kernel.org>
42 lines
1.0 KiB
C
42 lines
1.0 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
|
|
/*
|
|
* Copyright (c) 2021, Microsoft Corporation.
|
|
* Pasha Tatashin <pasha.tatashin@soleen.com>
|
|
*/
|
|
|
|
#ifndef _ASM_TRANS_TABLE_H
|
|
#define _ASM_TRANS_TABLE_H
|
|
|
|
#include <linux/bits.h>
|
|
#include <linux/types.h>
|
|
#include <asm/pgtable-types.h>
|
|
|
|
/*
|
|
* trans_alloc_page
|
|
* - Allocator that should return exactly one zeroed page, if this
|
|
* allocator fails, trans_pgd_create_copy() and trans_pgd_idmap_page()
|
|
* return -ENOMEM error.
|
|
*
|
|
* trans_alloc_arg
|
|
* - Passed to trans_alloc_page as an argument
|
|
*/
|
|
|
|
struct trans_pgd_info {
|
|
void * (*trans_alloc_page)(void *arg);
|
|
void *trans_alloc_arg;
|
|
};
|
|
|
|
int trans_pgd_create_copy(struct trans_pgd_info *info, pgd_t **trans_pgd,
|
|
unsigned long start, unsigned long end);
|
|
|
|
int trans_pgd_idmap_page(struct trans_pgd_info *info, phys_addr_t *trans_ttbr0,
|
|
unsigned long *t0sz, void *page);
|
|
|
|
int trans_pgd_copy_el2_vectors(struct trans_pgd_info *info,
|
|
phys_addr_t *el2_vectors);
|
|
|
|
extern char trans_pgd_stub_vectors[];
|
|
|
|
#endif /* _ASM_TRANS_TABLE_H */
|