Hello,
The Nemo board (A-EON AmigaOne X1000) [1] and the FSL P5040 Cyrus+ board (A-EON AmigaOne X5000) [2] with installed AMD Radeon HD6970 NI graphics cards (Cayman XT) [3] don't boot with the latest git kernel anymore after the commit "drm/radeon/nislands_smc.h: Replace one-element array with flexible-array member in struct NISLANDS_SMC_SWSTATE branch" [4]. This git kernel boots in a virtual e5500 QEMU machine with a VirtIO-GPU [5].
I bisected today [6].
Result: drm/radeon/nislands_smc.h: Replace one-element array with flexible-array member in struct NISLANDS_SMC_SWSTATE branch (434fb1e7444a2efc3a4ebd950c7f771ebfcffa31) [4] is the first bad commit.
I was able to revert this commit [7] and after a new compiling, the kernel boots without any problems on my AmigaOnes.
After that I created a patch for reverting this commit for new git test kernels. [3]
The kernel compiles and boots with this patch on my AmigaOnes. Please find attached the kernel config files.
Please check the first bad commit.
Thanks, Christian
[1] https://en.wikipedia.org/wiki/AmigaOne_X1000 [2] http://wiki.amiga.org/index.php?title=X5000 [3] https://forum.hyperion-entertainment.com/viewtopic.php?f=35&t=4377 [4] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?i... [5] 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 [6] https://forum.hyperion-entertainment.com/viewtopic.php?p=53074#p53074 [7] git revert 434fb1e7444a2efc3a4ebd950c7f771ebfcffa3
[AMD Public Use]
+ Gustavo, amd-gfx
-----Original Message----- From: Christian Zigotzky chzigotzky@xenosoft.de Sent: Friday, April 30, 2021 8:00 AM To: gustavoars@kernel.org; Deucher, Alexander Alexander.Deucher@amd.com Cc: R.T.Dickinson rtd2@xtra.co.nz; Darren Stevens <darren@stevens- zone.net>; mad skateman madskateman@gmail.com; linuxppc-dev linuxppc-dev@lists.ozlabs.org; Olof Johansson olof@lixom.net; Maling list - DRI developers dri-devel@lists.freedesktop.org; Michel Dänzer michel@daenzer.net; Christian Zigotzky info@xenosoft.de Subject: Radeon NI: GIT kernel with the nislands_smc commit doesn't boot on a Freescale P5040 board and P.A.Semi Nemo board
Hello,
The Nemo board (A-EON AmigaOne X1000) [1] and the FSL P5040 Cyrus+ board (A-EON AmigaOne X5000) [2] with installed AMD Radeon HD6970 NI graphics cards (Cayman XT) [3] don't boot with the latest git kernel anymore after the commit "drm/radeon/nislands_smc.h: Replace one-element array with flexible-array member in struct NISLANDS_SMC_SWSTATE branch" [4]. This git kernel boots in a virtual e5500 QEMU machine with a VirtIO-GPU [5].
I bisected today [6].
Result: drm/radeon/nislands_smc.h: Replace one-element array with flexible-array member in struct NISLANDS_SMC_SWSTATE branch (434fb1e7444a2efc3a4ebd950c7f771ebfcffa31) [4] is the first bad commit.
I was able to revert this commit [7] and after a new compiling, the kernel boots without any problems on my AmigaOnes.
After that I created a patch for reverting this commit for new git test kernels. [3]
The kernel compiles and boots with this patch on my AmigaOnes. Please find attached the kernel config files.
Please check the first bad commit.
Thanks, Christian
[1] https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fen. wikipedia.org%2Fwiki%2FAmigaOne_X1000&data=04%7C01%7Calexand er.deucher%40amd.com%7C0622549383fb4320346b08d90bcf7be1%7C3dd89 61fe4884e608e11a82d994e183d%7C0%7C0%7C637553808670161651%7CUnkn own%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik 1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=PNSrApUdMrku20hH7dEKlJJ TBi7Qp5JOkqpA4MvKqdE%3D&reserved=0 [2] https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwiki. a miga.org%2Findex.php%3Ftitle%3DX5000&data=04%7C01%7Calexander .deucher%40amd.com%7C0622549383fb4320346b08d90bcf7be1%7C3dd8961f e4884e608e11a82d994e183d%7C0%7C0%7C637553808670161651%7CUnknow n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1ha WwiLCJXVCI6Mn0%3D%7C1000&sdata=B8Uvhs25%2FP3RfnL1AgICN3Y4 CEXeCE1yIoi3vvwvGto%3D&reserved=0 [3] https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fforu m.hyperion- entertainment.com%2Fviewtopic.php%3Ff%3D35%26t%3D4377&data= 04%7C01%7Calexander.deucher%40amd.com%7C0622549383fb4320346b08d 90bcf7be1%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C63755380 8670161651%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIj oiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=TokXplD Tvg3%2BZMPLCgR1fs%2BN2X9MIfLXLW67MAM2Qsk%3D&reserved=0 [4] https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit. k ernel.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Ftorvalds%2Flinux.git% 2Fcommit%2F%3Fid%3D434fb1e7444a2efc3a4ebd950c7f771ebfcffa31&d ata=04%7C01%7Calexander.deucher%40amd.com%7C0622549383fb4320346 b08d90bcf7be1%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C6375 53808670161651%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiL CJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=JC M4xvPEnWdckcTPbQ2Ujv%2FAiMMsFMzzl4Pr%2FRPlcMQ%3D&reserve d=0 [5] 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 [6] https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fforu m.hyperion- entertainment.com%2Fviewtopic.php%3Fp%3D53074%23p53074&data =04%7C01%7Calexander.deucher%40amd.com%7C0622549383fb4320346b08 d90bcf7be1%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C6375538 08670161651%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQ IjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=RXfSlY A3bDEFas0%2Fk2vMWsl2l0nuhS2ecjZgSBLc%2Bs4%3D&reserved=0 [7] git revert 434fb1e7444a2efc3a4ebd950c7f771ebfcffa3
On 4/30/21 10:26, Deucher, Alexander wrote:
[AMD Public Use]
- Gustavo, amd-gfx
-----Original Message----- From: Christian Zigotzky chzigotzky@xenosoft.de Sent: Friday, April 30, 2021 8:00 AM To: gustavoars@kernel.org; Deucher, Alexander Alexander.Deucher@amd.com Cc: R.T.Dickinson rtd2@xtra.co.nz; Darren Stevens <darren@stevens- zone.net>; mad skateman madskateman@gmail.com; linuxppc-dev linuxppc-dev@lists.ozlabs.org; Olof Johansson olof@lixom.net; Maling list - DRI developers dri-devel@lists.freedesktop.org; Michel Dänzer michel@daenzer.net; Christian Zigotzky info@xenosoft.de Subject: Radeon NI: GIT kernel with the nislands_smc commit doesn't boot on a Freescale P5040 board and P.A.Semi Nemo board
Hello,
The Nemo board (A-EON AmigaOne X1000) [1] and the FSL P5040 Cyrus+ board (A-EON AmigaOne X5000) [2] with installed AMD Radeon HD6970 NI graphics cards (Cayman XT) [3] don't boot with the latest git kernel anymore after the commit "drm/radeon/nislands_smc.h: Replace one-element array with flexible-array member in struct NISLANDS_SMC_SWSTATE branch" [4]. This git kernel boots in a virtual e5500 QEMU machine with a VirtIO-GPU [5].
I bisected today [6].
Result: drm/radeon/nislands_smc.h: Replace one-element array with flexible-array member in struct NISLANDS_SMC_SWSTATE branch (434fb1e7444a2efc3a4ebd950c7f771ebfcffa31) [4] is the first bad commit.
I was able to revert this commit [7] and after a new compiling, the kernel boots without any problems on my AmigaOnes.
After that I created a patch for reverting this commit for new git test kernels. [3]
The kernel compiles and boots with this patch on my AmigaOnes. Please find attached the kernel config files.
Please check the first bad commit.
I'll have a look.
Thanks for the report! -- Gustavo
Thanks, Christian
[1] https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fen. wikipedia.org%2Fwiki%2FAmigaOne_X1000&data=04%7C01%7Calexand er.deucher%40amd.com%7C0622549383fb4320346b08d90bcf7be1%7C3dd89 61fe4884e608e11a82d994e183d%7C0%7C0%7C637553808670161651%7CUnkn own%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik 1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=PNSrApUdMrku20hH7dEKlJJ TBi7Qp5JOkqpA4MvKqdE%3D&reserved=0 [2] https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwiki. a miga.org%2Findex.php%3Ftitle%3DX5000&data=04%7C01%7Calexander .deucher%40amd.com%7C0622549383fb4320346b08d90bcf7be1%7C3dd8961f e4884e608e11a82d994e183d%7C0%7C0%7C637553808670161651%7CUnknow n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1ha WwiLCJXVCI6Mn0%3D%7C1000&sdata=B8Uvhs25%2FP3RfnL1AgICN3Y4 CEXeCE1yIoi3vvwvGto%3D&reserved=0 [3] https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fforu m.hyperion- entertainment.com%2Fviewtopic.php%3Ff%3D35%26t%3D4377&data= 04%7C01%7Calexander.deucher%40amd.com%7C0622549383fb4320346b08d 90bcf7be1%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C63755380 8670161651%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIj oiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=TokXplD Tvg3%2BZMPLCgR1fs%2BN2X9MIfLXLW67MAM2Qsk%3D&reserved=0 [4] https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit. k ernel.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Ftorvalds%2Flinux.git% 2Fcommit%2F%3Fid%3D434fb1e7444a2efc3a4ebd950c7f771ebfcffa31&d ata=04%7C01%7Calexander.deucher%40amd.com%7C0622549383fb4320346 b08d90bcf7be1%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C6375 53808670161651%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiL CJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=JC M4xvPEnWdckcTPbQ2Ujv%2FAiMMsFMzzl4Pr%2FRPlcMQ%3D&reserve d=0 [5] 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 [6] https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fforu m.hyperion- entertainment.com%2Fviewtopic.php%3Fp%3D53074%23p53074&data =04%7C01%7Calexander.deucher%40amd.com%7C0622549383fb4320346b08 d90bcf7be1%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C6375538 08670161651%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQ IjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=RXfSlY A3bDEFas0%2Fk2vMWsl2l0nuhS2ecjZgSBLc%2Bs4%3D&reserved=0 [7] git revert 434fb1e7444a2efc3a4ebd950c7f771ebfcffa3
Hi Christian,
On 4/30/21 06:59, Christian Zigotzky wrote:
Hello,
The Nemo board (A-EON AmigaOne X1000) [1] and the FSL P5040 Cyrus+ board (A-EON AmigaOne X5000) [2] with installed AMD Radeon HD6970 NI graphics cards (Cayman XT) [3] don't boot with the latest git kernel anymore after the commit "drm/radeon/nislands_smc.h: Replace one-element array with flexible-array member in struct NISLANDS_SMC_SWSTATE branch" [4]. This git kernel boots in a virtual e5500 QEMU machine with a VirtIO-GPU [5].
I bisected today [6].
Result: drm/radeon/nislands_smc.h: Replace one-element array with flexible-array member in struct NISLANDS_SMC_SWSTATE branch (434fb1e7444a2efc3a4ebd950c7f771ebfcffa31) [4] is the first bad commit.
I have a fix ready for this bug: https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git/commit/...
I wonder if you could help me to test it with your environment, please. It should be applied on top of mainline.
Thank you! -- Gustavo
I was able to revert this commit [7] and after a new compiling, the kernel boots without any problems on my AmigaOnes.
After that I created a patch for reverting this commit for new git test kernels. [3]
The kernel compiles and boots with this patch on my AmigaOnes. Please find attached the kernel config files.
Please check the first bad commit.
Thanks, Christian
[1] https://en.wikipedia.org/wiki/AmigaOne_X1000 [2] http://wiki.amiga.org/index.php?title=X5000 [3] https://forum.hyperion-entertainment.com/viewtopic.php?f=35&t=4377 [4] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?i... [5] 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 [6] https://forum.hyperion-entertainment.com/viewtopic.php?p=53074#p53074 [7] git revert 434fb1e7444a2efc3a4ebd950c7f771ebfcffa3
Hi Gustavo,
Great! I will test it. Many thanks for your help.
Cheers, Christian
On 7. May 2021, at 01:55, Gustavo A. R. Silva gustavo@embeddedor.com wrote:
Hi Christian,
On 4/30/21 06:59, Christian Zigotzky wrote: Hello,
The Nemo board (A-EON AmigaOne X1000) [1] and the FSL P5040 Cyrus+ board (A-EON AmigaOne X5000) [2] with installed AMD Radeon HD6970 NI graphics cards (Cayman XT) [3] don't boot with the latest git kernel anymore after the commit "drm/radeon/nislands_smc.h: Replace one-element array with flexible-array member in struct NISLANDS_SMC_SWSTATE branch" [4]. This git kernel boots in a virtual e5500 QEMU machine with a VirtIO-GPU [5].
I bisected today [6].
Result: drm/radeon/nislands_smc.h: Replace one-element array with flexible-array member in struct NISLANDS_SMC_SWSTATE branch (434fb1e7444a2efc3a4ebd950c7f771ebfcffa31) [4] is the first bad commit.
I have a fix ready for this bug: https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git/commit/...
I wonder if you could help me to test it with your environment, please. It should be applied on top of mainline.
Thank you!
Gustavo
I was able to revert this commit [7] and after a new compiling, the kernel boots without any problems on my AmigaOnes.
After that I created a patch for reverting this commit for new git test kernels. [3]
The kernel compiles and boots with this patch on my AmigaOnes. Please find attached the kernel config files.
Please check the first bad commit.
Thanks, Christian
[1] https://en.wikipedia.org/wiki/AmigaOne_X1000 [2] http://wiki.amiga.org/index.php?title=X5000 [3] https://forum.hyperion-entertainment.com/viewtopic.php?f=35&t=4377 [4] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?i... [5] 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 [6] https://forum.hyperion-entertainment.com/viewtopic.php?p=53074#p53074 [7] git revert 434fb1e7444a2efc3a4ebd950c7f771ebfcffa3
Hi Gustavo,
Your patch works! Thanks a lot! I tested it with my Freescale P5040 board and P.A.Semi Nemo board with a connected AMD Radeon HD6970 NI graphics cards (Cayman XT) today.
Have a nice day, Christian
On 07 May 2021 at 08:43am, Christian Zigotzky wrote:
Hi Gustavo,
Great! I will test it. Many thanks for your help.
Cheers, Christian
On 7. May 2021, at 01:55, Gustavo A. R. Silva gustavo@embeddedor.com wrote:
Hi Christian,
On 4/30/21 06:59, Christian Zigotzky wrote: Hello,
The Nemo board (A-EON AmigaOne X1000) [1] and the FSL P5040 Cyrus+ board (A-EON AmigaOne X5000) [2] with installed AMD Radeon HD6970 NI graphics cards (Cayman XT) [3] don't boot with the latest git kernel anymore after the commit "drm/radeon/nislands_smc.h: Replace one-element array with flexible-array member in struct NISLANDS_SMC_SWSTATE branch" [4]. This git kernel boots in a virtual e5500 QEMU machine with a VirtIO-GPU [5].
I bisected today [6].
Result: drm/radeon/nislands_smc.h: Replace one-element array with flexible-array member in struct NISLANDS_SMC_SWSTATE branch (434fb1e7444a2efc3a4ebd950c7f771ebfcffa31) [4] is the first bad commit.
I have a fix ready for this bug: https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git/commit/...
I wonder if you could help me to test it with your environment, please. It should be applied on top of mainline.
Thank you!
Gustavo
I was able to revert this commit [7] and after a new compiling, the kernel boots without any problems on my AmigaOnes.
After that I created a patch for reverting this commit for new git test kernels. [3]
The kernel compiles and boots with this patch on my AmigaOnes. Please find attached the kernel config files.
Please check the first bad commit.
Thanks, Christian
[1] https://en.wikipedia.org/wiki/AmigaOne_X1000 [2] http://wiki.amiga.org/index.php?title=X5000 [3] https://forum.hyperion-entertainment.com/viewtopic.php?f=35&t=4377 [4] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?i... [5] 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 [6] https://forum.hyperion-entertainment.com/viewtopic.php?p=53074#p53074 [7] git revert 434fb1e7444a2efc3a4ebd950c7f771ebfcffa3
Hi Christian,
On 5/8/21 06:33, Christian Zigotzky wrote:
Hi Gustavo,
Your patch works! Thanks a lot! I tested it with my Freescale P5040 board and P.A.Semi Nemo board with a connected AMD Radeon HD6970 NI graphics cards (Cayman XT) today.
Awesome! :)
Thank you! -- Gustavo
Have a nice day, Christian
On 07 May 2021 at 08:43am, Christian Zigotzky wrote:
Hi Gustavo,
Great! I will test it. Many thanks for your help.
Cheers, Christian
On 7. May 2021, at 01:55, Gustavo A. R. Silva gustavo@embeddedor.com wrote:
Hi Christian,
On 4/30/21 06:59, Christian Zigotzky wrote: Hello,
The Nemo board (A-EON AmigaOne X1000) [1] and the FSL P5040 Cyrus+ board (A-EON AmigaOne X5000) [2] with installed AMD Radeon HD6970 NI graphics cards (Cayman XT) [3] don't boot with the latest git kernel anymore after the commit "drm/radeon/nislands_smc.h: Replace one-element array with flexible-array member in struct NISLANDS_SMC_SWSTATE branch" [4]. This git kernel boots in a virtual e5500 QEMU machine with a VirtIO-GPU [5].
I bisected today [6].
Result: drm/radeon/nislands_smc.h: Replace one-element array with flexible-array member in struct NISLANDS_SMC_SWSTATE branch (434fb1e7444a2efc3a4ebd950c7f771ebfcffa31) [4] is the first bad commit.
I have a fix ready for this bug: https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git/commit/...
I wonder if you could help me to test it with your environment, please. It should be applied on top of mainline.
Thank you!
Gustavo
I was able to revert this commit [7] and after a new compiling, the kernel boots without any problems on my AmigaOnes.
After that I created a patch for reverting this commit for new git test kernels. [3]
The kernel compiles and boots with this patch on my AmigaOnes. Please find attached the kernel config files.
Please check the first bad commit.
Thanks, Christian
[1] https://en.wikipedia.org/wiki/AmigaOne_X1000 [2] http://wiki.amiga.org/index.php?title=X5000 [3] https://forum.hyperion-entertainment.com/viewtopic.php?f=35&t=4377 [4] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?i... [5] 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 [6] https://forum.hyperion-entertainment.com/viewtopic.php?p=53074#p53074 [7] git revert 434fb1e7444a2efc3a4ebd950c7f771ebfcffa3
Hello,
Xorg doesn't start anymore in a virtual e5500 QEMU KVM HV machine [1] with the VirtIO GPU after the DRM updates 'drm-next-2021-11-03' [2] on a Freescale P5040 board (A-EON AmigaOne X5000/40) [3]. (See error messages [4] [5]) I reverted the VirtIO GPU changes from the latest DRM updates [2]. After that, the VirtIO GPU works without any problems. The VirtIO GPU works also before the release of the latest DRM updates [2]. (See screenshot [6])
Could you please check the VirtIO GPU changes in the latest DRM updates [2]?
Please find attached the kernel config.
Thanks, Christian
[1] 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 -device virtio-keyboard-pci -device virtio-mouse-pci -smp 3 [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?i... [3] http://wiki.amiga.org/index.php?title=X5000 [4] Error messages in a virtual MintPPC machine (Debian):
Debian GNU/Linux bullseye/sid debian ttyS0
debian login: BUG: Kernel NULL pointer dereference on read at 0x00000018 Faulting instruction address: 0xc00000000075055c Oops: Kernel access of bad area, sig: 11 [#1] BE PAGE_SIZE=4K SMP NR_CPUS=4 QEMU e500 Modules linked in: CPU: 0 PID: 2418 Comm: Xorg Not tainted 5.16.0-a2_A-EON_X5000-07264-gff0700f03609-dirty #1 NIP: c00000000075055c LR: c000000000750550 CTR: c000000000750548 REGS: c00000000ae737f0 TRAP: 0300 Not tainted (5.16.0-a2_A-EON_X5000-07264-gff0700f03609-dirty) MSR: 0000000090029002 <CE,EE,ME> CR: 24022288 XER: 00000000 DEAR: 0000000000000018 ESR: 0000000000000000 IRQMASK: 0 GPR00: c0000000001bd678 c00000000ae73a90 c000000001993600 c00000000a077000 GPR04: c00000000ae73c10 0000000000000001 c00000000a098270 c00000000cafc400 GPR08: c0000000017f2f88 0000000000000000 c0000000018e2418 018c3e5000413614 GPR12: 0000000084082282 c000000001a68000 00000000ffaee5a4 0000000000ee613c GPR16: 0000000000efa53c 0000000000ca5040 000000000000000c 0000000000000000 GPR20: c000000002892598 c00000000a077030 0000000000000000 000000000a077000 GPR24: 000000000af9d300 c00000000af9d300 0000000000000000 c00000000a077000 GPR28: c00000000a448280 c000000002892580 c00000000a098260 c00000000a5aa400 NIP [c00000000075055c] .virtio_gpu_poll+0x14/0x134 LR [c000000000750550] .virtio_gpu_poll+0x8/0x134 Call Trace: [c00000000ae73a90] [c00000000ae73b10] 0xc00000000ae73b10 (unreliable) [c00000000ae73b20] [c0000000001bd678] .ep_item_poll+0x5c/0x80 [c00000000ae73ba0] [c0000000001beb5c] .do_epoll_ctl+0x604/0x878 [c00000000ae73ca0] [c0000000001bee14] .__se_sys_epoll_ctl+0x44/0x8c [c00000000ae73d50] [c00000000000b0d4] .system_call_exception+0x11c/0x148 [c00000000ae73e10] [c0000000000001f8] system_call_common+0xf0/0x210 --- interrupt: c00 at 0x33c634 NIP: 000000000033c634 LR: 0000000000e11ea8 CTR: 0000000000000000 REGS: c00000000ae73e80 TRAP: 0c00 Not tainted (5.16.0-a2_A-EON_X5000-07264-gff0700f03609-dirty) MSR: 000000001002d002 <CE,EE,PR,ME> CR: 46000224 XER: 00000000 IRQMASK: 0 GPR00: 00000000000000ed 00000000ffaee3d0 00000000f7aa8340 0000000000000003 GPR04: 0000000000000001 000000000000000c 00000000ffaee3e8 00000000018c3e48 GPR08: 0000000000000011 0000000000000000 0000000000000000 0000000000000000 GPR12: 0000000000000000 0000000000edfff4 00000000ffaee5a4 0000000000ee613c GPR16: 0000000000efa53c 0000000000ca5040 0000000000000000 0000000000c97330 GPR20: 0000000000c9b800 00000000fffffffc 0000000000000003 0000000001641fb0 GPR24: 000000000174f270 0000000000e0c800 0000000000000001 000000000000000c GPR28: 0000000001642220 00000000018c3e50 0000000000ee7628 0000000000000003 NIP [000000000033c634] 0x33c634 LR [0000000000e11ea8] 0xe11ea8 --- interrupt: c00 Instruction dump: 48000ad9 60000000 7fe3fb78 4befb0f5 60000000 38210080 485fbc44 7c0802a6 485fbbcd f821ff71 ebe300c0 e93f0088 <e9290018> 2fa90000 40de001c 4bef71fd ---[ end trace 24595e2ea6e47c05 ]---
[5] Error messages in a virtual Void PPC machine:
=> Initialization complete, running stage 2... - runit: leave stage: /etc/runit/1 - runit: enter stage: /etc/runit/2 runsvchdir: default: current. urandom_read: 1 callbacks suppressed random: dbus-daemon: uninitialized urandom read (12 bytes read) udevd[2362]: starting version 3.2.10 udevd[2362]: starting eudev-3.2.10 elogind-daemon[2441]: New seat seat0. elogind-daemon[2441]: Watching system buttons on /dev/input/event1 (QEMU Virtio Keyboard) BUG: Kernel NULL pointer dereference on read at 0x00000018 Faulting instruction address: 0xc00000000075055c Oops: Kernel access of bad area, sig: 11 [#1] BE PAGE_SIZE=4K SMP NR_CPUS=4 QEMU e500 Modules linked in: CPU: 0 PID: 2443 Comm: Xorg Not tainted 5.16.0-a2_A-EON_X5000-07264-gff0700f03609-dirty #1 NIP: c00000000075055c LR: c000000000750550 CTR: c000000000750548 REGS: c00000000a7ab7f0 TRAP: 0300 Not tainted (5.16.0-a2_A-EON_X5000-07264-gff0700f03609-dirty) MSR: 0000000090029002 <CE,EE,ME> CR: 24022288 XER: 00000000 DEAR: 0000000000000018 ESR: 0000000000000000 IRQMASK: 0 GPR00: c0000000001bd678 c00000000a7aba90 c000000001993600 c0000000028da400 GPR04: c00000000a7abc10 0000000000000001 c000000009a55800 c0000000028c2900 GPR08: c0000000017f2f88 0000000000000000 c0000000018e2418 00e8bdf0003205d4 GPR12: 0000000084082282 c000000001a68000 0000000000a53230 0000000000000000 GPR16: 0000000000000001 00000000009435d4 000000000000000b 0000000000000000 GPR20: c00000000a98cc98 c0000000028da430 0000000000000000 00000000028da400 GPR24: 000000000a036600 c00000000a036600 0000000000000000 c0000000028da400 GPR28: c000000009a55800 c00000000a98cc80 c00000000a02a210 c000000009b0b200 NIP [c00000000075055c] .virtio_gpu_poll+0x14/0x134 LR [c000000000750550] .virtio_gpu_poll+0x8/0x134 Call Trace: [c00000000a7aba90] [c00000000a7abb10] 0xc00000000a7abb10 (unreliable) [c00000000a7abb20] [c0000000001bd678] .ep_item_poll+0x5c/0x80 [c00000000a7abba0] [c0000000001beb5c] .do_epoll_ctl+0x604/0x878 [c00000000a7abca0] [c0000000001bee14] .__se_sys_epoll_ctl+0x44/0x8c [c00000000a7abd50] [c00000000000b0d4] .system_call_exception+0x11c/0x148 [c00000000a7abe10] [c0000000000001f8] system_call_common+0xf0/0x210 -- interrupt: c00 at 0x24f008 NIP: 000000000024f008 LR: 000000000099e7d4 CTR: 0000000000000000 REGS: c00000000a7abe80 TRAP: 0c00 Not tainted (5.16.0-a2_A-EON_X5000-07264-gff0700f03609-dirty) MSR: 000000001002f002 <CE,EE,PR,FP,ME> CR: 46004224 XER: 00000000 IRQMASK: 0 GPR00: 00000000000000ed 00000000ffb83460 00000000f7a25f60 0000000000000003 GPR04: 0000000000000001 000000000000000b 00000000ffb83478 000000000032061c GPR08: 0000000000e8bdf0 0000000000000000 0000000000000000 0000000000000000 GPR12: 0000000000000000 0000000000a4fff4 0000000000a53230 0000000000000000 GPR16: 0000000000000001 00000000009435d4 000000000094d848 000000000092ab90 GPR20: 0000000000a883e8 00000000fffffffd 0000000000e5edd0 0000000000e8bc60 GPR24: 0000000000904534 0000000000000001 000000000000000b 0000000000000002 GPR28: 0000000000e5f200 0000000000e8bdf0 0000000000a57b74 0000000000000002 NIP [000000000024f008] 0x24f008 LR [000000000099e7d4] 0x99e7d4 --- interrupt: c00 Instruction dump: 48000ad9 60000000 7fe3fb78 4befb0f5 60000000 38210080 485fbc44 7c0802a6 485fbbcd f821ff71 ebe300c0 e93f0088 <e9290018> 2fa90000 40de001c 4bef71fd ---[ end trace ece66d7be00861fa ]---
[6] https://i.ibb.co/SwjTyJk/Kernel-5-16-alpha1-Power-PC.png
When virgl is not enabled, vfpriv pointer would not be allocated. Therefore, check for a valid value before dereferencing.
Reported-by: Christian Zigotzky chzigotzky@xenosoft.de Cc: Gurchetan Singh gurchetansingh@chromium.org Cc: Gerd Hoffmann kraxel@redhat.com Signed-off-by: Vivek Kasireddy vivek.kasireddy@intel.com --- drivers/gpu/drm/virtio/virtgpu_drv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.c b/drivers/gpu/drm/virtio/virtgpu_drv.c index 749db18dcfa2..d86e1ad4a972 100644 --- a/drivers/gpu/drm/virtio/virtgpu_drv.c +++ b/drivers/gpu/drm/virtio/virtgpu_drv.c @@ -163,10 +163,11 @@ static __poll_t virtio_gpu_poll(struct file *filp, struct drm_file *drm_file = filp->private_data; struct virtio_gpu_fpriv *vfpriv = drm_file->driver_priv; struct drm_device *dev = drm_file->minor->dev; + struct virtio_gpu_device *vgdev = dev->dev_private; struct drm_pending_event *e = NULL; __poll_t mask = 0;
- if (!vfpriv->ring_idx_mask) + if (!vgdev->has_virgl_3d || !vfpriv || !vfpriv->ring_idx_mask) return drm_poll(filp, wait);
poll_wait(filp, &drm_file->event_wait, wait);
On 04 November 2021 at 10:42 pm, Vivek Kasireddy wrote:
When virgl is not enabled, vfpriv pointer would not be allocated. Therefore, check for a valid value before dereferencing.
Reported-by: Christian Zigotzky chzigotzky@xenosoft.de Cc: Gurchetan Singh gurchetansingh@chromium.org Cc: Gerd Hoffmann kraxel@redhat.com Signed-off-by: Vivek Kasireddy vivek.kasireddy@intel.com
drivers/gpu/drm/virtio/virtgpu_drv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.c
b/drivers/gpu/drm/virtio/virtgpu_drv.c
index 749db18dcfa2..d86e1ad4a972 100644 --- a/drivers/gpu/drm/virtio/virtgpu_drv.c +++ b/drivers/gpu/drm/virtio/virtgpu_drv.c @@ -163,10 +163,11 @@ static __poll_t virtio_gpu_poll(struct file *filp, struct drm_file *drm_file = filp->private_data; struct virtio_gpu_fpriv *vfpriv = drm_file->driver_priv; struct drm_device *dev = drm_file->minor->dev; + struct virtio_gpu_device *vgdev = dev->dev_private; struct drm_pending_event *e = NULL; __poll_t mask = 0;
- if (!vfpriv->ring_idx_mask) + if (!vgdev->has_virgl_3d || !vfpriv || !vfpriv->ring_idx_mask) return drm_poll(filp, wait);
poll_wait(filp, &drm_file->event_wait, wait);
Tested-by: Christian Zigotzky chzigotzky@xenosoft.de [1]
[1] https://i.ibb.co/N1vL5Kd/Kernel-5-16-alpha3-Power-PC.png
On Thu, Nov 04, 2021 at 02:42:49PM -0700, Vivek Kasireddy wrote:
When virgl is not enabled, vfpriv pointer would not be allocated. Therefore, check for a valid value before dereferencing.
Reported-by: Christian Zigotzky chzigotzky@xenosoft.de Cc: Gurchetan Singh gurchetansingh@chromium.org Cc: Gerd Hoffmann kraxel@redhat.com Signed-off-by: Vivek Kasireddy vivek.kasireddy@intel.com
drivers/gpu/drm/virtio/virtgpu_drv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.c b/drivers/gpu/drm/virtio/virtgpu_drv.c index 749db18dcfa2..d86e1ad4a972 100644 --- a/drivers/gpu/drm/virtio/virtgpu_drv.c +++ b/drivers/gpu/drm/virtio/virtgpu_drv.c @@ -163,10 +163,11 @@ static __poll_t virtio_gpu_poll(struct file *filp, struct drm_file *drm_file = filp->private_data; struct virtio_gpu_fpriv *vfpriv = drm_file->driver_priv; struct drm_device *dev = drm_file->minor->dev;
- struct virtio_gpu_device *vgdev = dev->dev_private; struct drm_pending_event *e = NULL; __poll_t mask = 0;
- if (!vfpriv->ring_idx_mask)
if (!vgdev->has_virgl_3d || !vfpriv || !vfpriv->ring_idx_mask) return drm_poll(filp, wait);
poll_wait(filp, &drm_file->event_wait, wait);
Pushed to drm-misc-next-fixes.
thanks, Gerd
dri-devel@lists.freedesktop.org