On 08/13/2012 07:25 PM, Kevin O'Connor wrote:
On Mon, Aug 13, 2012 at 07:07:06PM -0500, Corey Minyard wrote:
On 08/13/2012 05:49 PM, Kevin O'Connor wrote:
How different are they. Can you give human readable example?
Here are the examples from the IPMI spec. I lied a little bit, there are actually four standard interfaces (one can be on an SMBus), but it's a different thing to manage, I think.
Does your patch produce all of the four variants you've identified? What fields (if any) are dynamic within the variants?
My patch does not do the SMBus variant, as that would need to go into an SMBus device, and I haven't worked at all on an IPMI device to do this.
So, the patch supports two variants - IPMI_SMIC and IPMI_BT?
IPMI_SMIC, IPMI_BT, and IPMI_KCS. So three variants.
The fields that are dynamic are:
_STR - A string identifying the interface type (optional, but recommended)
But this isn't dynamic within a variant, correct? (That is, if you're using an IPMI_SMIC type device then the _STR will always be "IPMI_SMIC"?)
Yes, that is correct.
_CRS - This can be a I/O or a memory address, and an interrupt may or may not be here. I have not done the work to add the memory bus, as my qemu patch does not support that yet.
Will the irq and ioports be different within a given variant?
The I/O ports are somewhat standard. There are spec-recommended places for all of them, and most (but not all) systems use those. Most systems do not support interrupts, but there is no standard for the ones that do.
System with the device in memory are all over the place.
_IFT - An integer that identifies the interface type.
Again, static within a variant, right?
Yes, this is what defines the variant, I guess.
_SRV - Identifies the IPMI spec version the interface complies to. It's generally best to use the actual version; if you used a newer version then an old driver may not work with it.
Again, static within a variant, right?
Yes.
-corey
If more than one interface is added, then the _UID field becomes important, but there's no support for that at the moment.
-Kevin