[coreboot] [PATCH] Improve i82830 MBI SMI Handler

Joseph Smith joe at settoplinux.org
Fri May 21 22:20:36 CEST 2010


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 at 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.


-- 
Thanks,
Joseph Smith
Set-Top-Linux
www.settoplinux.org




More information about the coreboot mailing list