GIT kernel with the PowerPC updates 5.11-1 doesn't boot on a FSL P5040 board and in a virtual e5500 QEMU machine

Christian Zigotzky chzigotzky at xenosoft.de
Sat Dec 19 11:38:41 AEDT 2020


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 
> <chzigotzky at 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)
  {

------


More information about the Linuxppc-dev mailing list