On Thu, Jan 17, 2013 at 06:59:29PM -0200, Eduardo Habkost wrote: > Currently, the pc-1.4 machine init function enables PV EOI and then > calls the pc-1.2 machine init function. The problem with this approach > is that now we can't enable any additional compatibility code inside the > pc-1.2 init function because it would end up enabling the compatibility > behavior on pc-1.3 and pc-1.4 as well. > > This reverses the logic so that the pc-1.2 machine init function will > disable PV EOI, and then call the pc-1.4 machine init function. > > This way we can change older machine-types to enable compatibility > behavior, and the newer machine-types (pc-1.3, pc-q35-1.4 and > pc-i440fx-1.4) would just use the default behavior. > > (This means that one nice side-effect of this change is that pc-q35-1.4 > will get PV EOI enabled by default, too) > > It would be interesting to eventually change pc_init_pci_no_kvmclock() > and pc_init_isa() to reuse pc_init_pci_1_2() as well (so we don't need > to duplicate compatibility code on those two functions). But this will > be probably much easier to do after we create a PCInitArgs struct for > the PC initialization arguments, and/or after we use global-properties > to implement the compatibility modes present in pc_init_pci_1_2(). > > Signed-off-by: Eduardo Habkost <ehabk...@redhat.com>
Reviewed-by: Marcelo Tosatti <mtosa...@redhat.com>