On 24/12/2014 15:19, Michael S. Tsirkin wrote: > So I'll have to review in detail, overall the patches > do look pretty clean.
Q35 is broken though (GArray resizing messes up the tables, fixed locally and caught by bios-tables-test even before trying it out!). I hope to send out the fixed version on Saturday (time ticking before vacation). > Given the amount of pain caused by cross version migration > issues, I am inclined to do both: arrange code in a way > that makes keeping things constant easier, and have > some solutions for the inevitable time when we'll find we > have to change things we didn't expect. > Defense in depth, if you like. > Makes sense? It certainly does. I am only a bit wary because your patches are basically a workaround (as hinted by the fact that the resulting RSDP is corrupted---which doesn't matter much in practice, but it's still a red flashing light!). So I still would like to see how stuff looks like after Igor's code is merged. Until we actually trim the size of the ACPI tables (patch 7), we do no better / no worse than released versions of QEMU. And once Igor's code is merged, we actually have an idea of what is left in the SSDT, and how tricky that code is. "Not tricky at all" is perhaps a bit optimistic, a more realistic hope is "not any more tricky than what we do for devices". In other words, it's only tricky now because it's new. We had all sorts of false starts, but the my patches and Igor's provide enough separation (mine: fixed vs. variable; Igor's: ASL vs. C) that the future should reserve less surprises. I will still review your patches, of course. Paolo