[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 12/12] hw/i386/pc: Move PC-machine specific declarations to 'pc_internal.h'
On 16/12/19 16:37, Philippe Mathieu-Daudé wrote: > On 12/15/19 10:58 AM, Michael S. Tsirkin wrote: >> On Fri, Dec 13, 2019 at 05:47:28PM +0100, Philippe Mathieu-Daudé wrote: >>> On 12/13/19 5:17 PM, Philippe Mathieu-Daudé wrote: >>>> Historically, QEMU started with only one X86 machine: the PC. >>>> The 'hw/i386/pc.h' header was used to store all X86 and PC >>>> declarations. Since we have now multiple machines based on the >>>> X86 architecture, move the PC-specific declarations in a new >>>> header. >>>> We use 'internal' in the name to explicit this header is restricted >>>> to the X86 architecture. Other architecture can not access it. >>>> >>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@xxxxxxxxxx> >>>> --- >>>> Maybe name it 'pc_machine.h'? >>> >>> I forgot to describe here (and in the cover), what's follow after this >>> patch. >>> >>> Patch #13 moves PCMachineClass to >>> >>> If you ignore PCMachineState, "hw/i386/pc.h" now only contains 76 >>> lines, and >>> it is easier to see what is PC machine specific, what is X86 >>> specific, and >>> what is device generic (not X86 related at all): >>> >>> - GSI is common to X86 (Paolo sent [3], [6]) >>> - IOAPIC is common to X86 >>> - i8259 is multiarch (Paolo [2]) >>> - PCI_HOST definitions and pc_pci_hole64_start() are X86 >>> - pc_machine_is_smm_enabled() is X86 (Paolo sent [5]) >>> - hpet >>> - tsc (Paolo sent [3]) >>> - 3 more functions >>> >>> So we can move half of this file to "pc_internal.h" and the other to >>> >>> One problem is the Q35 MCH north bridge which directly sets the PCI >>> PCMachineState->bus in q35_host_realize(). This seems a QOM violation >>> and is >>> probably easily fixable. >>> >>> Maybe I can apply Paolo's patches instead of this #12, move X86-generic >>> declarations to "hw/i386/x86.h", and directly git-move what's left of >>> "hw/i386/pc.h" to "pc_internal.h". >> >> Yea that sounds a bit better. > > OK, I'll wait for Paolo's next pull get in, then continue based on that, > including Paolo's "x86: allow building without PC machine types" series. > > (Thanks Paolo for picking most of this series!) FWIW I don't think kvm_i8259_init should be in sysemu/kvm.h, since it's x86-specific and that would be something like the same mistake already done with hw/i386/pc.h. Paolo _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |