mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-10 02:54:58 -06:00
hw: Remove unnecessary cast when calling dma_memory_read()
Since its introduction in commit d86a77f8ab
, 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>
---
v4: Drop parenthesis when removing cast (Eric Blake)
This commit is contained in:
parent
4b314c1a71
commit
18610bfd3e
4 changed files with 33 additions and 18 deletions
|
@ -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);
|
dma_addr_t addr = baseaddr + index * sizeof(*pte);
|
||||||
|
|
||||||
/* TODO: guarantee 64-bit single-copy atomicity */
|
/* TODO: guarantee 64-bit single-copy atomicity */
|
||||||
ret = dma_memory_read(&address_space_memory, addr,
|
ret = dma_memory_read(&address_space_memory, addr, pte, sizeof(*pte));
|
||||||
(uint8_t *)pte, sizeof(*pte));
|
|
||||||
|
|
||||||
if (ret != MEMTX_OK) {
|
if (ret != MEMTX_OK) {
|
||||||
info->type = SMMU_PTW_ERR_WALK_EABT;
|
info->type = SMMU_PTW_ERR_WALK_EABT;
|
||||||
|
|
|
@ -279,8 +279,7 @@ static int smmu_get_ste(SMMUv3State *s, dma_addr_t addr, STE *buf,
|
||||||
|
|
||||||
trace_smmuv3_get_ste(addr);
|
trace_smmuv3_get_ste(addr);
|
||||||
/* TODO: guarantee 64-bit single-copy atomicity */
|
/* TODO: guarantee 64-bit single-copy atomicity */
|
||||||
ret = dma_memory_read(&address_space_memory, addr,
|
ret = dma_memory_read(&address_space_memory, addr, buf, sizeof(*buf));
|
||||||
(void *)buf, sizeof(*buf));
|
|
||||||
if (ret != MEMTX_OK) {
|
if (ret != MEMTX_OK) {
|
||||||
qemu_log_mask(LOG_GUEST_ERROR,
|
qemu_log_mask(LOG_GUEST_ERROR,
|
||||||
"Cannot fetch pte at address=0x%"PRIx64"\n", addr);
|
"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);
|
trace_smmuv3_get_cd(addr);
|
||||||
/* TODO: guarantee 64-bit single-copy atomicity */
|
/* TODO: guarantee 64-bit single-copy atomicity */
|
||||||
ret = dma_memory_read(&address_space_memory, addr,
|
ret = dma_memory_read(&address_space_memory, addr, buf, sizeof(*buf));
|
||||||
(void *)buf, sizeof(*buf));
|
|
||||||
if (ret != MEMTX_OK) {
|
if (ret != MEMTX_OK) {
|
||||||
qemu_log_mask(LOG_GUEST_ERROR,
|
qemu_log_mask(LOG_GUEST_ERROR,
|
||||||
"Cannot fetch pte at address=0x%"PRIx64"\n", addr);
|
"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);
|
l2_ste_offset = sid & ((1 << s->sid_split) - 1);
|
||||||
l1ptr = (dma_addr_t)(strtab_base + l1_ste_offset * sizeof(l1std));
|
l1ptr = (dma_addr_t)(strtab_base + l1_ste_offset * sizeof(l1std));
|
||||||
/* TODO: guarantee 64-bit single-copy atomicity */
|
/* TODO: guarantee 64-bit single-copy atomicity */
|
||||||
ret = dma_memory_read(&address_space_memory, l1ptr,
|
ret = dma_memory_read(&address_space_memory, l1ptr, &l1std,
|
||||||
(uint8_t *)&l1std, sizeof(l1std));
|
sizeof(l1std));
|
||||||
if (ret != MEMTX_OK) {
|
if (ret != MEMTX_OK) {
|
||||||
qemu_log_mask(LOG_GUEST_ERROR,
|
qemu_log_mask(LOG_GUEST_ERROR,
|
||||||
"Could not read L1PTR at 0X%"PRIx64"\n", l1ptr);
|
"Could not read L1PTR at 0X%"PRIx64"\n", l1ptr);
|
||||||
|
|
|
@ -701,8 +701,7 @@ static void get_adma_description(SDHCIState *s, ADMADescr *dscr)
|
||||||
hwaddr entry_addr = (hwaddr)s->admasysaddr;
|
hwaddr entry_addr = (hwaddr)s->admasysaddr;
|
||||||
switch (SDHC_DMA_TYPE(s->hostctl1)) {
|
switch (SDHC_DMA_TYPE(s->hostctl1)) {
|
||||||
case SDHC_CTRL_ADMA2_32:
|
case SDHC_CTRL_ADMA2_32:
|
||||||
dma_memory_read(s->dma_as, entry_addr, (uint8_t *)&adma2,
|
dma_memory_read(s->dma_as, entry_addr, &adma2, sizeof(adma2));
|
||||||
sizeof(adma2));
|
|
||||||
adma2 = le64_to_cpu(adma2);
|
adma2 = le64_to_cpu(adma2);
|
||||||
/* The spec does not specify endianness of descriptor table.
|
/* The spec does not specify endianness of descriptor table.
|
||||||
* We currently assume that it is LE.
|
* We currently assume that it is LE.
|
||||||
|
@ -713,8 +712,7 @@ static void get_adma_description(SDHCIState *s, ADMADescr *dscr)
|
||||||
dscr->incr = 8;
|
dscr->incr = 8;
|
||||||
break;
|
break;
|
||||||
case SDHC_CTRL_ADMA1_32:
|
case SDHC_CTRL_ADMA1_32:
|
||||||
dma_memory_read(s->dma_as, entry_addr, (uint8_t *)&adma1,
|
dma_memory_read(s->dma_as, entry_addr, &adma1, sizeof(adma1));
|
||||||
sizeof(adma1));
|
|
||||||
adma1 = le32_to_cpu(adma1);
|
adma1 = le32_to_cpu(adma1);
|
||||||
dscr->addr = (hwaddr)(adma1 & 0xFFFFF000);
|
dscr->addr = (hwaddr)(adma1 & 0xFFFFF000);
|
||||||
dscr->attr = (uint8_t)extract32(adma1, 0, 7);
|
dscr->attr = (uint8_t)extract32(adma1, 0, 7);
|
||||||
|
@ -726,13 +724,10 @@ static void get_adma_description(SDHCIState *s, ADMADescr *dscr)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SDHC_CTRL_ADMA2_64:
|
case SDHC_CTRL_ADMA2_64:
|
||||||
dma_memory_read(s->dma_as, entry_addr,
|
dma_memory_read(s->dma_as, entry_addr, &dscr->attr, 1);
|
||||||
(uint8_t *)(&dscr->attr), 1);
|
dma_memory_read(s->dma_as, entry_addr + 2, &dscr->length, 2);
|
||||||
dma_memory_read(s->dma_as, entry_addr + 2,
|
|
||||||
(uint8_t *)(&dscr->length), 2);
|
|
||||||
dscr->length = le16_to_cpu(dscr->length);
|
dscr->length = le16_to_cpu(dscr->length);
|
||||||
dma_memory_read(s->dma_as, entry_addr + 4,
|
dma_memory_read(s->dma_as, entry_addr + 4, &dscr->addr, 8);
|
||||||
(uint8_t *)(&dscr->addr), 8);
|
|
||||||
dscr->addr = le64_to_cpu(dscr->addr);
|
dscr->addr = le64_to_cpu(dscr->addr);
|
||||||
dscr->attr &= (uint8_t) ~0xC0;
|
dscr->attr &= (uint8_t) ~0xC0;
|
||||||
dscr->incr = 12;
|
dscr->incr = 12;
|
||||||
|
|
23
scripts/coccinelle/exec_rw_const.cocci
Normal file
23
scripts/coccinelle/exec_rw_const.cocci
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
/*
|
||||||
|
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
|
||||||
|
@@
|
||||||
|
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)
|
||||||
|
)
|
Loading…
Add table
Add a link
Reference in a new issue