3 ms·
> We have used the vtable trick many times in satellite software operations, whenever we had to "quickly patch" this or that function Notably, many generations
by londons_explore 2y ago
> We have used the vtable trick many times in satellite software operations, whenever we had to "quickly patch" this or that function
Notably, many generations of broadcom wireless firmware uses a similar trick. The Chips are made with a ROM containing the firmware, but obviously the firmware has bugs that get shipped, and ROM's can't be changed. Instead, the hardware has a loadable table of 'patches', which allows pointers or code from ROM to be overridden to point to a [much smaller] RAM at runtime.
Effectively, this means you can tell your software team "We have 2 year to develop this chip, however after 6 months you have to have a 1st draft of all the code, and then you can use the last 18 months of the development cycle to patch up to 5% of that code to make a saleable product."
When linux wireless firmware needs loading, this table of patches is what you're loading in.
- geocrasher 2y agoGreat explanation, thank you. This makes a lot of sense.