s390/mm: Create virtual memory layout structure

This is a preparatory rework to allow uncoupling virtual
and physical addresses spaces.

Put virtual memory layout information into a structure
to improve code generation when accessing the structure
members, which are currently only ident_map_size and
__kaslr_offset.

Acked-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
This commit is contained in:
Alexander Gordeev
2023-12-02 10:57:15 +01:00
parent bbe72f3902
commit 236f324b74
3 changed files with 12 additions and 5 deletions

View File

@@ -178,7 +178,16 @@ int arch_make_page_accessible(struct page *page);
#define HAVE_ARCH_MAKE_PAGE_ACCESSIBLE
#endif
extern unsigned long __kaslr_offset;
struct vm_layout {
unsigned long kaslr_offset;
unsigned long identity_size;
};
extern struct vm_layout vm_layout;
#define __kaslr_offset vm_layout.kaslr_offset
#define ident_map_size vm_layout.identity_size
static inline unsigned long kaslr_offset(void)
{
return __kaslr_offset;