Drivers and such things (the rk3588 port)

Michael Grunditz michael.grunditz at gmail.com
Mon Jan 9 13:50:27 CET 2023


On Mon, 9 Jan 2023 at 11:23, Alexander Boettcher
<alexander.boettcher at genode-labs.com> wrote:
>

> there is already a platform_info ROM generated by core (roottask), which would collide with this one (so only one of both would be accessible).
> The one option is to add this information directly to the generated platform_info in core, e.g.
> look for Platform::_init_additional_platform_info() in repos/base-hw.
> The other option is to name your platform_info differently and use the re-labeling feature of Genode's init to refer to your version of the platform_info, e.g something alike:
>
> --- a/repos/os/run/fb_bench.run
> +++ b/repos/os/run/fb_bench.run
> @@ -20,7 +20,7 @@ import_from_depot [depot_user]/src/[base_src] \
>                     [depot_user]/src/nitpicker \
>                     [depot_user]/src/gui_fb \
>                     [depot_user]/src/init
> -build { test/fb_bench }
> +build { test/fb_bench drivers/framebuffer/boot }
>
>   install_config {
>   <config>
> @@ -70,10 +70,12 @@ install_config {
>         </start>
>
>         <start name="gui_fb">
> +               <binary name="boot_fb_drv"/>
>                 <resource name="RAM" quantum="4M"/>
>                 <provides> <service name="Framebuffer"/> <service name="Input"/> </provides>
>                 <config/>
>                 <route>
> +                       <service name="ROM" label="platform_info"> <parent label="platform_info_my"/> </service>
>                         <service name="Gui"> <child name="nitpicker"/> </service>
>                         <any-service> <parent/> <any-child/> </any-service>
>                 </route>
> @@ -94,7 +96,16 @@ set fd [open [run_dir]/genode/focus w]
>   puts $fd "<focus label=\"gui_fb -> \" domain=\"default\"/>"
>   close $fd
>
> -build_boot_image { test-fb_bench }
> +set fd [open [run_dir]/genode/platform_info_my w]
> +puts $fd {
> +<platform_info>
> +       <boot>
> +               <framebuffer phys="0xed800000" width="1920" height="1080" bpp="32" type="1"/>
> +       </boot>
> +</platform_info>}
> +close $fd
> +
> +build_boot_image { test-fb_bench boot_fb_drv }
>
> Hope it helps,

Thanks .. it did help for the driver ,but I am still facing memory errors:

Genode 22.11
8189 MiB RAM and 64533 caps assigned to init
[init -> test-fb_bench] --- Framebuffer benchmark ---
[init] Warning: gui_fb: RAM upgrade of Capture failed
[init] child "gui_fb" requests resources: ram_quota=8100K
[init -> drivers] Warning: drivers: configured RAM exceeds available
RAM, proceed with 123264244
[init -> drivers] Warning: drivers: configured caps exceed available
caps, proceed with 1279
[init -> drivers] Warning: nitpicker: configured RAM exceeds available
RAM, proceed with 0
[init -> drivers] Warning: nitpicker: configured caps exceed available
caps, proceed with 0
[init -> drivers] Error: allocation of read-write segment failed
[init -> drivers] Error: nitpicker: out of RAM during ELF loading
[init -> drivers] Error: Uncaught exception of type
'Genode::Quota_guard<Genode::Cap_quota>::Limit_exceeded'
[init -> drivers] Warning: abort called - thread: ep



More information about the users mailing list