qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Amos Kong <akong@redhat.com>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: jasowang@redhat.com, mst@redhat.com, aliguori@us.ibm.com,
	stefanha@linux.vnet.ibm.com, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v2] rtl8139: implement 8139cp link status
Date: Fri, 14 Sep 2012 09:34:59 +0800	[thread overview]
Message-ID: <505289C3.9000005@redhat.com> (raw)
In-Reply-To: <CAJSP0QVGw5=gwe+15XyBaeUJ5_u3HpEmJKgKGSQbn_MTxRVGvA@mail.gmail.com>

On 13/09/12 20:29, Stefan Hajnoczi wrote:
> On Thu, Sep 13, 2012 at 9:51 AM, Amos Kong <akong@redhat.com> wrote:
>> From: Jason Wang <jasowang@redhat.com>
>>
>> Add a link status chang callback and change the link status bit in BMSR
>> & MSR accordingly. Tested in Linux/Windows guests.
>>
>> The link status bit of MediaStatus is infered from BasicModeStatus,
>> they are reverse.
>>
>> Signed-off-by: Jason Wang <jasowang@redhat.com>
>> Signed-off-by: Amos Kong <akong@redhat.com>
>> ---
>> v2: don't add MediaState in RTL8139State to avoid migration trouble
>> ---
>>   hw/rtl8139.c |   19 +++++++++++++++++--
>>   1 files changed, 17 insertions(+), 2 deletions(-)
>>
>> diff --git a/hw/rtl8139.c b/hw/rtl8139.c
>> index 844f1b8..fa949ca 100644
>> --- a/hw/rtl8139.c
>> +++ b/hw/rtl8139.c
>> @@ -167,7 +167,7 @@ enum IntrStatusBits {
>>       PCIErr = 0x8000,
>>       PCSTimeout = 0x4000,
>>       RxFIFOOver = 0x40,
>> -    RxUnderrun = 0x20,
>> +    RxUnderrun = 0x20, /* Packet Underrun / Link Change */
>>       RxOverflow = 0x10,
>>       TxErr = 0x08,
>>       TxOK = 0x04,
>> @@ -3007,7 +3007,7 @@ static uint32_t rtl8139_io_readb(void *opaque, uint8_t addr)
>>               break;
>>
>>           case MediaStatus:
>> -            ret = 0xd0;
>> +            ret = 0xd0 | ~(s->BasicModeStatus & 0x0004);
>>               DPRINTF("MediaStatus read 0x%x\n", ret);
>>               break;
>
> This does not give any hint that BMSR & 0x4 is the link status
> (inverted).

only mentioned in the commitlog, will add a comment here.

> I suggest adding an enum like the other constants at the
> top of the file:
>
> ret = 0xd0 | (nc->link_down ? MSRLinkDown : 0);

Ok, I will update the patch.

> Regarding migration: do we migrate the NetClient->link_down field? If
> we only migrate the status register value then the link may actually
> be up at the net.c level.

I tried to add 'MediaStatus' to 'struct RTL8139State', and update
'VMStateDescription vmstate_rtl8139', then the value of MediaStatus
will be migrated.

But the idea in v2 is better.

> Stefan

Thanks.

-- 
			Amos.

  reply	other threads:[~2012-09-14  1:35 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-10  7:59 [Qemu-devel] [PATCH] rtl8139: implement 8139cp link status Amos Kong
2012-09-10  8:15 ` Jason Wang
2012-09-13  8:48   ` Jason Wang
2012-09-13  8:51   ` [Qemu-devel] [PATCH v2] " Amos Kong
2012-09-13 12:29     ` Stefan Hajnoczi
2012-09-14  1:34       ` Amos Kong [this message]
2012-09-14  7:30         ` Stefan Hajnoczi
2012-09-14  9:01           ` Jason Wang
2012-09-14  2:16   ` [Qemu-devel] [PATCH v3] " Amos Kong
2012-09-14  8:36     ` Paolo Bonzini
2012-09-14  9:20       ` Amos Kong
2012-09-17  2:25   ` [Qemu-devel] [PATCH v4 0/3] net: fix " Amos Kong
2012-09-17  2:44     ` Jason Wang
2012-09-17  2:25   ` [Qemu-devel] [PATCH v4 1/3] rtl8139: implement 8139cp " Amos Kong
2012-09-27  9:30     ` Stefan Hajnoczi
2012-09-17  2:25   ` [Qemu-devel] [PATCH v4 2/3] e1000: update nc.link_down in e1000_post_load() Amos Kong
2012-09-17  2:25   ` [Qemu-devel] [PATCH v4 3/3] update nc.link_down in virtio_net_load() Amos Kong

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=505289C3.9000005@redhat.com \
    --to=akong@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=jasowang@redhat.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    --cc=stefanha@linux.vnet.ibm.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).