Fork us on GitHub Follow us on Facebook Follow us on Twitter

Opened 6 weeks ago

Closed 5 weeks ago

#847 closed defect (fixed)

Drivers are not filtered by platform anymore

Reported by: Jiri Svoboda Owned by: Jiri Svoboda
Priority: major Milestone: 0.12.1
Component: helenos/unspecified Version: mainline
Keywords: Cc:
Blocker for: Depends on:
See also:

Description

Drivers used to be filtered by platform, in other words, platform specific drivers would not be delivered on platforms they are not supposed to be used on. This was achieved either by not building them or not copying them to dist.

This functionality was lost with the switch to Meson. Currently we deliver incorrectly, for example, as part of amd64 image these drivers: adb-kbd, adb-mouse, amdm37x, amdm37x_dispc, arm64virt, cuda_adb, ddisk, gicv2, hikey960, icp, icp-ic, mac, malta, msim, msim-con, obio, pl011, pl050, ski, ski-con, sun4v, sun4v-con.

This delivering of many useless drivers bloats the OS images unnecessarily.

Change History (5)

comment:1 Changed 6 weeks ago by Jiri Svoboda

I'm not marking this as a stopper for 0.11.2 since it's not a new issue. I was somewhat aware of this issue (see also #843), but perhaps did not realize its full extent.

We should definitely fix this before the next release.

comment:2 Changed 6 weeks ago by Jiri Svoboda

Milestone: 0.12.1

comment:3 Changed 6 weeks ago by Jiri Svoboda

Actually it turns out the problem is a little different than I thought. If CONFIG_BAREBONE is on, we only get the drivers explicitly enabled in meson/arch/*/meson.build. If CONFIG_BAREBONE is off, we get all the drivers.

I think this is wrong. We don't want to ever include useless drivers in the ramdisk image. Of course that means Meson won't build them either, but I think we can live with that.

Now since we have platforms that have default CONFIG_BAREBONE=n and they can be built barebone with a restricted set of drivers (e.g. amd64), I will assume that we want to be able to get a different set of drivers depending on the barebone setting.

So, we need to introduce another variable, e.g. rd_drivers that will list the drivers to be included always and only install drivers from rd_drivers / rd_essential based on barebone configuration.

comment:4 Changed 6 weeks ago by Jiri Svoboda

Owner: set to Jiri Svoboda
Status: newaccepted

comment:5 Changed 5 weeks ago by Jiri Svoboda

Resolution: fixed
Status: acceptedclosed
Note: See TracTickets for help on using tickets.