On 05/21/2010 03:17 PM, Stefan Reinauer wrote:
On 5/21/10 7:25 AM, Joseph Smith wrote:
This patch improves the i82830 MBI SMI Handler. It is now able to load Intel vbios VBT and Flexaim modules. Build and boot tested.
Signed-off-by: Joseph Smith joe@settoplinux.org
God catch... However, please don't commit this... it breaks the implementation of MBI, the code should stay completely module agnostic. There should be a solution that works without adding an exception for every module supported (plus, I think the rules are based on the length of the name, so any module 203 and 204 with different names will break your assumptions.
Hmm. I have gone through a bunch of VBT's (type 203) and dozens of Flexaims (type 204) (every version available). All the VBT's (type 203) have the same data structure of a certain size and all the Flexaims (type 204) have the same data structures of a certain size. The sizes of the data structures are different. With the existing code you can get one or the other working but not both. Hence the "type" switch to distinguish between the two data structure sizes.
As far as I have seen for the i830 these are the only two types of MBI modules, VBT's (type 203) and Flexaims (type 204). Unfortunately i don't know what the implementation of MBI is supposed to look like, I am just going by what works (thinking outside the box).
If you have a completely module agnostic way to determine the different data structure sizes, I am all ears.
I think the rules are based on the length of the name, so any module 203 and 204 with different names will break your assumptions.
No, it shouldn't. All VBT's (type 203) only have "VBT" as the name and The way I setup the name for Flexaims (type 204) is based on the name_len so it is actually module agnostic.