I spent a bit of time on adding support for the vt1211 superio found on
the epia-m board. It does not add io dumping, yet.
Compared to the rest of the superiotool, this support is highly
different; i see quite a lot of possibility for superiotool to be
improved (more on that later in this mail).
This here is the output of superiotool on my vt1211:
VT1211 LDN 0: "Floppy Disk Controller"
0x30: 0x01 (0x00) "Activate"
0x60: 0xFC (0xFC) "I/O Base Address"
0x70: 0x06 (0x06) "IRQ Select"
0x74: 0x02 (0x01) "DRQ Select"
0xF0: 0x00 (0x00) "Configuration"
0xF1: 0x00 (0x00) "Drive Select"
Notice how it lists one register per line, with:
index: value (default).
The string is just there because it was easy to add while adding the
other information.
Why do i prefer 1 register per line as opposed to whole blobs for other
chipsets:
* we're human and this is easier to read.
* diff is also surprisingly human.
I would like to alter the printing of other superios to the same, one
per line, output. I have been told on irc that this might break some
peoples scripts (if there are any), but for humans, this is the sanest
thing to do.
Further changes that might be good:
* decouple probing from dumping.
* add single value dumping and then also writing (requires tracking of
RO/WO).
* there are only a few probe routines out there, create a general table
so that we can tie io_port and the return value of the probe routine
to an id and thus reduce probing to once per probe routine.
* etc, etc...
Tons of room for improvement and also discussion :)
But first, let's scrutinize this way of outputting and if acceptable,
also alter the output of other superio dumps. I will be adding IT8103F
support today, which will also further my view of what needs to be done
here.
Luc Verhaegen.