[Letux-kernel] TILER patch problem on omap3 mmap(/dev/fb0) -- [PATCH] fbpng: make it work with 32 bpp fb
H. Nikolaus Schaller
hns at goldelico.com
Tue Jan 23 10:38:13 CET 2018
Hi,
> Am 19.01.2018 um 22:48 schrieb Andreas Kemnade <andreas at kemnade.info>:
>
> Hi Nikolaus,
>
> On Fri, 19 Jan 2018 07:45:22 +0100
> "H. Nikolaus Schaller" <hns at goldelico.com> wrote:
>
>> Hi Andreas,
>>
>>> Am 19.01.2018 um 07:35 schrieb Andreas Kemnade <andreas at kemnade.info>:
>>>
>>> Hi,
>>>
>>> On Thu, 18 Jan 2018 15:43:11 +0100
>>> "H. Nikolaus Schaller" <hns at goldelico.com> wrote:
>>>
>>>> Hi Andreas,
>>>> queued for inclusion.
>>>>
>>>> BTW: I have tried cat /dev/urandom >/dev/fb0 and had not seen hangs or
>>>> bus errors. Well, I also haven't seen anything since an X server was running.
>>>> And I haven't done heavy load testing or randomized page allocation effects.
>>>>
>>> I just stopped the xserver and then called fbpng. I guess the key point is to
>>> mmap() the device (which seems to be usual thing you do).
>>
>> Ah, ok.
>>
>> So normal read()/write() (cat >/dev/fb0) may even succeed while mmap fails?
>> This explains why I could not such effects yet.
>>
>>> I am preparing a test setup to be simply started by uboot-start-kernel.sh
>>
> here are the steps
> download and unpack
>
> http://misc.andi.de1.cc/fbdev-test.tar.gz
>
> copy a modules.tgz containing the modules+modules.dep of the kernel to
> test (your modules.tgz is lacking a modules.dep for whatever reason)
>
> cd fbdev-test
> ./convert-mod-tgz.sh
>
> usb-start-kernel.sh /path/to/uImage fbtest-initrd-mod.img /path/to/device.dtb root=/dev/none console=tty0
>
> It should create a text console after some delay.
> Some seconds later it should display a nearly empty battery.
> With tiler patches, it just hangs.
>
> The base initramfs is created using
> mkinitramfs using the configuration files at
> https://misc.andi.de1.cc/initramfs-fbtest.tar.gz
> from a jessie system
>
> It includes a compiled fbpng from the kernel letux directory.
>
> BTW:
> how do you create the modules.tgz so that it does not contain a modules.dep?
> I am using this
> makearmkernel modules_install INSTALL_MOD_PATH=$PWD/dst INSTALL_MOD_STRIP=1
>
> as a base for deploying the freshly-built modules to the gta04
>
> makearmkernel is just:
> #!/bin/bash
> make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- CC=arm-linux-gnueabihf-gcc LOADADDR=0x80008000 "$@"
I found a simpler "proof of bug" using the latest kernel from our downloads:
1. boot GTA04 & connect to internet
2.
root at letux:~# cd /root
root at letux:~# apt-get install libpng-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libpng12-dev' instead of 'libpng-dev'
The following NEW packages will be installed:
libpng12-dev
0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
Need to get 239 kB of archives.
After this operation, 515 kB of additional disk space will be used.
Get:1 http://ftp.us.debian.org/debian/ jessie/main libpng12-dev armhf 1.2.50-2+deb8u3 [239 kB]
Fetched 239 kB in 5s (42.0 kB/s)
Selecting previously unselected package libpng12-dev:armhf.
(Reading database ... 21547 files and directories currently installed.)
Preparing to unpack .../libpng12-dev_1.2.50-2+deb8u3_armhf.deb ...
Unpacking libpng12-dev:armhf (1.2.50-2+deb8u3) ...
Processing triggers for man-db (2.7.0.2-5) ...
Setting up libpng12-dev:armhf (1.2.50-2+deb8u3) ...
root at letux:~# cc fbpng.c -lpng -o fbpng
root at letux:~# ./fbpng /usr/share/pixmaps/debian-logo.png
/usr/share/pixmaps/debian-logo.png: 48x48 @ 24bp[ 146.310180] Unhandled fault: imprecise external abort (0x1c06) at 0xb6c8d020
[ 146.321441] pgd = e15e8173
[ 146.324279] [b6c8d020] *pgd=958d2831, *pte=9e900353, *ppte=9e900873
p
[ 146.331054] Unhandled fault: imprecise external abort (0x1c06) at 0xdc91bfe8
[ 146.338592] pgd = 4405b38c
[ 146.341430] [dc91bfe8] *pgd=9c80041e(bad)
Bus error
root at letux:~#
On omap5 the same procedure succeeds.
Now I can help to find out what the reason could be...
BR,
Nikolaus
More information about the Letux-kernel
mailing list