* plugins/{flashrom,superio]: Add GUIDs for StarBook Mk VI - Intel
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
* plugins/{flashrom,superio]: Add GUIDs for StarBook Mk VI - AMD
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
* plugins/{flashrom,superio]: Add GUIDs for Byte Mk I - AMD
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
This reverts commit 960b6141a6 as
fu_context_load_hwinfo() needs to load the HWID quirks, and we need to load the
plugins before the quirks otherwise we'll get warnings about quirk keys not
being registered.
The baseclass is calling fu_device_build_instance_id_quirk() and when we
incorporate the device we were only copying the 'proper' instance IDs and not
the ones used for quirk matching -- which we need to match the devices that use
keys containing MODALIAS for the Plugin key to be set.
The fu_context_get_smbios_data() call will not work when creating the plugin
GType, so just create the SMI object when it is needed in ->startup().
Fixes https://github.com/fwupd/firmware-dell/issues/144
This does not serve much purpose now, but would be useful if we need to know
more about the installed PK from other plugins. If nothing else it makes the
`--verbose` output more helpful.
We compile with prefix "/", but Ubuntu (where we get the binaries from)
compiles with prefix "/usr".
Correct the location of these binaries in the snap.
The LVFS crept over this limit yesterday. I've put some emergency commits in
place that take it back down to 800KB, and I'll focus next week on getting it
much lower than that.
The real problem is that we thought that g_input_stream_read_bytes() was using
`count` as the chunk size, not the total size. Raise the total size to 32MB and
chunk in 32kB blocks to reduce the RSS peak when loading metadata.
Fixes https://github.com/fwupd/fwupd/issues/5173
This means we might be able to offer two versions of firmware for the same
device, where one has additional requirement such as a CHID.
The idea here is to allow OEMs to distribute thier own superset dbx updates on
the LVFS without having to invent an anti-CHID requirement type.
There are two reasons for this. First is that GKeyFile is quite inefficient,
using a large amount of heap memory when loading. Given we don't actually use
the merge and replace functionality of GKeyFile and we only need line-by-line
access we can parse this ourselves and reduce the peak RSS considerably.
This also accidentally fixes another bug. Moving from multiple quirk files to
a single builtin.quirk meant that multiple subsystem plugins were deduped --
which isn't really what we wanted. For example, this now works:
[MEI]
Plugin = one
[MEI]
Plugin = two