Kernel 5.8

AmigaOne X5000 platform specific issues related to Linux only.
User avatar
Skateman
Posts: 494
Joined: Thu Aug 10, 2017 8:36 pm
Location: The Netherlands

Re: Kernel 5.8

Post by Skateman »

Kernel DPAA15 is running fine with the onboard Ethernet adapter

Image

Big picture http://www.skateman.nl/wp-content/uploa ... 143106.png
AmigaOne X5000 -> 2GHz / 16GB RAM / Radeon R7 250 / M-Audio 5.1 -> AmigaOS 4.1 FE / Ubuntu Linux
Amiga 1200 -> Recapped / 68ec020 ACA 1221ec / CF HDD / RetroNET connected to the world

User avatar
xeno74
Posts: 6081
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 5.8

Post by xeno74 »

Skateman wrote:
Sat Jun 20, 2020 1:33 pm
Kernel DPAA15 is running fine with the onboard Ethernet adapter
OK, "git bisect good". Result: lib: fix bitmap_parse() on 64-bit big endian archs is the first bad commit.

Code: Select all

81c4f4d924d5d009b5ed785a3e22b18d0f7b831f is the first bad commit
commit 81c4f4d924d5d009b5ed785a3e22b18d0f7b831f
Author: Alexander Gordeev <agordeev@linux.ibm.com>
Date:   Wed Jun 10 18:41:41 2020 -0700

    lib: fix bitmap_parse() on 64-bit big endian archs
    
    Commit 2d6261583be0 ("lib: rework bitmap_parse()") does not take into
    account order of halfwords on 64-bit big endian architectures.  As
    result (at least) Receive Packet Steering, IRQ affinity masks and
    runtime kernel test "test_bitmap" get broken on s390.
    
    [andriy.shevchenko@linux.intel.com: convert infinite while loop to a for loop]
      Link: http://lkml.kernel.org/r/20200609140535.87160-1-andriy.shevchenko@linux.intel.com
    
    Fixes: 2d6261583be0 ("lib: rework bitmap_parse()")
    Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Cc: Yury Norov <yury.norov@gmail.com>
    Cc: Amritha Nambiar <amritha.nambiar@intel.com>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Kees Cook <keescook@chromium.org>
    Cc: Matthew Wilcox <willy@infradead.org>
    Cc: Miklos Szeredi <mszeredi@redhat.com>
    Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
    Cc: Steffen Klassert <steffen.klassert@secunet.com>
    Cc: "Tobin C . Harding" <tobin@kernel.org>
    Cc: Vineet Gupta <vineet.gupta1@synopsys.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: Willem de Bruijn <willemb@google.com>
    Cc: <stable@vger.kernel.org>
    Link: http://lkml.kernel.org/r/1591634471-17647-1-git-send-email-agordeev@linux.ibm.com
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

:040000 040000 ebf8a78b34b93db2250307596e4ac2cd19aef085 57e9b66c86ac6e164fd4531eefba76d06e3644e3 M	lib
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.

User avatar
xeno74
Posts: 6081
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 5.8

Post by xeno74 »

Skateman,

I downloaded the latest Git kernel today. After that I was able to revert the first bad commit.

Code: Select all

git revert 81c4f4d924d5d009b5ed785a3e22b18d0f7b831f
Output:

Code: Select all

[master 07b4d4ad9701] Revert "lib: fix bitmap_parse() on 64-bit big endian archs"
 1 file changed, 2 insertions(+), 7 deletions(-)
I created a patch with the command "diff -rupN a b > dpaa-v1.patch".

dpaa-v1.patch:

Code: Select all

diff -rupN a/lib/bitmap.c b/lib/bitmap.c
--- a/lib/bitmap.c      2020-06-20 15:04:45.391807914 +0200
+++ b/lib/bitmap.c      2020-06-20 15:01:48.792908877 +0200
@@ -741,9 +741,8 @@ int bitmap_parse(const char *start, unsi
        int chunks = BITS_TO_U32(nmaskbits);
        u32 *bitmap = (u32 *)maskp;
        int unset_bit;
-       int chunk;

-       for (chunk = 0; ; chunk++) {
+       while (1) {
                end = bitmap_find_region_reverse(start, end);
                if (start > end)
                        break;
@@ -751,11 +750,7 @@ int bitmap_parse(const char *start, unsi
                if (!chunks--)
                        return -EOVERFLOW;

-#if defined(CONFIG_64BIT) && defined(__BIG_ENDIAN)
-               end = bitmap_get_x32_reverse(start, end, &bitmap[chunk ^ 1]);
-#else
-               end = bitmap_get_x32_reverse(start, end, &bitmap[chunk]);
-#endif
+               end = bitmap_get_x32_reverse(start, end, bitmap++);
                if (IS_ERR(end))
                        return PTR_ERR(end);
        }
I will compile a patched kernel.

Cheers,
Christian
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.

User avatar
Skateman
Posts: 494
Joined: Thu Aug 10, 2017 8:36 pm
Location: The Netherlands

Re: Kernel 5.8

Post by Skateman »

Great,

Looking forward to the patched kernel.
AmigaOne X5000 -> 2GHz / 16GB RAM / Radeon R7 250 / M-Audio 5.1 -> AmigaOS 4.1 FE / Ubuntu Linux
Amiga 1200 -> Recapped / 68ec020 ACA 1221ec / CF HDD / RetroNET connected to the world

User avatar
xeno74
Posts: 6081
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 5.8

Post by xeno74 »

Skateman wrote:
Sat Jun 20, 2020 2:09 pm
Great,

Looking forward to the patched kernel.
Soon :-) .... In 15 minutes ....
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.

User avatar
xeno74
Posts: 6081
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 5.8

Post by xeno74 »

Skateman,

Code: Select all

patch -p0 < dpaa-v1.patch
Output:

Code: Select all

patching file a/lib/bitmap.c
I was able to compile it. Please test it.

Download: uImage-dpaa16

Thanks,
Christian
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.

User avatar
Skateman
Posts: 494
Joined: Thu Aug 10, 2017 8:36 pm
Location: The Netherlands

Re: Kernel 5.8

Post by Skateman »

Kernel DPAA16 working fine with the onboard Ethernet adapter!

Image

Big picture http://www.skateman.nl/wp-content/uploa ... 155641.png
AmigaOne X5000 -> 2GHz / 16GB RAM / Radeon R7 250 / M-Audio 5.1 -> AmigaOS 4.1 FE / Ubuntu Linux
Amiga 1200 -> Recapped / 68ec020 ACA 1221ec / CF HDD / RetroNET connected to the world

User avatar
xeno74
Posts: 6081
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 5.8

Post by xeno74 »

Skateman wrote:
Sat Jun 20, 2020 3:00 pm
Kernel DPAA16 working fine with the onboard Ethernet adapter!
Great! We have found the bad commit and we have a patch!

Could you please also test the latest Git kernel without this patch? Maybe the kernel developers have fixed this issue in the meantime. We have to be sure that the issue still exists before we reporting it to the Linuxppc-dev mailing list.

Download: uImage-dpaa17
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.

User avatar
Skateman
Posts: 494
Joined: Thu Aug 10, 2017 8:36 pm
Location: The Netherlands

Re: Kernel 5.8

Post by Skateman »

Kernel DPAA17 BREAKS the onboard Ethernet adapter

Image

Big picture http://www.skateman.nl/wp-content/uploa ... 191440.png
AmigaOne X5000 -> 2GHz / 16GB RAM / Radeon R7 250 / M-Audio 5.1 -> AmigaOS 4.1 FE / Ubuntu Linux
Amiga 1200 -> Recapped / 68ec020 ACA 1221ec / CF HDD / RetroNET connected to the world

User avatar
xeno74
Posts: 6081
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 5.8

Post by xeno74 »

Skateman wrote:
Sat Jun 20, 2020 6:18 pm
Kernel DPAA17 BREAKS the onboard Ethernet adapter
Hi Skateman,

Thanks a lot for testing! I reported our results to the Linuxppc-dev mailing list today.

Link: FSL P5020/P5040: DPAA Ethernet issue with the latest Git kernel

Cheers,
Christian
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.

Post Reply