lx_emul: cache_line_size and cpufeature on arm64

Issue #5236
This commit is contained in:
Christian Helmuth 2024-07-16 16:46:38 +02:00
parent ae8eb37ca2
commit c0f6d9ba7e
6 changed files with 25 additions and 6 deletions

View File

@ -71,7 +71,6 @@ LX_ARCH := x86
GEN_ARCH := x86
SPEC_ARCH := x86_64
SRC_C += lx_emul/shadow/arch/x86/kernel/irq.c
SRC_C += lx_emul/shadow/arch/x86/kernel/setup_percpu.c
endif
@ -92,6 +91,9 @@ ifeq ($(filter-out $(SPECS),arm_v8),)
LX_ARCH := arm64
GEN_ARCH := arm
SPEC_ARCH := arm_v8
SRC_C += lx_emul/shadow/arch/arm64/kernel/cacheinfo.c
SRC_C += lx_emul/shadow/arch/arm64/kernel/cpufeature.c
endif
ifneq ($(SHARED_LIB),)

View File

@ -8,9 +8,7 @@ PRG_DIR := $(PRG_TOP_DIR)/spec/arm_v8
DDE_LINUX_DIR := $(subst /src/include/lx_kit,,$(call select_from_repositories,src/include/lx_kit))
SRC_C += arch/arm64/kernel/smp.c
SRC_C += arch/arm64/kernel/cpufeature.c
vpath arch/arm64/kernel/cpufeature.c $(PRG_TOP_DIR)/lx_emul/shadow
vpath arch/arm64/kernel/smp.c $(DDE_LINUX_DIR)/src/lib/lx_emul/shadow
SRC_S += arch/arm64/crypto/poly1305-core.S

View File

@ -24,8 +24,6 @@ EXPORT_PER_CPU_SYMBOL(cpu_sibling_map);
unsigned long __FIXADDR_TOP = 0xfffff000;
bool arm64_use_ng_mappings = false;
const struct ipv6_stub *ipv6_stub;

View File

@ -0,0 +1,19 @@
/*
* \brief Replaces arch/arm64/kernel/cacheinfo.c
* \author Christian Helmuth
* \date 2024-07-16
*/
/*
* Copyright (C) 2024 Genode Labs GmbH
*
* This file is distributed under the terms of the GNU General Public License
* version 2.
*/
#include <asm/cache.h>
int cache_line_size(void)
{
return ARCH_DMA_MINALIGN;
}

View File

@ -1,6 +1,7 @@
/*
* \brief Replaces arch/arm64/kernel/cpufeature.c
* \author Martin Stein
* \author Christian Helmuth
* \date 2022-05-09
*/
@ -36,3 +37,5 @@ EXPORT_SYMBOL(cpu_hwcap_keys);
DECLARE_BITMAP(cpu_hwcaps, ARM64_NCAPS);
EXPORT_SYMBOL(cpu_hwcaps);
bool arm64_use_ng_mappings = false;

View File

@ -33,7 +33,6 @@ DEFINE_PER_CPU(unsigned long, cpu_scale);
pgd_t reserved_pg_dir[PTRS_PER_PGD];
#endif
bool arm64_use_ng_mappings = false;
pteval_t __default_kernel_pte_mask __read_mostly = ~0;