On Tue, Mar 11, 2014 at 11:16:16AM -0400, Gabriel L. Somlo wrote: > On Tue, Mar 11, 2014 at 11:03:06AM +0100, Gerd Hoffmann wrote: > > Issue #1: There are checkpatch errors (scripts/checkpatch.pl). > > I fixed most of those, with one exception (patch #5): > > ERROR: do not use assignment in if condition > #139: FILE: hw/i386/smbios.c:253: > + if (value != NULL && (len = strlen(value) + 1) > 1) { \ > > 'value' can be NULL, "", or "foo". The whole block looks like this: > > int len; > if (value != NULL && (len = strlen(value)) > 0) {
I wont comment on the value of checkpatch, but you could write it this way if you wanted: int len = value ? strlen(value) : 0; if (len > 0) { [...] > > -Handle 0x1100, DMI type 17, 21 bytes > > +Handle 0x1100, DMI type 17, 27 bytes > > Memory Device > > Array Handle: 0x1000 > > - Error Information Handle: 0x0003 > > + Error Information Handle: Not Provided > > AFAICT, SeaBIOS doesn't set the error info handle at all, and you simply > get whatever garbage happens to be contained in that memory location at > the time. Typically it's 0x0000, but you happened to get 0x0003 :) I > figured I'd set it to a known value (0xFFFE or "n/a"). That's a seabios bug - I'll create a seabios patch. > On Tue, Mar 11, 2014 at 09:27:31AM -0400, Kevin O'Connor wrote: > > I think it would be best to get the patch series to the point that > > there is no diff between old and new. That will make review easier, > > and subsequent patches can then add new features. > > Modulo the error info handle on type 17, and the fact that QEMU's version > of type 17 has v2.3 fields and SeaBIOS's does not (kinda the whole reason > I'm doing this in the first place :), that should be possible by just > tweaking the defaults in the new smbios_set_defaults() function. I just > feel weird setting "Bochs" as the default manufacturer... I would suggest being "bug for bug" compatible in the first set of patches, and then add patches on top to add the additional functionality. Just my 2 cents. -Kevin