2021-06-22 15:40:16 +00: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 12:47:32 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
# include <AK/Types.h>
|
2021-07-19 15:54:51 +00:00
|
|
|
# include <Kernel/BootInfo.h>
|
2021-07-18 12:47:32 +00:00
|
|
|
#endif
|
2021-06-22 15:40:16 +00:00
|
|
|
|
|
|
|
#define READONLY_AFTER_INIT __attribute__((section(".ro_after_init")))
|
|
|
|
#define UNMAP_AFTER_INIT NEVER_INLINE __attribute__((section(".unmap_after_init")))
|
2021-06-28 16:43:18 +00:00
|
|
|
|
2023-01-10 09:34:25 +00:00
|
|
|
#define KERNEL_MAPPING_BASE 0x2000000000
|
|
|
|
|
2022-03-22 17:10:17 +00:00
|
|
|
#define KERNEL_PD_END (kernel_mapping_base + KERNEL_PD_SIZE)
|
2023-01-07 14:01:51 +00:00
|
|
|
#define KERNEL_PT1024_OFFSET 0x3FE00000
|
|
|
|
#define KERNEL_PT1024_BASE (kernel_mapping_base + KERNEL_PT1024_OFFSET)
|
2022-08-22 12:41:08 +00: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 20:29:54 +00:00
|
|
|
|
2021-12-19 17:36:42 +00:00
|
|
|
#define USER_RANGE_BASE 0x10000
|
2021-07-26 13:10:51 +00:00
|
|
|
#define USER_RANGE_CEILING (kernel_mapping_base - 0x2000000)
|