I messed up and didn't get an introduction for these patches. So here goes.
These patches are for adding an IPMI interface to QEMU. It adds a KCS
and BT interface; it should be easy to add a SMIC interface if anyone
wants that, but it's not often used. For simulation of an IPMI
management controller, it is a basic one that is built in to KVM, and it
can make a connection to an external simulator.
I think I got all the previous comments handled. Once I realized how
the class stuff worked, things made a lot more sense to me.
The OpenIPMI library (openipmi.sf.net) has a simulator that will work as
an external simulator in the latest release candidate.
This patch fixes up a few things that the IPMI driver needs:
Allow a driver to add entries to the SMBIOS table.
Add the ability for a chardev that makes an external connection to
reconnect if the initial connection fails or if it fails while in use.
In order to move the chardev to the external interface simulator, it had
to be released or the add to the external interface failed.
Patches 7 and 8 in the series are not really related, they are things
that I saw that seemed to be issues. I meant to pull them out but I
forgot. These patches really got accidentally sent, but since they are
out, well, they are out.
There are two things that I know of that are still missing:
Documentation. I'm planning to write docs for this, but I don't really
see a place to do this. I don't see many other docs for devices. Where
should I put them? If it's in qemu-options.hx, where in that file
should they be?
Tests. I looked at the test infrastructure, and I don't really see many
tests, so not much to go on for examples. I think I have it figured
out, but I'll basically have to write a driver to be able to really test
this. It would be nice if I could use the Linux driver, but I guess
that's not really feasible.
-corey