Date: Tue, 20 Jul 2021 07:10:21 GMT From: Dmitry Chagin <dchagin@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 815165be201e - main - linux(4): Remove function prototypes from the vDSO. Message-ID: <202107200710.16K7ALxc030026@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=815165be201e49d118e93dec6c257cd63b69d158 commit 815165be201e49d118e93dec6c257cd63b69d158 Author: Dmitry Chagin <dchagin@FreeBSD.org> AuthorDate: 2021-07-20 06:52:08 +0000 Commit: Dmitry Chagin <dchagin@FreeBSD.org> CommitDate: 2021-07-20 06:52:08 +0000 linux(4): Remove function prototypes from the vDSO. In preparation for vDSO code revision get rid of incomplete vDSO methods from locore, but leave .note.Linux section commented out. .note.Linux section is used by glibc rtld to get the kernel version, that saves one system call call. I'll try to implement it later, if figure out how to use it with jails. MFC after: 2 weeks --- sys/amd64/linux/linux_locore.asm | 26 -------------------------- sys/arm64/linux/linux_locore.asm | 17 ----------------- 2 files changed, 43 deletions(-) diff --git a/sys/amd64/linux/linux_locore.asm b/sys/amd64/linux/linux_locore.asm index 4e358f583a45..dd482cb87cc8 100644 --- a/sys/amd64/linux/linux_locore.asm +++ b/sys/amd64/linux/linux_locore.asm @@ -32,32 +32,6 @@ ENTRY(linux_rt_sigcode) .endrtsigcode: 0: jmp 0b -ENTRY(__vdso_clock_gettime) - movq $LINUX_SYS_linux_clock_gettime,%rax - syscall - ret -.weak clock_gettime -.set clock_gettime, __vdso_clock_gettime - -ENTRY(__vdso_time) - movq $LINUX_SYS_linux_time,%rax - syscall - ret -.weak time -.set time, __vdso_time - -ENTRY(__vdso_gettimeofday) - movq $LINUX_SYS_gettimeofday,%rax - syscall - ret -.weak gettimeofday -.set gettimeofday, __vdso_gettimeofday - -ENTRY(__vdso_getcpu) - movq $-38,%rax /* not implemented */ - ret -.weak getcpu -.set getcpu, __vdso_getcpu #if 0 .section .note.Linux, "a",@note diff --git a/sys/arm64/linux/linux_locore.asm b/sys/arm64/linux/linux_locore.asm index 5f0729b363e8..24a48d74f7b5 100644 --- a/sys/arm64/linux/linux_locore.asm +++ b/sys/arm64/linux/linux_locore.asm @@ -48,20 +48,3 @@ ENTRY(__kernel_rt_sigreturn) brk #0 /* LINUXTODO: implement __kernel_rt_sigreturn */ ret END(__kernel_rt_sigreturn) - -ENTRY(__kernel_gettimeofday) - ldr x8, =LINUX_SYS_gettimeofday - svc #0 - ret -END(__kernel_gettimeofday) - -ENTRY(__kernel_clock_gettime) - ldr x8, =LINUX_SYS_linux_clock_gettime - svc #0 - ret -END(__kernel_clock_gettime) - -ENTRY(__kernel_clock_getres) - brk #0 /* LINUXTODO: implement __kernel_clock_getres */ - ret -END(__kernel_clock_getres)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202107200710.16K7ALxc030026>