On Fri, Oct 11, 2013 at 05:18:30PM +0800, liu ping fan wrote: > On Fri, Oct 11, 2013 at 4:38 PM, Paolo Bonzini <pbonz...@redhat.com> wrote: > > Il 11/10/2013 04:59, liu ping fan ha scritto: > >> On Thu, Oct 10, 2013 at 7:41 PM, Michael S. Tsirkin <m...@redhat.com> > >> wrote: > >>> On Thu, Oct 10, 2013 at 11:46:42AM +0200, Paolo Bonzini wrote: > >>>> Il 10/10/2013 11:41, Michael S. Tsirkin ha scritto: > >>>>>>> Are you sure? This is not done for any other compat property. > >>>>>>> > >>>>>>> Paolo > >>>>> It's done if we use the property from C. > >>>>> See PCI_HOST_PROP_PCI_HOLE64_SIZE. > >>>>> > >>>>> You want compiler to catch errors, that's > >>>>> much better than a runtime failure. > >>>> > >>>> I agree, but I think there should be no need to use the property from C. > >>>> > >>>> Paolo > >>> > >>> Well this patchset does use it from C. > >>> If it's done it needs a macro. > >> > >> hpet.h is the ideal place to put the macro, so pc.c can see it. But > >> what about PC_COMPAT_1_7 in pc.h? I think it is not right to include > >> hpet.h. So can I do not use marco in pc.h? > > > > I think you shouldn't need the macro (no need to use the property from > > C, only from compat properties). > > > We need to tell the compat and then decide to set "intcap" in > pc_basic_device_init() > > uint8_t compat = object_property_get_int(OBJECT(hpet), > "intcap", NULL); > if (!compat) { > qdev_prop_set_uint32(hpet, "intcap", 0xff0104); > } > > Regards, > Ping Fan
So if you use it from C, please use a macro. If not, no need to.