Il 11/10/2013 11:18, liu ping fan ha scritto: > 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); > }
No, that can be done via global properties as well. Paolo