2021-06-22 18:40:16 +03:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2018-2021, Andreas Kling <kling@serenityos.org>
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <AK/Platform.h>
|
2021-07-18 15:47:32 +03:00
|
|
|
#ifdef __cplusplus
|
|
|
|
# include <AK/Types.h>
|
2023-02-24 21:21:53 +03:00
|
|
|
# include <Kernel/Boot/BootInfo.h>
|
2021-07-18 15:47:32 +03:00
|
|
|
#endif
|
2021-06-22 18:40:16 +03:00
|
|
|
|
|
|
|
#define READONLY_AFTER_INIT __attribute__((section(".ro_after_init")))
|
|
|
|
#define UNMAP_AFTER_INIT NEVER_INLINE __attribute__((section(".unmap_after_init")))
|
2021-06-28 19:43:18 +03:00
|
|
|
|
2023-01-10 12:34:25 +03:00
|
|
|
#define KERNEL_MAPPING_BASE 0x2000000000
|
|
|
|
|
2022-03-22 20:10:17 +03:00
|
|
|
#define KERNEL_PD_END (kernel_mapping_base + KERNEL_PD_SIZE)
|
2023-01-07 17:01:51 +03:00
|
|
|
#define KERNEL_PT1024_OFFSET 0x3FE00000
|
|
|
|
#define KERNEL_PT1024_BASE (kernel_mapping_base + KERNEL_PT1024_OFFSET)
|
2022-08-22 15:41:08 +03:00
|
|
|
|
|
|
|
#define KERNEL_MAX_CPU_COUNT 64
|
|
|
|
#define KERNEL_QUICKMAP_PT_PER_CPU_BASE (KERNEL_PT1024_BASE + (1 * KERNEL_MAX_CPU_COUNT * PAGE_SIZE))
|
|
|
|
#define KERNEL_QUICKMAP_PD_PER_CPU_BASE (KERNEL_PT1024_BASE + (2 * KERNEL_MAX_CPU_COUNT * PAGE_SIZE))
|
|
|
|
#define KERNEL_QUICKMAP_PER_CPU_BASE (KERNEL_PT1024_BASE + (3 * KERNEL_MAX_CPU_COUNT * PAGE_SIZE))
|
2021-07-16 23:29:54 +03:00
|
|
|
|
2021-12-19 20:36:42 +03:00
|
|
|
#define USER_RANGE_BASE 0x10000
|
2021-07-26 16:10:51 +03:00
|
|
|
#define USER_RANGE_CEILING (kernel_mapping_base - 0x2000000)
|