Since its introduction in commit d86a77f8abb, dma_memory_read()
always accepted void pointer argument. Remove the unnecessary
casts.
This commit was produced with the included Coccinelle script
scripts/coccinelle/exec_rw_const.
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
scripts/coccinelle/exec_rw_const.cocci | 15 +++++++++++++++
hw/arm/smmu-common.c | 3 +--
hw/arm/smmuv3.c | 10 ++++------
hw/sd/sdhci.c | 15 +++++----------
4 files changed, 25 insertions(+), 18 deletions(-)
create mode 100644 scripts/coccinelle/exec_rw_const.cocci
diff --git a/scripts/coccinelle/exec_rw_const.cocci b/scripts/coccinelle/exec_rw_const.cocci
new file mode 100644
index 0000000000..a0054f009d
--- /dev/null
+++ b/scripts/coccinelle/exec_rw_const.cocci
@@ -0,0 +1,15 @@
+// Usage:
+// spatch --sp-file scripts/coccinelle/exec_rw_const.cocci --dir . --in-place
+
+// Remove useless cast
+@@
+expression E1, E2, E3, E4;
+type T;
+@@
+(
+- dma_memory_read(E1, E2, (T *)E3, E4)
++ dma_memory_read(E1, E2, E3, E4)
+|
+- dma_memory_write(E1, E2, (T *)E3, E4)
++ dma_memory_write(E1, E2, E3, E4)
+)
diff --git a/hw/arm/smmu-common.c b/hw/arm/smmu-common.c
index 23eb117041..0f2573f004 100644
--- a/hw/arm/smmu-common.c
+++ b/hw/arm/smmu-common.c
@@ -74,8 +74,7 @@ static int get_pte(dma_addr_t baseaddr, uint32_t index, uint64_t *pte,
dma_addr_t addr = baseaddr + index * sizeof(*pte);
/* TODO: guarantee 64-bit single-copy atomicity */
- ret = dma_memory_read(&address_space_memory, addr,
- (uint8_t *)pte, sizeof(*pte));
+ ret = dma_memory_read(&address_space_memory, addr, pte, sizeof(*pte));
if (ret != MEMTX_OK) {
info->type = SMMU_PTW_ERR_WALK_EABT;
diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c
index 8b5f157dc7..57a79df55b 100644
--- a/hw/arm/smmuv3.c
+++ b/hw/arm/smmuv3.c
@@ -279,8 +279,7 @@ static int smmu_get_ste(SMMUv3State *s, dma_addr_t addr, STE *buf,
trace_smmuv3_get_ste(addr);
/* TODO: guarantee 64-bit single-copy atomicity */
- ret = dma_memory_read(&address_space_memory, addr,
- (void *)buf, sizeof(*buf));
+ ret = dma_memory_read(&address_space_memory, addr, buf, sizeof(*buf));
if (ret != MEMTX_OK) {
qemu_log_mask(LOG_GUEST_ERROR,
"Cannot fetch pte at address=0x%"PRIx64"\n", addr);
@@ -301,8 +300,7 @@ static int smmu_get_cd(SMMUv3State *s, STE *ste, uint32_t ssid,
trace_smmuv3_get_cd(addr);
/* TODO: guarantee 64-bit single-copy atomicity */
- ret = dma_memory_read(&address_space_memory, addr,
- (void *)buf, sizeof(*buf));
+ ret = dma_memory_read(&address_space_memory, addr, buf, sizeof(*buf));
if (ret != MEMTX_OK) {
qemu_log_mask(LOG_GUEST_ERROR,
"Cannot fetch pte at address=0x%"PRIx64"\n", addr);
@@ -406,8 +404,8 @@ static int smmu_find_ste(SMMUv3State *s, uint32_t sid, STE *ste,
l2_ste_offset = sid & ((1 << s->sid_split) - 1);
l1ptr = (dma_addr_t)(strtab_base + l1_ste_offset * sizeof(l1std));
/* TODO: guarantee 64-bit single-copy atomicity */
- ret = dma_memory_read(&address_space_memory, l1ptr,
- (uint8_t *)&l1std, sizeof(l1std));
+ ret = dma_memory_read(&address_space_memory, l1ptr, &l1std,
+ sizeof(l1std));
if (ret != MEMTX_OK) {
qemu_log_mask(LOG_GUEST_ERROR,
"Could not read L1PTR at 0X%"PRIx64"\n", l1ptr);
diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c
index 69dc3e6b90..d5abdaad41 100644
--- a/hw/sd/sdhci.c
+++ b/hw/sd/sdhci.c
@@ -701,8 +701,7 @@ static void get_adma_description(SDHCIState *s, ADMADescr *dscr)
hwaddr entry_addr = (hwaddr)s->admasysaddr;
switch (SDHC_DMA_TYPE(s->hostctl1)) {
case SDHC_CTRL_ADMA2_32:
- dma_memory_read(s->dma_as, entry_addr, (uint8_t *)&adma2,
- sizeof(adma2));
+ dma_memory_read(s->dma_as, entry_addr, &adma2, sizeof(adma2));
adma2 = le64_to_cpu(adma2);
/* The spec does not specify endianness of descriptor table.
* We currently assume that it is LE.
@@ -713,8 +712,7 @@ static void get_adma_description(SDHCIState *s, ADMADescr *dscr)
dscr->incr = 8;
break;
case SDHC_CTRL_ADMA1_32:
- dma_memory_read(s->dma_as, entry_addr, (uint8_t *)&adma1,
- sizeof(adma1));
+ dma_memory_read(s->dma_as, entry_addr, &adma1, sizeof(adma1));
adma1 = le32_to_cpu(adma1);
dscr->addr = (hwaddr)(adma1 & 0xFFFFF000);
dscr->attr = (uint8_t)extract32(adma1, 0, 7);
@@ -726,13 +724,10 @@ static void get_adma_description(SDHCIState *s, ADMADescr *dscr)
}
break;
case SDHC_CTRL_ADMA2_64:
- dma_memory_read(s->dma_as, entry_addr,
- (uint8_t *)(&dscr->attr), 1);
- dma_memory_read(s->dma_as, entry_addr + 2,
- (uint8_t *)(&dscr->length), 2);
+ dma_memory_read(s->dma_as, entry_addr, (&dscr->attr), 1);
+ dma_memory_read(s->dma_as, entry_addr + 2, (&dscr->length), 2);
dscr->length = le16_to_cpu(dscr->length);
- dma_memory_read(s->dma_as, entry_addr + 4,
- (uint8_t *)(&dscr->addr), 8);
+ dma_memory_read(s->dma_as, entry_addr + 4, (&dscr->addr), 8);
dscr->addr = le64_to_cpu(dscr->addr);
dscr->attr &= (uint8_t) ~0xC0;
dscr->incr = 12;
--
2.21.1
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
On 2/20/20 7:05 AM, Philippe Mathieu-Daudé wrote: > Since its introduction in commit d86a77f8abb, dma_memory_read() > always accepted void pointer argument. Remove the unnecessary > casts. > > This commit was produced with the included Coccinelle script > scripts/coccinelle/exec_rw_const. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > scripts/coccinelle/exec_rw_const.cocci | 15 +++++++++++++++ > hw/arm/smmu-common.c | 3 +-- > hw/arm/smmuv3.c | 10 ++++------ > hw/sd/sdhci.c | 15 +++++---------- > 4 files changed, 25 insertions(+), 18 deletions(-) > create mode 100644 scripts/coccinelle/exec_rw_const.cocci > > diff --git a/scripts/coccinelle/exec_rw_const.cocci b/scripts/coccinelle/exec_rw_const.cocci > new file mode 100644 > index 0000000000..a0054f009d > --- /dev/null > +++ b/scripts/coccinelle/exec_rw_const.cocci > @@ -0,0 +1,15 @@ > +// Usage: > +// spatch --sp-file scripts/coccinelle/exec_rw_const.cocci --dir . --in-place This command line should also use '--macro-file scripts/cocci-macro-file.h' to cover more of the code base (Coccinelle skips portions of the code that uses macros it doesn't recognize). > @@ -726,13 +724,10 @@ static void get_adma_description(SDHCIState *s, ADMADescr *dscr) > } > break; > case SDHC_CTRL_ADMA2_64: > - dma_memory_read(s->dma_as, entry_addr, > - (uint8_t *)(&dscr->attr), 1); > - dma_memory_read(s->dma_as, entry_addr + 2, > - (uint8_t *)(&dscr->length), 2); > + dma_memory_read(s->dma_as, entry_addr, (&dscr->attr), 1); > + dma_memory_read(s->dma_as, entry_addr + 2, (&dscr->length), 2); The () around &dscr->length are now pointless. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
On 2/20/20 2:16 PM, Eric Blake wrote:
> On 2/20/20 7:05 AM, Philippe Mathieu-Daudé wrote:
>> Since its introduction in commit d86a77f8abb, dma_memory_read()
>> always accepted void pointer argument. Remove the unnecessary
>> casts.
>>
>> This commit was produced with the included Coccinelle script
>> scripts/coccinelle/exec_rw_const.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>> ---
>> scripts/coccinelle/exec_rw_const.cocci | 15 +++++++++++++++
>> hw/arm/smmu-common.c | 3 +--
>> hw/arm/smmuv3.c | 10 ++++------
>> hw/sd/sdhci.c | 15 +++++----------
>> 4 files changed, 25 insertions(+), 18 deletions(-)
>> create mode 100644 scripts/coccinelle/exec_rw_const.cocci
>>
>> diff --git a/scripts/coccinelle/exec_rw_const.cocci
>> b/scripts/coccinelle/exec_rw_const.cocci
>> new file mode 100644
>> index 0000000000..a0054f009d
>> --- /dev/null
>> +++ b/scripts/coccinelle/exec_rw_const.cocci
>> @@ -0,0 +1,15 @@
>> +// Usage:
>> +// spatch --sp-file scripts/coccinelle/exec_rw_const.cocci --dir .
>> --in-place
>
> This command line should also use '--macro-file
> scripts/cocci-macro-file.h' to cover more of the code base (Coccinelle
> skips portions of the code that uses macros it doesn't recognize).
>
>
>> @@ -726,13 +724,10 @@ static void get_adma_description(SDHCIState *s,
>> ADMADescr *dscr)
>> }
>> break;
>> case SDHC_CTRL_ADMA2_64:
>> - dma_memory_read(s->dma_as, entry_addr,
>> - (uint8_t *)(&dscr->attr), 1);
>> - dma_memory_read(s->dma_as, entry_addr + 2,
>> - (uint8_t *)(&dscr->length), 2);
>> + dma_memory_read(s->dma_as, entry_addr, (&dscr->attr), 1);
>> + dma_memory_read(s->dma_as, entry_addr + 2, (&dscr->length), 2);
>
> The () around &dscr->length are now pointless.
Thanks Eric, patch updated. Peter are you OK if I change the cocci
header using /* */ as:
-- >8 --
diff --git a/scripts/coccinelle/exec_rw_const.cocci
b/scripts/coccinelle/exec_rw_const.cocci
index a0054f009d..7e42682240 100644
--- a/scripts/coccinelle/exec_rw_const.cocci
+++ b/scripts/coccinelle/exec_rw_const.cocci
@@ -1,5 +1,13 @@
-// Usage:
-// spatch --sp-file scripts/coccinelle/exec_rw_const.cocci --dir .
--in-place
+/*
+ Usage:
+
+ spatch \
+ --macro-file scripts/cocci-macro-file.h \
+ --sp-file scripts/coccinelle/exec_rw_const.cocci \
+ --keep-comments \
+ --in-place \
+ --dir .
+*/
// Remove useless cast
@@
@@ -7,9 +15,9 @@ expression E1, E2, E3, E4;
type T;
@@
(
-- dma_memory_read(E1, E2, (T *)E3, E4)
+- dma_memory_read(E1, E2, (T *)(E3), E4)
+ dma_memory_read(E1, E2, E3, E4)
|
-- dma_memory_write(E1, E2, (T *)E3, E4)
+- dma_memory_write(E1, E2, (T *)(E3), E4)
+ dma_memory_write(E1, E2, E3, E4)
)
diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c
index d5abdaad41..de63ffb037 100644
--- a/hw/sd/sdhci.c
+++ b/hw/sd/sdhci.c
@@ -724,10 +724,10 @@ static void get_adma_description(SDHCIState *s,
ADMADescr *dscr)
}
break;
case SDHC_CTRL_ADMA2_64:
- dma_memory_read(s->dma_as, entry_addr, (&dscr->attr), 1);
- dma_memory_read(s->dma_as, entry_addr + 2, (&dscr->length), 2);
+ dma_memory_read(s->dma_as, entry_addr, &dscr->attr, 1);
+ dma_memory_read(s->dma_as, entry_addr + 2, &dscr->length, 2);
dscr->length = le16_to_cpu(dscr->length);
- dma_memory_read(s->dma_as, entry_addr + 4, (&dscr->addr), 8);
+ dma_memory_read(s->dma_as, entry_addr + 4, &dscr->addr, 8);
dscr->addr = le64_to_cpu(dscr->addr);
dscr->attr &= (uint8_t) ~0xC0;
dscr->incr = 12;
---
On 2/20/20 2:43 PM, Philippe Mathieu-Daudé wrote: > On 2/20/20 2:16 PM, Eric Blake wrote: >> On 2/20/20 7:05 AM, Philippe Mathieu-Daudé wrote: >>> Since its introduction in commit d86a77f8abb, dma_memory_read() >>> always accepted void pointer argument. Remove the unnecessary >>> casts. >>> >>> This commit was produced with the included Coccinelle script >>> scripts/coccinelle/exec_rw_const. >>> >>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> >>> --- >>> scripts/coccinelle/exec_rw_const.cocci | 15 +++++++++++++++ >>> hw/arm/smmu-common.c | 3 +-- >>> hw/arm/smmuv3.c | 10 ++++------ >>> hw/sd/sdhci.c | 15 +++++---------- >>> 4 files changed, 25 insertions(+), 18 deletions(-) >>> create mode 100644 scripts/coccinelle/exec_rw_const.cocci >>> >>> diff --git a/scripts/coccinelle/exec_rw_const.cocci >>> b/scripts/coccinelle/exec_rw_const.cocci >>> new file mode 100644 >>> index 0000000000..a0054f009d >>> --- /dev/null >>> +++ b/scripts/coccinelle/exec_rw_const.cocci >>> @@ -0,0 +1,15 @@ >>> +// Usage: >>> +// spatch --sp-file scripts/coccinelle/exec_rw_const.cocci --dir . >>> --in-place >> >> This command line should also use '--macro-file >> scripts/cocci-macro-file.h' to cover more of the code base (Coccinelle >> skips portions of the code that uses macros it doesn't recognize). >> >> >>> @@ -726,13 +724,10 @@ static void get_adma_description(SDHCIState *s, >>> ADMADescr *dscr) >>> } >>> break; >>> case SDHC_CTRL_ADMA2_64: >>> - dma_memory_read(s->dma_as, entry_addr, >>> - (uint8_t *)(&dscr->attr), 1); >>> - dma_memory_read(s->dma_as, entry_addr + 2, >>> - (uint8_t *)(&dscr->length), 2); >>> + dma_memory_read(s->dma_as, entry_addr, (&dscr->attr), 1); >>> + dma_memory_read(s->dma_as, entry_addr + 2, (&dscr->length), 2); >> >> The () around &dscr->length are now pointless. > > Thanks Eric, patch updated. Peter are you OK if I change the cocci > header using /* */ as: > > -- >8 -- > diff --git a/scripts/coccinelle/exec_rw_const.cocci > b/scripts/coccinelle/exec_rw_const.cocci > index a0054f009d..7e42682240 100644 > --- a/scripts/coccinelle/exec_rw_const.cocci > +++ b/scripts/coccinelle/exec_rw_const.cocci > @@ -1,5 +1,13 @@ > -// Usage: > -// spatch --sp-file scripts/coccinelle/exec_rw_const.cocci --dir . > --in-place > +/* > + Usage: > + > + spatch \ > + --macro-file scripts/cocci-macro-file.h \ > + --sp-file scripts/coccinelle/exec_rw_const.cocci \ > + --keep-comments \ > + --in-place \ > + --dir . > +*/ > > // Remove useless cast > @@ > @@ -7,9 +15,9 @@ expression E1, E2, E3, E4; > type T; > @@ > ( > -- dma_memory_read(E1, E2, (T *)E3, E4) > +- dma_memory_read(E1, E2, (T *)(E3), E4) > + dma_memory_read(E1, E2, E3, E4) > | > -- dma_memory_write(E1, E2, (T *)E3, E4) > +- dma_memory_write(E1, E2, (T *)(E3), E4) > + dma_memory_write(E1, E2, E3, E4) > ) > diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c > index d5abdaad41..de63ffb037 100644 > --- a/hw/sd/sdhci.c > +++ b/hw/sd/sdhci.c > @@ -724,10 +724,10 @@ static void get_adma_description(SDHCIState *s, > ADMADescr *dscr) > } > break; > case SDHC_CTRL_ADMA2_64: > - dma_memory_read(s->dma_as, entry_addr, (&dscr->attr), 1); > - dma_memory_read(s->dma_as, entry_addr + 2, (&dscr->length), 2); > + dma_memory_read(s->dma_as, entry_addr, &dscr->attr, 1); > + dma_memory_read(s->dma_as, entry_addr + 2, &dscr->length, 2); > dscr->length = le16_to_cpu(dscr->length); > - dma_memory_read(s->dma_as, entry_addr + 4, (&dscr->addr), 8); > + dma_memory_read(s->dma_as, entry_addr + 4, &dscr->addr, 8); > dscr->addr = le64_to_cpu(dscr->addr); > dscr->attr &= (uint8_t) ~0xC0; > dscr->incr = 12; > --- Series updated here: https://github.com/philmd/qemu/commits/exec_rw_const_v4 Relevant spatch: https://github.com/philmd/qemu/blob/exec_rw_const_v4/scripts/coccinelle/exec_rw_const.cocci I will respin later to let people time to review. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
© 2016 - 2026 Red Hat, Inc.