On 18 December 2020 at 11:49pm, Christian Zigotzky wrote:
On 18 December 2020 at 10:25pm, Denis Kirjanov wrote:
>
>
> On Friday, December 18, 2020, Christian Zigotzky
<chzigot...@xenosoft.de> wrote:
>
> Hello,
>
> I compiled the latest Git kernel with the new PowerPC updates
5.11-1 [1] today. Unfortunately this kernel doesn't boot on my FSL
P5040 board [2] and in a virtual e5500 QEMU machine [3].
>
> I was able to revert the new PowerPC updates 5.11-1 [4] and
after a new compiling, the kernel boots without any problems on my FSL
P5040 board.
>
> Please check the new PowerPC updates 5.11-1.
>
>
> Can you bisect the bad commit?
>
Hello Denis,
I have bisected [5] and d0e3fc69d00d1f50d22d6b6acfc555ccda80ad1e
(powerpc/vdso: Provide __kernel_clock_gettime64() on vdso32) [6] is
the first bad commit.
I was able to revert this bad commit and after a new compiling, the
kernel boots without any problems.
Thanks,
Christian
[5] https://forum.hyperion-entertainment.com/viewtopic.php?p=52077#p52077
[6]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d0e3fc69d00d1f50d22d6b6acfc555ccda80ad1e
>
>
>
> Thanks,
> Christian
>
>
> [1]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8a5be36b9303ae167468d4f5e1b3c090b9981396
> [2] http://wiki.amiga.org/index.php?title=X5000
> [3] qemu-system-ppc64 -M ppce500 -cpu e5500 -m 1024 -kernel
uImage -drive format=raw,file=MintPPC32-X5000.img,index=0,if=virtio
-netdev user,id=mynet0 -device virtio-net-pci,netdev=mynet0 -append
"rw root=/dev/vda" -device virtio-vga -usb -device usb-ehci,id=ehci
-device usb-tablet -device virtio-keyboard-pci -smp 4 -vnc :1
> [4] git revert 8a5be36b9303ae167468d4f5e1b3c090b9981396 -m 1
>
Hello,
I created a patch for reverting the bad commit. I can boot the latest
Git kernel compiled with this patch on my FSL P5040 board and in a
virtual e5500 QEMU machine.
------
diff -rupN a/arch/powerpc/include/asm/vdso/gettimeofday.h
b/arch/powerpc/include/asm/vdso/gettimeofday.h
--- a/arch/powerpc/include/asm/vdso/gettimeofday.h 2020-12-19
00:01:16.825846606 +0100
+++ b/arch/powerpc/include/asm/vdso/gettimeofday.h 2020-12-19
00:00:38.213374736 +0100
@@ -187,8 +187,6 @@ int __c_kernel_clock_getres(clockid_t cl
#else
int __c_kernel_clock_gettime(clockid_t clock, struct old_timespec32 *ts,
const struct vdso_data *vd);
-int __c_kernel_clock_gettime64(clockid_t clock, struct
__kernel_timespec *ts,
- const struct vdso_data *vd);
int __c_kernel_clock_getres(clockid_t clock_id, struct old_timespec32
*res,
const struct vdso_data *vd);
#endif
diff -rupN a/arch/powerpc/kernel/vdso32/gettimeofday.S
b/arch/powerpc/kernel/vdso32/gettimeofday.S
--- a/arch/powerpc/kernel/vdso32/gettimeofday.S 2020-12-19
00:01:16.829846652 +0100
+++ b/arch/powerpc/kernel/vdso32/gettimeofday.S 2020-12-19
00:00:37.817369691 +0100
@@ -35,15 +35,6 @@ V_FUNCTION_BEGIN(__kernel_clock_gettime)
cvdso_call __c_kernel_clock_gettime
V_FUNCTION_END(__kernel_clock_gettime)
-/*
- * Exact prototype of clock_gettime64()
- *
- * int __kernel_clock_gettime64(clockid_t clock_id, struct __timespec64
*ts);
- *
- */
-V_FUNCTION_BEGIN(__kernel_clock_gettime64)
- cvdso_call __c_kernel_clock_gettime64
-V_FUNCTION_END(__kernel_clock_gettime64)
/*
* Exact prototype of clock_getres()
diff -rupN a/arch/powerpc/kernel/vdso32/vdso32.lds.S
b/arch/powerpc/kernel/vdso32/vdso32.lds.S
--- a/arch/powerpc/kernel/vdso32/vdso32.lds.S 2020-12-19
00:01:16.829846652 +0100
+++ b/arch/powerpc/kernel/vdso32/vdso32.lds.S 2020-12-19
00:00:38.209374686 +0100
@@ -118,7 +118,6 @@ VERSION
__kernel_get_syscall_map;
__kernel_gettimeofday;
__kernel_clock_gettime;
- __kernel_clock_gettime64;
__kernel_clock_getres;
__kernel_time;
__kernel_get_tbfreq;
diff -rupN a/arch/powerpc/kernel/vdso32/vgettimeofday.c
b/arch/powerpc/kernel/vdso32/vgettimeofday.c
--- a/arch/powerpc/kernel/vdso32/vgettimeofday.c 2020-12-19
00:01:16.829846652 +0100
+++ b/arch/powerpc/kernel/vdso32/vgettimeofday.c 2020-12-19
00:00:37.817369691 +0100
@@ -10,12 +10,6 @@ int __c_kernel_clock_gettime(clockid_t c
return __cvdso_clock_gettime32_data(vd, clock, ts);
}
-int __c_kernel_clock_gettime64(clockid_t clock, struct
__kernel_timespec *ts,
- const struct vdso_data *vd)
-{
- return __cvdso_clock_gettime_data(vd, clock, ts);
-}
-
int __c_kernel_gettimeofday(struct __kernel_old_timeval *tv, struct
timezone *tz,
const struct vdso_data *vd)
{
------