[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Some line of codes in a file that I cant understand
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [Qemu-devel] Some line of codes in a file that I cant understand |
Date: |
Tue, 25 Feb 2014 14:44:06 +0000 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
* Atlas Khan (address@hidden) 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 / address@hidden / Manchester, UK