All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] Some line of codes in a file that I cant understand
@ 2014-02-25 13:27 Atlas Khan
  2014-02-25 14:44 ` Dr. David Alan Gilbert
  0 siblings, 1 reply; 2+ messages in thread
From: Atlas Khan @ 2014-02-25 13:27 UTC (permalink / raw)
  To: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 1083 bytes --]

I am watching i8259.c in \hw folder in QEMU. here is something like this


static const VMStateDescription vmstate_pic = {
    .name = "i8259",
    .version_id = 1,
    .minimum_version_id = 1,
    .minimum_version_id_old = 1,
    .fields = (VMStateField[]) {
        VMSTATE_UINT8(last_irr, PicState),
        VMSTATE_UINT8(irr, PicState),
        VMSTATE_UINT8(imr, PicState),
        VMSTATE_UINT8(isr, PicState),
        VMSTATE_UINT8(priority_add, PicState),
        VMSTATE_UINT8(irq_base, PicSthisate),
        VMSTATE_UINT8(read_reg_select, PicState),
        VMSTATE_UINT8(poll, PicState),
        VMSTATE_UINT8(special_mask, PicState),
        VMSTATE_UINT8(init_state, PicState),
        VMSTATE_UINT8(auto_eoi, PicState),
        VMSTATE_UINT8(rotate_on_auto_eoi, PicState),
        VMSTATE_UINT8(special_fully_nested_mode, PicState),
        VMSTATE_UINT8(init4, PicState),
        VMSTATE_UINT8(single_mode, PicState),
        VMSTATE_UINT8(elcr, PicState),
        VMSTATE_END_OF_LIST()
    }
};

here what does this dot shows and what is this VMSTATE_UINT8 function?

[-- Attachment #2: Type: text/html, Size: 1438 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Qemu-devel] Some line of codes in a file that I cant understand
  2014-02-25 13:27 [Qemu-devel] Some line of codes in a file that I cant understand Atlas Khan
@ 2014-02-25 14:44 ` Dr. David Alan Gilbert
  0 siblings, 0 replies; 2+ messages in thread
From: Dr. David Alan Gilbert @ 2014-02-25 14:44 UTC (permalink / raw)
  To: Atlas Khan; +Cc: qemu-devel

* Atlas Khan (atlaskhan90@gmail.com) wrote:
> I am watching i8259.c in \hw folder in QEMU. here is something like this
> 
> 
> static const VMStateDescription vmstate_pic = {
>     .name = "i8259",
>     .version_id = 1,
>     .minimum_version_id = 1,
>     .minimum_version_id_old = 1,
>     .fields = (VMStateField[]) {
>         VMSTATE_UINT8(last_irr, PicState),
>         VMSTATE_UINT8(irr, PicState),
>         VMSTATE_UINT8(imr, PicState),
>         VMSTATE_UINT8(isr, PicState),
>         VMSTATE_UINT8(priority_add, PicState),
>         VMSTATE_UINT8(irq_base, PicSthisate),
>         VMSTATE_UINT8(read_reg_select, PicState),
>         VMSTATE_UINT8(poll, PicState),
>         VMSTATE_UINT8(special_mask, PicState),
>         VMSTATE_UINT8(init_state, PicState),
>         VMSTATE_UINT8(auto_eoi, PicState),
>         VMSTATE_UINT8(rotate_on_auto_eoi, PicState),
>         VMSTATE_UINT8(special_fully_nested_mode, PicState),
>         VMSTATE_UINT8(init4, PicState),
>         VMSTATE_UINT8(single_mode, PicState),
>         VMSTATE_UINT8(elcr, PicState),
>         VMSTATE_END_OF_LIST()
>     }
> };
> 
> here what does this dot shows and what is this VMSTATE_UINT8 function?

The . is about assigning into named fields in a structure; it's just
neater than the old C way of having to keep all the fields in order.
See the def of VMStateDescription in include/migration/vmstate.h

The VMSTATE_UINT8 is a macro declaring that there is a byte/uint8 member
see ./include/migration/vmstate.h and docs/migration.txt for a bit
of a description.

Dave
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-02-25 14:44 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-25 13:27 [Qemu-devel] Some line of codes in a file that I cant understand Atlas Khan
2014-02-25 14:44 ` Dr. David Alan Gilbert

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.