Kernel 5.0

AmigaOne X1000 platform specific issues related to Linux only.
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 5.0

Post by xeno74 »

FYI:
Darren Stevens wrote: Hello Christoph

Finally got to compile a working version from this, not sure what was wrong with my previous builds...

I've tested on my X5000, all working good so far, in fact my Soundblaster live sound card seem to like the changes and works without patching the kernel. (Nice)

Not sure when I'll get chance to test on X1000 though.

Regards
Darren
Darren Stevens wrote: Hello Christoph

Update: I found the following in my dmesg, think it points to an of-by-one error in the pfn selection:

Feb 9 19:47:00 Cyrus kernel: [ 0.000000] Top of RAM: 0x200000000, Total RAM: 0x200000000
Feb 9 19:47:00 Cyrus kernel: [ 0.000000] Memory hole size: 0MB
Feb 9 19:47:00 Cyrus kernel: [ 0.000000] Zone ranges:
Feb 9 19:47:00 Cyrus kernel: [ 0.000000] DMA [mem 0x0000000000000000-0x000000007fffefff]
Feb 9 19:47:00 Cyrus kernel: [ 0.000000] Normal [mem 0x000000007ffff000-0x00000001ffffffff]

I had a quick look but couldn't see where though.

Regards
Darren
Darren Stevens wrote: The Cyrus board from Varisys has power-off and reset functions attached
to gpio pins. Add the required device-tree bindings.

Signed-off-by: Darren Stevens <darren@stevens-zone.net>

Code: Select all

diff --git a/arch/powerpc/boot/dts/fsl/cyrus_p5020.dts b/arch/powerpc/boot/dts/fsl/cyrus_p5020.dts
index c603390..15e8440 100644
--- a/arch/powerpc/boot/dts/fsl/cyrus_p5020.dts
+++ b/arch/powerpc/boot/dts/fsl/cyrus_p5020.dts
@@ -71,6 +71,17 @@
                reg = <0x6f>;
            };
        };
+
+       gpio-poweroff {
+           compatible = "gpio-poweroff";
+           gpios = <&gpio0 3 1>;
+       };
+
+       gpio-restart {
+           compatible = "gpio-restart";
+           gpios = <&gpio0 2 1>;
+       };
+
    };
 
    rio: rapidio@ffe0c0000 {
Darren Stevens wrote: The disk activity LED on the Cyrus board is attached to a gpio pin,
add the required device-tree node for the kernel driver to use.

Signed-off-by: Darren Stevens <darren@stevens-zone.net>

Code: Select all

diff --git a/arch/powerpc/boot/dts/fsl/cyrus_p5020.dts b/arch/powerpc/boot/dts/fsl/cyrus_p5020.dts
index 15e8440..348cfdb 100644
--- a/arch/powerpc/boot/dts/fsl/cyrus_p5020.dts
+++ b/arch/powerpc/boot/dts/fsl/cyrus_p5020.dts
@@ -82,6 +82,15 @@
            gpios = <&gpio0 2 1>;
        };
 
+       leds {
+           compatible = "gpio-leds";
+
+           hdd {
+               label = "Disk Activity";
+               gpios = <&gpio0 5 0>;
+               linux,default-trigger = "disk-activity";
+           };
+       };
    };
 
    rio: rapidio@ffe0c0000 {
Link to the thread: use generic DMA mapping code in powerpc V4
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 5.0

Post by xeno74 »

Hi All,

I tested Christoph's latest Git kernel in a virtual e5500 QEMU machine [1] today. Unfortunately the kernel crashes.

Code: Select all

[   54.624330] BUG: Unable to handle kernel data access at 0xc06c008a0013014a
[   54.625640] Faulting instruction address: 0xc000000000027e7c
[   54.626140] Oops: Kernel access of bad area, sig: 11 [#1]
[   54.626456] BE SMP NR_CPUS=4 QEMU e500
[   54.626876] Modules linked in:
[   54.627284] CPU: 1 PID: 1876 Comm: systemd-journal Not tainted 5.0.0-rc5-DMA_A1-X5000-54581-gda1d065-dirty #1
[   54.627819] NIP:  c000000000027e7c LR: c0000000000b5264 CTR: 0000000000000000
[   54.628173] REGS: c00000007ffeb700 TRAP: 0300   Not tainted  (5.0.0-rc5-DMA_A1-X5000-54581-gda1d065-dirty)
[   54.628607] MSR:  0000000080009000 <EE,ME>  CR: 44008486  XER: 00000000
[   54.629023] DEAR: c06c008a0013014a ESR: 0000000000800000 IRQMASK: 0 
[   54.629023] GPR00: 0000000000005254 c00000007ffeb990 c0000000016b2000 c06c008a0013014a 
[   54.629023] GPR04: c00000007c54f8c0 0000000000000058 0000000000000006 0000000000000000 
[   54.629023] GPR08: 0000000000000000 000000007c54f8c0 006c008a0013014a c00000007c86c000 
[   54.629023] GPR12: 0000000028002482 c00000003ffff8c0 0000000000000000 c000000078dfaa70 
[   54.629023] GPR16: c000000078366c00 0000000000000000 000000000000005e 0000000000000000 
[   54.629023] GPR20: 0000000000000000 c00000007c54f8c0 0000000000000007 c000000078dfa000 
[   54.629023] GPR24: 0000000000000000 0000000000000047 0000000000000000 80000000003f6470 
[   54.629023] GPR28: c00000007928d470 c000000078801dc0 000000000000005e c000000078dfa7c0 
[   54.632572] NIP [c000000000027e7c] .memcpy+0x1fc/0x288
[   54.632886] LR [c0000000000b5264] .swiotlb_tbl_sync_single+0xb0/0xe4
[   54.633221] Call Trace:
[   54.633513] [c00000007ffeb990] [c00000007ffeba70] 0xc00000007ffeba70 (unreliable)
[   54.633988] [c00000007ffeba00] [c0000000000b41e4] .dma_direct_sync_single_for_cpu+0x58/0x6c
[   54.634436] [c00000007ffeba70] [c000000000788da4] .e1000_clean_rx_irq+0x1bc/0x4c8
[   54.634857] [c00000007ffebb90] [c00000000078667c] .e1000_clean+0x714/0x8d4
[   54.635263] [c00000007ffebcc0] [c000000000a3f15c] .net_rx_action+0x11c/0x2a4
[   54.635712] [c00000007ffebdb0] [c000000000c48c20] .__do_softirq+0x150/0x2a8
[   54.636211] [c00000007ffebeb0] [c000000000064184] .irq_exit+0x6c/0xc4
[   54.636533] [c00000007ffebf20] [c000000000004124] .__do_irq+0x80/0x94
[   54.636985] [c00000007ffebf90] [c00000000000eca0] .call_do_irq+0x14/0x24
[   54.637371] [c00000007c86fd80] [c0000000000041c0] .do_IRQ+0x88/0xc4
[   54.637737] [c00000007c86fe20] [c000000000012920] exc_0x500_common+0xd8/0xdc
[   54.638104] Instruction dump:
[   54.638451] e861fff8 4e800020 7cd01120 7ca62850 38e00000 28a50010 409f0010 88040000 
[   54.638887] 98030000 38e70001 409e0010 7c07222e <7c071b2e> 38e70002 409d000c 7c07202e 
[   54.639594] ---[ end trace a4861de7e4c199f7 ]---
[   54.639873] 
[   55.640484] Kernel panic - not syncing: Aiee, killing interrupt handler!
[   55.641556] Rebooting in 180 seconds..
I tested with the following QEMU commands:

Code: Select all

./qemu-system-ppc64 -M ppce500 -cpu e5500 -m 2048  -nographic -kernel /home/christian/Downloads/vmlinux-5.0-rc5-2-AmigaOne_X1000_X5000/X5000_and_QEMU_e5500/uImage-5.0 -nic user,model=e1000 -drive format=raw,file=/home/christian/Downloads/MATE_PowerPC_Remix_2017_0.9.img,index=0,if=virtio -append "rw root=/dev/vda" -smp 4

Code: Select all

./qemu-system-ppc64 -M ppce500 -cpu e5500 -m 2048 -kernel /home/christian/Downloads/vmlinux-5.0-rc5-2-AmigaOne_X1000_X5000/X5000_and_QEMU_e5500/uImage-5.0 -drive format=raw,file=/home/christian/Downloads/MATE_PowerPC_Remix_2017_0.9.img,index=0,if=virtio -nic user,model=e1000 -append "rw root=/dev/vda" -device virtio-vga -device virtio-mouse-pci -device virtio-keyboard-pci -usb -soundhw es1370 -smp 4
[1] Gitweb: powerpc-dma.6

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

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 5.0

Post by xeno74 »

Hi All,

The kernel developers want to use the generic DMA mapping code for PowerPC machines. They modified the source code for testing. Maybe they want to add it to the kernel 5.1. They have released a kernel with the DMA modifications. We are testing kernels from this Git currently.

Link to the Git: powerpc-dma.6

I have created a kernel from this Git for testing.

Download: vmlinux-5.0-rc5-2-AmigaOne_X1000_X5000.tar.gz

Image

Please test it carefully.

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

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Kernel 5.0

Post by xeno74 »

Hi All,

I released the RC6 of kernel 5.0 today.

New:
Download: linux-image-5.0-rc6-X1000_X5000.tar.gz

Image

Please test all kernels.

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

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 5.0

Post by xeno74 »

xeno74 wrote:Hi All,

I tested Christoph's latest Git kernel in a virtual e5500 QEMU machine [1] today. Unfortunately the kernel crashes.

Code: Select all

[   54.624330] BUG: Unable to handle kernel data access at 0xc06c008a0013014a
[   54.625640] Faulting instruction address: 0xc000000000027e7c
[   54.626140] Oops: Kernel access of bad area, sig: 11 [#1]
[   54.626456] BE SMP NR_CPUS=4 QEMU e500
[   54.626876] Modules linked in:
[   54.627284] CPU: 1 PID: 1876 Comm: systemd-journal Not tainted 5.0.0-rc5-DMA_A1-X5000-54581-gda1d065-dirty #1
[   54.627819] NIP:  c000000000027e7c LR: c0000000000b5264 CTR: 0000000000000000
[   54.628173] REGS: c00000007ffeb700 TRAP: 0300   Not tainted  (5.0.0-rc5-DMA_A1-X5000-54581-gda1d065-dirty)
[   54.628607] MSR:  0000000080009000 <EE,ME>  CR: 44008486  XER: 00000000
[   54.629023] DEAR: c06c008a0013014a ESR: 0000000000800000 IRQMASK: 0 
[   54.629023] GPR00: 0000000000005254 c00000007ffeb990 c0000000016b2000 c06c008a0013014a 
[   54.629023] GPR04: c00000007c54f8c0 0000000000000058 0000000000000006 0000000000000000 
[   54.629023] GPR08: 0000000000000000 000000007c54f8c0 006c008a0013014a c00000007c86c000 
[   54.629023] GPR12: 0000000028002482 c00000003ffff8c0 0000000000000000 c000000078dfaa70 
[   54.629023] GPR16: c000000078366c00 0000000000000000 000000000000005e 0000000000000000 
[   54.629023] GPR20: 0000000000000000 c00000007c54f8c0 0000000000000007 c000000078dfa000 
[   54.629023] GPR24: 0000000000000000 0000000000000047 0000000000000000 80000000003f6470 
[   54.629023] GPR28: c00000007928d470 c000000078801dc0 000000000000005e c000000078dfa7c0 
[   54.632572] NIP [c000000000027e7c] .memcpy+0x1fc/0x288
[   54.632886] LR [c0000000000b5264] .swiotlb_tbl_sync_single+0xb0/0xe4
[   54.633221] Call Trace:
[   54.633513] [c00000007ffeb990] [c00000007ffeba70] 0xc00000007ffeba70 (unreliable)
[   54.633988] [c00000007ffeba00] [c0000000000b41e4] .dma_direct_sync_single_for_cpu+0x58/0x6c
[   54.634436] [c00000007ffeba70] [c000000000788da4] .e1000_clean_rx_irq+0x1bc/0x4c8
[   54.634857] [c00000007ffebb90] [c00000000078667c] .e1000_clean+0x714/0x8d4
[   54.635263] [c00000007ffebcc0] [c000000000a3f15c] .net_rx_action+0x11c/0x2a4
[   54.635712] [c00000007ffebdb0] [c000000000c48c20] .__do_softirq+0x150/0x2a8
[   54.636211] [c00000007ffebeb0] [c000000000064184] .irq_exit+0x6c/0xc4
[   54.636533] [c00000007ffebf20] [c000000000004124] .__do_irq+0x80/0x94
[   54.636985] [c00000007ffebf90] [c00000000000eca0] .call_do_irq+0x14/0x24
[   54.637371] [c00000007c86fd80] [c0000000000041c0] .do_IRQ+0x88/0xc4
[   54.637737] [c00000007c86fe20] [c000000000012920] exc_0x500_common+0xd8/0xdc
[   54.638104] Instruction dump:
[   54.638451] e861fff8 4e800020 7cd01120 7ca62850 38e00000 28a50010 409f0010 88040000 
[   54.638887] 98030000 38e70001 409e0010 7c07222e <7c071b2e> 38e70002 409d000c 7c07202e 
[   54.639594] ---[ end trace a4861de7e4c199f7 ]---
[   54.639873] 
[   55.640484] Kernel panic - not syncing: Aiee, killing interrupt handler!
[   55.641556] Rebooting in 180 seconds..
I tested with the following QEMU commands:

Code: Select all

./qemu-system-ppc64 -M ppce500 -cpu e5500 -m 2048  -nographic -kernel /home/christian/Downloads/vmlinux-5.0-rc5-2-AmigaOne_X1000_X5000/X5000_and_QEMU_e5500/uImage-5.0 -nic user,model=e1000 -drive format=raw,file=/home/christian/Downloads/MATE_PowerPC_Remix_2017_0.9.img,index=0,if=virtio -append "rw root=/dev/vda" -smp 4

Code: Select all

./qemu-system-ppc64 -M ppce500 -cpu e5500 -m 2048 -kernel /home/christian/Downloads/vmlinux-5.0-rc5-2-AmigaOne_X1000_X5000/X5000_and_QEMU_e5500/uImage-5.0 -drive format=raw,file=/home/christian/Downloads/MATE_PowerPC_Remix_2017_0.9.img,index=0,if=virtio -nic user,model=e1000 -append "rw root=/dev/vda" -device virtio-vga -device virtio-mouse-pci -device virtio-keyboard-pci -usb -soundhw es1370 -smp 4
[1] Gitweb: powerpc-dma.6

Cheers,
Christian
Christoph Hellwig wrote: This looks like a patch I fixed in mainline a while ago, but which
the powerpc tree didn't have yet.

I've cherry picked this commit
("swiotlb: clear io_tlb_start and io_tlb_end in swiotlb_exit")

and added it to the powerpc-dma.6 tree, please retry with that one.
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 5.0

Post by xeno74 »

Great news! :-)
Christian Zigotzky wrote: Hi Christoph

Many thanks! Your Git kernel works in a virtual e5500 machine now!

I think we have reached the end of testing! All things are working with your DMA updates.

I am looking forward to testing your DMA changes in the next merge window again.

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

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 5.0

Post by xeno74 »

Success! :-) We have finished the testing of the DMA updates.

Link: https://lists.ozlabs.org/pipermail/linuxppc-dev/2019-February/185427.html

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

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 5.0

Post by xeno74 »

http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 5.0

Post by xeno74 »

Hi All,

I successfully tested the RC7 in a virtual QEMU machine today.

Image

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

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9319
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 5.0

Post by xeno74 »

Hi All,

I released the RC8 of kernel 5.0 for testing today.

New:
Download: linux-image-5.0-rc8-X1000_X5000.tar.gz

Generations together :-) Screenshot of Fienix PowerPC with the RC8 of kernel 5.0 and with Ubuntu 10.04.4 LTS PowerPC (virtual Power Mac G4 QEMU/KVM-PR machine):

Image

Please test it.

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

Running Linux on AmigaONEs can require some tinkering.
Post Reply