* [Qemu-devel] [PATCH] hw/sd/sdcard: Use the available enums
@ 2019-05-05 23:01 Philippe Mathieu-Daudé
2019-05-05 23:01 ` Philippe Mathieu-Daudé
2019-05-06 8:55 ` Markus Armbruster
0 siblings, 2 replies; 5+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-05-05 23:01 UTC (permalink / raw)
To: qemu-trivial, qemu-devel
Cc: Philippe Mathieu-Daudé, Philippe Mathieu-Daudé
We already define SDCardModes/SDCardStates as enums. Declare
the mode/state as enums too, this make gdb debugging sessions
friendlier: instead of numbers, the mode/state name is displayed.
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
hw/sd/sd.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index aaab15f3868..a66b3d5b45e 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -96,8 +96,8 @@ struct SDState {
BlockBackend *blk;
bool spi;
- uint32_t mode; /* current card mode, one of SDCardModes */
- int32_t state; /* current card state, one of SDCardStates */
+ enum SDCardModes mode;
+ enum SDCardStates state;
uint32_t vhs;
bool wp_switch;
unsigned long *wp_groups;
@@ -1640,7 +1640,7 @@ static int cmd_valid_while_locked(SDState *sd, SDRequest *req)
int sd_do_command(SDState *sd, SDRequest *req,
uint8_t *response) {
- int last_state;
+ enum SDCardStates last_state;
sd_rsp_type_t rtype;
int rsplen;
--
2.20.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Qemu-devel] [PATCH] hw/sd/sdcard: Use the available enums
2019-05-05 23:01 [Qemu-devel] [PATCH] hw/sd/sdcard: Use the available enums Philippe Mathieu-Daudé
@ 2019-05-05 23:01 ` Philippe Mathieu-Daudé
2019-05-06 8:55 ` Markus Armbruster
1 sibling, 0 replies; 5+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-05-05 23:01 UTC (permalink / raw)
To: qemu-trivial, qemu-devel
Cc: Philippe Mathieu-Daudé, Philippe Mathieu-Daudé
We already define SDCardModes/SDCardStates as enums. Declare
the mode/state as enums too, this make gdb debugging sessions
friendlier: instead of numbers, the mode/state name is displayed.
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
hw/sd/sd.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index aaab15f3868..a66b3d5b45e 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -96,8 +96,8 @@ struct SDState {
BlockBackend *blk;
bool spi;
- uint32_t mode; /* current card mode, one of SDCardModes */
- int32_t state; /* current card state, one of SDCardStates */
+ enum SDCardModes mode;
+ enum SDCardStates state;
uint32_t vhs;
bool wp_switch;
unsigned long *wp_groups;
@@ -1640,7 +1640,7 @@ static int cmd_valid_while_locked(SDState *sd, SDRequest *req)
int sd_do_command(SDState *sd, SDRequest *req,
uint8_t *response) {
- int last_state;
+ enum SDCardStates last_state;
sd_rsp_type_t rtype;
int rsplen;
--
2.20.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] hw/sd/sdcard: Use the available enums
2019-05-05 23:01 [Qemu-devel] [PATCH] hw/sd/sdcard: Use the available enums Philippe Mathieu-Daudé
2019-05-05 23:01 ` Philippe Mathieu-Daudé
@ 2019-05-06 8:55 ` Markus Armbruster
2019-05-06 11:49 ` Philippe Mathieu-Daudé
2019-05-07 10:25 ` Dr. David Alan Gilbert
1 sibling, 2 replies; 5+ messages in thread
From: Markus Armbruster @ 2019-05-06 8:55 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: qemu-trivial, Juan Quintela, qemu-devel, David Alan Gilbert,
Philippe Mathieu-Daudé
Philippe Mathieu-Daudé <philmd@redhat.com> writes:
> We already define SDCardModes/SDCardStates as enums. Declare
> the mode/state as enums too, this make gdb debugging sessions
> friendlier: instead of numbers, the mode/state name is displayed.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> hw/sd/sd.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/hw/sd/sd.c b/hw/sd/sd.c
> index aaab15f3868..a66b3d5b45e 100644
> --- a/hw/sd/sd.c
> +++ b/hw/sd/sd.c
> @@ -96,8 +96,8 @@ struct SDState {
> BlockBackend *blk;
> bool spi;
>
> - uint32_t mode; /* current card mode, one of SDCardModes */
> - int32_t state; /* current card state, one of SDCardStates */
> + enum SDCardModes mode;
> + enum SDCardStates state;
> uint32_t vhs;
> bool wp_switch;
> unsigned long *wp_groups;
> @@ -1640,7 +1640,7 @@ static int cmd_valid_while_locked(SDState *sd, SDRequest *req)
>
> int sd_do_command(SDState *sd, SDRequest *req,
> uint8_t *response) {
> - int last_state;
> + enum SDCardStates last_state;
> sd_rsp_type_t rtype;
> int rsplen;
These guys are part of the migration state:
static const VMStateDescription sd_vmstate = {
.name = "sd-card",
.version_id = 1,
.minimum_version_id = 1,
.pre_load = sd_vmstate_pre_load,
.fields = (VMStateField[]) {
VMSTATE_UINT32(mode, SDState),
VMSTATE_INT32(state, SDState),
[...]
Juan, David, are VMSTATE_UINT32() and VMSTATE_INT32() safe to use with
enums?
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] hw/sd/sdcard: Use the available enums
2019-05-06 8:55 ` Markus Armbruster
@ 2019-05-06 11:49 ` Philippe Mathieu-Daudé
2019-05-07 10:25 ` Dr. David Alan Gilbert
1 sibling, 0 replies; 5+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-05-06 11:49 UTC (permalink / raw)
To: Markus Armbruster
Cc: qemu-trivial, Juan Quintela, qemu-devel, David Alan Gilbert,
Philippe Mathieu-Daudé
On 5/6/19 10:55 AM, Markus Armbruster wrote:
> Philippe Mathieu-Daudé <philmd@redhat.com> writes:
>
>> We already define SDCardModes/SDCardStates as enums. Declare
>> the mode/state as enums too, this make gdb debugging sessions
>> friendlier: instead of numbers, the mode/state name is displayed.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>> ---
>> hw/sd/sd.c | 6 +++---
>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/hw/sd/sd.c b/hw/sd/sd.c
>> index aaab15f3868..a66b3d5b45e 100644
>> --- a/hw/sd/sd.c
>> +++ b/hw/sd/sd.c
>> @@ -96,8 +96,8 @@ struct SDState {
>> BlockBackend *blk;
>> bool spi;
>>
>> - uint32_t mode; /* current card mode, one of SDCardModes */
>> - int32_t state; /* current card state, one of SDCardStates */
>> + enum SDCardModes mode;
>> + enum SDCardStates state;
>> uint32_t vhs;
>> bool wp_switch;
>> unsigned long *wp_groups;
>> @@ -1640,7 +1640,7 @@ static int cmd_valid_while_locked(SDState *sd, SDRequest *req)
>>
>> int sd_do_command(SDState *sd, SDRequest *req,
>> uint8_t *response) {
>> - int last_state;
>> + enum SDCardStates last_state;
>> sd_rsp_type_t rtype;
>> int rsplen;
>
> These guys are part of the migration state:
>
> static const VMStateDescription sd_vmstate = {
> .name = "sd-card",
> .version_id = 1,
> .minimum_version_id = 1,
> .pre_load = sd_vmstate_pre_load,
> .fields = (VMStateField[]) {
> VMSTATE_UINT32(mode, SDState),
> VMSTATE_INT32(state, SDState),
> [...]
Oh good point, I missed that.
> Juan, David, are VMSTATE_UINT32() and VMSTATE_INT32() safe to use with
> enums?
I'll wait Juan/Dave to enlighten us, else I can use anonymous union to
ease my debugging sessions:
-- >8 --
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
@@ -96,7 +96,10 @@ struct SDState {
BlockBackend *blk;
bool spi;
- uint32_t mode; /* current card mode, one of SDCardModes */
+ union {
+ uint32_t migratable_mode;
+ enum SDCardModes mode;
+ };
int32_t state; /* current card state, one of SDCardStates */
uint32_t vhs;
bool wp_switch;
@@ -659,7 +662,7 @@ static const VMStateDescription sd_vmstate = {
.minimum_version_id = 1,
.pre_load = sd_vmstate_pre_load,
.fields = (VMStateField[]) {
- VMSTATE_UINT32(mode, SDState),
+ VMSTATE_UINT32(migratable_mode, SDState),
VMSTATE_INT32(state, SDState),
VMSTATE_UINT8_ARRAY(cid, SDState, 16),
VMSTATE_UINT8_ARRAY(csd, SDState, 16),
---
Thanks for the review!
Phil.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] hw/sd/sdcard: Use the available enums
2019-05-06 8:55 ` Markus Armbruster
2019-05-06 11:49 ` Philippe Mathieu-Daudé
@ 2019-05-07 10:25 ` Dr. David Alan Gilbert
1 sibling, 0 replies; 5+ messages in thread
From: Dr. David Alan Gilbert @ 2019-05-07 10:25 UTC (permalink / raw)
To: Markus Armbruster
Cc: qemu-trivial, Juan Quintela, Philippe Mathieu-Daudé,
qemu-devel, Philippe Mathieu-Daudé
* Markus Armbruster (armbru@redhat.com) wrote:
> Philippe Mathieu-Daudé <philmd@redhat.com> writes:
>
> > We already define SDCardModes/SDCardStates as enums. Declare
> > the mode/state as enums too, this make gdb debugging sessions
> > friendlier: instead of numbers, the mode/state name is displayed.
> >
> > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> > ---
> > hw/sd/sd.c | 6 +++---
> > 1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/hw/sd/sd.c b/hw/sd/sd.c
> > index aaab15f3868..a66b3d5b45e 100644
> > --- a/hw/sd/sd.c
> > +++ b/hw/sd/sd.c
> > @@ -96,8 +96,8 @@ struct SDState {
> > BlockBackend *blk;
> > bool spi;
> >
> > - uint32_t mode; /* current card mode, one of SDCardModes */
> > - int32_t state; /* current card state, one of SDCardStates */
> > + enum SDCardModes mode;
> > + enum SDCardStates state;
> > uint32_t vhs;
> > bool wp_switch;
> > unsigned long *wp_groups;
> > @@ -1640,7 +1640,7 @@ static int cmd_valid_while_locked(SDState *sd, SDRequest *req)
> >
> > int sd_do_command(SDState *sd, SDRequest *req,
> > uint8_t *response) {
> > - int last_state;
> > + enum SDCardStates last_state;
> > sd_rsp_type_t rtype;
> > int rsplen;
>
> These guys are part of the migration state:
>
> static const VMStateDescription sd_vmstate = {
> .name = "sd-card",
> .version_id = 1,
> .minimum_version_id = 1,
> .pre_load = sd_vmstate_pre_load,
> .fields = (VMStateField[]) {
> VMSTATE_UINT32(mode, SDState),
> VMSTATE_INT32(state, SDState),
> [...]
>
> Juan, David, are VMSTATE_UINT32() and VMSTATE_INT32() safe to use with
> enums?
I think that is compiler dependent, so no.
Dave
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-05-07 10:26 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-05 23:01 [Qemu-devel] [PATCH] hw/sd/sdcard: Use the available enums Philippe Mathieu-Daudé
2019-05-05 23:01 ` Philippe Mathieu-Daudé
2019-05-06 8:55 ` Markus Armbruster
2019-05-06 11:49 ` Philippe Mathieu-Daudé
2019-05-07 10:25 ` Dr. David Alan Gilbert
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).