Hi All,
I compiled the latest Git kernel (
alpha4) with the new PowerPC updates
5.11-1 today. Unfortunately this kernel doesn't boot on the X5000 and in a virtual e5500 QEMU machine anymore. The X1000 boots.
I was able to revert the new PowerPC updates
5.11-1 and after a new compiling, the kernel boots without any problems on my X5000.
Code: Select all
git revert 8a5be36b9303ae167468d4f5e1b3c090b9981396 -m 1
I reported this issue to the Linuxppc-dev mailing list today.
Link:
GIT kernel with the PowerPC updates 5.11-1 doesn't boot on a FSL P5040 board and in a virtual e5500 QEMU machine
I bisected today.
-
-
Code: Select all
git bisect good 2c85ebc57b3e1817b6ce1a6b703928e113a90442
(Good: Linux 5.10)
-
Code: Select all
git bisect bad a409ed156a90093a03fe6a93721ddf4c591eac87
(Bad: Merge tag 'gpio-v5.11-1' -- 2020-12-17 18:07:20)
- git bisect good
- git bisect good
- git bisect good
- git bisect good
- git bisect bad
- git bisect bad
- git bisect bad
- git bisect good
- git bisect bad
- git bisect good
- git bisect good
- git bisect good
- git bisect bad
- git bisect bad
Result:
d0e3fc69d00d1f50d22d6b6acfc555ccda80ad1e is the first bad commit
Code: Select all
commit d0e3fc69d00d1f50d22d6b6acfc555ccda80ad1e
Author: Christophe Leroy <christophe.leroy@csgroup.eu>
Date: Fri Nov 27 00:10:06 2020 +1100
powerpc/vdso: Provide __kernel_clock_gettime64() on vdso32
Provides __kernel_clock_gettime64() on vdso32. This is the
64 bits version of __kernel_clock_gettime() which is
y2038 compliant.
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20201126131006.2431205-9-mpe@ellerman.id.au
:040000 040000 24e50126dc88b5fd2376be67d92b5e1930cd489f adbc4dcaf3cd78701b68bf873be105af135614e7 M arch
I was able to revert the first bad commit.
Code: Select all
git revert d0e3fc69d00d1f50d22d6b6acfc555ccda80ad1e
Output:
Code: Select all
[master 3ced698f651c] Revert "powerpc/vdso: Provide __kernel_clock_gettime64() on vdso32"
4 files changed, 18 deletions(-)
After a new compiling, the kernel boots without any problems.
I created a patch for reverting the bad commit:
Code: Select all
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)
{
Cheers,
Christian