[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH 29/41] virtio-net: in_use and first_multi only h
From: |
Juan Quintela |
Subject: |
[Qemu-devel] Re: [PATCH 29/41] virtio-net: in_use and first_multi only handle unsigned values |
Date: |
Wed, 02 Dec 2009 19:30:18 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
"Michael S. Tsirkin" <address@hidden> wrote:
> On Wed, Dec 02, 2009 at 01:04:27PM +0100, Juan Quintela wrote:
>> And they were saved/loaded as unsigned already
>
> I'm not sure how does on save/load a value as unsigned.
> Could you please provide motivation for this
> and similar changes?
> Not that it matters very much, but int is slightly cleaner
> than uint32_t for something that is only 1 or 0.
>
>> Signed-off-by: Juan Quintela <address@hidden>
>> ---
>> hw/virtio-net.c | 8 ++++----
>> 1 files changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/hw/virtio-net.c b/hw/virtio-net.c
>> index 05cc67f..589ea80 100644
>> --- a/hw/virtio-net.c
>> +++ b/hw/virtio-net.c
>> @@ -50,8 +50,8 @@ typedef struct VirtIONet
>> uint8_t nouni;
>> uint8_t nobcast;
>> struct {
>> - int in_use;
>> - int first_multi;
>> + uint32_t in_use;
>> + uint32_t first_multi;
>> uint8_t multi_overflow;
>> uint8_t uni_overflow;
>> uint8_t *macs;
>> @@ -715,7 +715,7 @@ static void virtio_net_save(QEMUFile *f, void *opaque)
>> qemu_put_be16s(f, &n->status);
>> qemu_put_8s(f, &n->promisc);
>> qemu_put_8s(f, &n->allmulti);
>> - qemu_put_be32(f, n->mac_table.in_use);
This is why I hate this function.
>> + qemu_put_be32s(f, &n->mac_table.in_use);
This is the right one.
We can change things to be int32_t if that makes more sense (they were sent
as uint32).
vmstate checks that the type of the value that you sent and the function
that you use for sending match. In this case, it was sending a int32_t
with the function to send uint32_t. In this particular case it didn't
matter (value is 0/1). But vmstate don't know what cases matter/don't
matter. It just test _always_ that you are using the right function for
your type.
If you think that it is better to change the type of the value to
int32_t and change the functions, that is also ok with me.
What I care is that type of function and field are the same.
Later, Juan.
- [Qemu-devel] [PATCH 26/41] virtio-net: we know vlans size at compile time, make it static, (continued)
[Qemu-devel] [PATCH 28/41] virtio-net: make vlan operations on uint8_t, not uint32_t, Juan Quintela, 2009/12/02
[Qemu-devel] [PATCH 29/41] virtio-net: in_use and first_multi only handle unsigned values, Juan Quintela, 2009/12/02
[Qemu-devel] [PATCH 30/41] virtio-net: use save/load type chek functions for has_vent_hdr, Juan Quintela, 2009/12/02
[Qemu-devel] [PATCH 32/41] virtio-net: split virtio_net_post_load, Juan Quintela, 2009/12/02
[Qemu-devel] [PATCH 31/41] virtio-net: we know macs size at compile time, make it static, Juan Quintela, 2009/12/02
[Qemu-devel] [PATCH 33/41] virtio-net: port to vmstate, Juan Quintela, 2009/12/02