Skip to content

Commit 24c36fc

Browse files
committed
Merge the vdso.c of different architectures
1 parent 0693ee3 commit 24c36fc

File tree

3 files changed

+9
-116
lines changed

3 files changed

+9
-116
lines changed

components/lwp/SConscript

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,14 @@ if platform in platform_file.keys(): # support platforms
2525
if arch in support_arch.keys() and cpu in support_arch[arch]:
2626
asm_path = 'arch/' + arch + '/' + cpu + '/*_' + platform_file[platform]
2727
arch_common = 'arch/' + arch + '/' + 'common/*.c'
28+
common = 'arch/common/*.c'
2829
if not GetDepend('RT_USING_VDSO'):
2930
vdso_files = ['vdso_data.c', 'vdso.c']
3031
src += [f for f in Glob(arch_common) if os.path.basename(str(f)) not in vdso_files]
32+
src += [f for f in Glob(common) if os.path.basename(str(f)) not in vdso_files]
3133
else:
3234
src += Glob(arch_common)
35+
src += Glob(common)
3336
if not GetDepend('ARCH_MM_MMU'):
3437
excluded_files = ['ioremap.c', 'lwp_futex.c', 'lwp_mm_area.c', 'lwp_pmutex.c', 'lwp_shm.c', 'lwp_user_mm.c']
3538
src += [f for f in Glob('*.c') if os.path.basename(str(f)) not in excluded_files] + Glob(asm_path)

components/lwp/arch/aarch64/common/vdso.c

Lines changed: 0 additions & 110 deletions
This file was deleted.
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
enum vdso_abi
2222
{
23-
VDSO_ABI_RV64,
23+
VDSO_ABI_COMMON,
2424
};
2525

2626
enum vvar_pages
@@ -40,8 +40,8 @@ struct vdso_abi_info
4040
};
4141

4242
static struct vdso_abi_info vdso_info[] = {
43-
[VDSO_ABI_RV64] = {
44-
.name = "vdso_riscv64",
43+
[VDSO_ABI_COMMON] = {
44+
.name = "vdso_common",
4545
.vdso_code_start = __vdso_text_start,
4646
.vdso_code_end = __vdso_text_end,
4747
},
@@ -86,7 +86,7 @@ int arch_setup_additional_pages(struct rt_lwp *lwp)
8686
{
8787
int ret;
8888
if (init_ret_flag != RT_EOK) return -RT_ERROR;
89-
ret = __setup_additional_pages(VDSO_ABI_RV64, lwp);
89+
ret = __setup_additional_pages(VDSO_ABI_COMMON, lwp);
9090

9191
return ret;
9292
}
@@ -101,13 +101,13 @@ static void __initdata(void)
101101

102102
static int validate_vdso_elf(void)
103103
{
104-
if (rt_memcmp(vdso_info[VDSO_ABI_RV64].vdso_code_start, ELF_HEAD, ELF_HEAD_LEN))
104+
if (rt_memcmp(vdso_info[VDSO_ABI_COMMON].vdso_code_start, ELF_HEAD, ELF_HEAD_LEN))
105105
{
106106
LOG_E("vDSO is not a valid ELF object!");
107107
init_ret_flag = -RT_ERROR;
108108
return -RT_ERROR;
109109
}
110-
vdso_info[VDSO_ABI_RV64].vdso_pages = (vdso_info[VDSO_ABI_RV64].vdso_code_end - vdso_info[VDSO_ABI_RV64].vdso_code_start) >> ARCH_PAGE_SHIFT;
110+
vdso_info[VDSO_ABI_COMMON].vdso_pages = (vdso_info[VDSO_ABI_COMMON].vdso_code_end - vdso_info[VDSO_ABI_COMMON].vdso_code_start) >> ARCH_PAGE_SHIFT;
111111

112112
__initdata();
113113
return RT_EOK;

0 commit comments

Comments
 (0)