On Wed, Jul 31, 2013 at 03:39:05PM +0200, Vincenzo Maffione wrote: > Ok, but it's unclear how do you prefer to create and "empty" > PC_COMPAT_1_6 in Patch 1. > If you want to keep this declaration form > > [...] > .compat_props = (GlobalProperty[]) { > PC_COMPAT_1_6, > { /* end of list */ } > }, > [...] > > in the two pc_*_machine_v1_6 structs, I'm forced to define > > #define PC_COMPAT_1_6 { /*empty*/ } > > but then I can't extend PC_COMPAT_1_5 with PC_COMPAT_1_6 as "header" > (like you guys do for PC_COMPAT_1_5 and PC_COMPAT_1_4), because > otherwise PC_COMPAT_1_6 would act as a premature terminator for > PC_COMPAT_1_5 (right?). > > Should I extend PC_COMPAT_1_5 with PC_COMPAT_1_6 as a "tail", or > should I avoid extending it in the Patch 1, and do the extension in > Patch 2 (when I have a non-empty PC_COMPAT_1_6)?
You are right, (GlobalProperty[]) {, {...}} is not valid syntax. In that case I would switch PC_COMPAT_1_6 into the e1000 interrupt mitigation patch. That way the patches are bisectable. You can still introduce the QEMU 1.7 pc machine type as a separate patch if you wish, but I no longer see a big win if PC_COMPAT_1_6 cannot be isolated from the e1000 change. Andreas: Do you agree to do everything in a single patch? Stefan