Messages in this thread | | | Subject | Re: MIPS: bug: gettimeofday syscall broken on CI20 board | From | "H. Nikolaus Schaller" <> | Date | Thu, 28 Nov 2019 16:41:57 +0100 |
| |
> Am 28.11.2019 um 16:07 schrieb Thomas Bogendoerfer <tsbogend@alpha.franken.de>: > > On Thu, Nov 28, 2019 at 02:48:46PM +0100, H. Nikolaus Schaller wrote: >> >> What still does not fit into the picture is the errno = 1 i.e. EPERM. >> Maybe I have to study the libc code that tries to read the ELF symbols >> you have mentioned. It may fail for unknown reasons. > > to understand vdso you might look at arch/mips/vdso and lib/vdso > kernel sources.
Yes that is what I know, but I do not know how glibc can return an EPERM through VDSO.
> > And if I understand it correctly you neither have a working high resolution > timer usable bei do_hres() in lib/vdso/gettimeofday.c or a working > gettimeofday_fallback(), which is enabled via CONFIG_MIPS_CLOCK_VSYSCALL > and needs either CSRC_R4K or CLKSRC_MIPS_GIC.
Well, on kernel v4.19 or using v5.4 with Jessie, gettimeofday() works.
So this may only be part of the reason it starts to fail with commit 24640f233b466051ad3a5d2786d2951e43026c9d.
MIPS_CLOCK_VSYSCALL is neither defined nor undefined in the defconfig. And removed if I manually add it to my defconfig. And yes, it depends on either CSRC_R4K || CLKSRC_MIPS_GIC by arch/mips/Kconfig.
Maybe this was just forgotten to properly handle for the ci20_defconfig or jz4780?
What does CSRC_R4K resp. CLKSRC_MIPS_GIC ecactly mean? Does the jz4780 have this feature?
BR and thanks, Nikolaus
| |