qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: malc <av1474@comtv.ru>
Cc: qemu-devel@nongnu.org, Juan Quintela <quintela@redhat.com>
Subject: Re: [Qemu-devel] Re: [PATCH 27/49] ac97: add active to the state
Date: Wed, 30 Sep 2009 10:08:38 -0500	[thread overview]
Message-ID: <4AC37476.60007@codemonkey.ws> (raw)
In-Reply-To: <Pine.LNX.4.64.0909301545110.3147@linmac.oyster.ru>

malc wrote:
>>>> +
>>>>  typedef struct AC97LinkState {
>>>>      PCIDevice dev;
>>>>      QEMUSoundCard card;
>>>> @@ -162,6 +169,7 @@ typedef struct AC97LinkState {
>>>>      uint8_t silence[128];
>>>>      uint32_t base[2];
>>>>      int bup_flag;
>>>> +    uint8_t active[LAST_INDEX];
>>>>         
>>> This doesn't belong here, cause the only purpose i can see is to hack
>>> around defficiencies of the new load/savevm APIs.
>>>       
>> That was supposed to be one of the features, not deficiences.  You can't
>> sent stuff that it is not in the state. It is "by design" that you can't
>> sent arbitrary variables.
>>     
>
> active doesn't belong in the above structure, it's not used for anything
> other than save/loadvm. If this "design" doesn't allow this, either find
> another way to accomplish the same or fix the "design".
>   

Looking briefly at the code, it looks like the active[] array isn't 
technically needed in the savevm state.

I think you could basically do:

AUD_set_active_in(s->voice_pi, !!(s->bm_regs[PI_INDEX].cr & CR_RPBM));
...

Better yet, active[] can be dynamically built from the contents of 
bm_regs->cr so there would be little code change.

So I think we should bump the version of the ac97 format, remove the 
active[] array from the vmstate, and then generate it in a post function 
that can then be passed to reset_voices().

Regards,

Anthony Liguori

  parent reply	other threads:[~2009-09-30 15:08 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-29 20:48 [Qemu-devel] [PATCH 00/49] VMState: Fix design faults, i2c port, x86 cpu port, Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 01/49] vmstate: remove const for put operations Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 02/49] vmstate: add version_id argument to post_load Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 03/49] vmstate: remove const from pre_save() functions Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 04/49] vmstate: remove ps2_kbd_load_old() Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 05/49] vmstate: Add support for sending partial arrays Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 06/49] qdev: Add support for uint8_t Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 07/49] i2c: addresses are load/save as uint8_t values, change types to reflect this Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 08/49] vmstate: port i2c_bus device Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 09/49] vmstate: port i2c_slave device Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 10/49] vmstate: add uint8 array Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 11/49] vmstate: create VMSTATE_I2C_SLAVE Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 12/49] vmstate: port wm8750 device Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 13/49] vmstate: port max7310 device Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 14/49] vmstate: create VMSTATE_STRUCT_POINTER Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 15/49] vmstate: port pxa2xx_i2c device Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 16/49] vmstate: port ssd0303 device Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 17/49] vmstate: create VMSTATE_INT16_ARRAY Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 18/49] tmp105: change len and alorm to uint8_t Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 19/49] vmstate: port tmp105 device Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 20/49] twl92230: change pwrbtn_state to uint8_t Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 21/49] vmstate: port twl92230 device Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 22/49] vmstate: add support for arrays of pointers Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 23/49] lm832x: make fields to have the same types that they are saved/loaded Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 24/49] vmstate: port lm832x device Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 25/49] vmstate: remove i2c_slave_load/save Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 26/49] vmstate: port audio/audio.c Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 27/49] ac97: add active to the state Juan Quintela
2009-09-30 10:37   ` malc
2009-09-30 11:37     ` [Qemu-devel] " Juan Quintela
2009-09-30 11:47       ` malc
2009-09-30 12:05         ` Juan Quintela
2009-09-30 12:17           ` malc
2009-09-30 13:07             ` Juan Quintela
2009-09-30 13:12               ` malc
2009-09-30 13:37                 ` Juan Quintela
2009-09-30 13:44                   ` malc
2009-09-30 13:57                     ` Juan Quintela
2009-09-30 14:53                       ` malc
2009-09-30 15:02                         ` Juan Quintela
2009-09-30 15:08         ` Anthony Liguori [this message]
2009-09-30 15:22           ` Juan Quintela
2009-09-30 15:24           ` malc
2009-09-30 21:11             ` Anthony Liguori
2009-09-30 21:19               ` malc
2009-09-29 20:48 ` [Qemu-devel] [PATCH 28/49] vmstate: port ac97 device Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 29/49] x86: hflags is not modified at all, just save it directly Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 30/49] x86: make a20_mask int32_t Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 31/49] x86: fpuc is uint16_t not unsigned int Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 32/49] x86: fpus " Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 33/49] x86: add fptag_vmstate to the state Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 34/49] x86: add pending_irq_vmstate " Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 35/49] x86: add fpregs_format_vmstate Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 36/49] x86: mce_banks always have the same size Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 37/49] x86: send mce_banks as an array Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 38/49] x86: mcg_cap is never 0 Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 39/49] x86: split FPReg union Juan Quintela
2009-09-29 20:48 ` [Qemu-devel] [PATCH 40/49] x86: split MTRRVar union Juan Quintela
2009-09-29 20:49 ` [Qemu-devel] [PATCH 41/49] Add *TL functions to vmstate Juan Quintela
2009-09-29 20:49 ` [Qemu-devel] [PATCH 42/49] x86: port segments " Juan Quintela
2009-09-29 20:49 ` [Qemu-devel] [PATCH 43/49] x86: factor out cpu_pre_save() Juan Quintela
2009-09-29 20:49 ` [Qemu-devel] [PATCH 44/49] x86: factor out cpu_pre/post_load() Juan Quintela
2009-09-29 20:49 ` [Qemu-devel] [PATCH 45/49] x86: factor out cpu_get/put_xmm_reg() Juan Quintela
2009-09-29 20:49 ` [Qemu-devel] [PATCH 46/49] x86: factor out cpu_get/put_mttr_var() Juan Quintela
2009-09-29 20:49 ` [Qemu-devel] [PATCH 47/49] x86: factor out cpu_get/put_fpreg() Juan Quintela
2009-09-29 20:49 ` [Qemu-devel] [PATCH 48/49] vmstate: Add suppot for field_exist() test Juan Quintela
2009-09-29 20:49 ` [Qemu-devel] [PATCH 49/49] x86: port cpu to vmstate Juan Quintela

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4AC37476.60007@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=av1474@comtv.ru \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).