On Sun, Apr 10, 2011 at 06:23:39PM +0200, Stefan Weil wrote: > Using cpu_physical_memory_read, cpu_physical_memory_write and ldub_phys > improves readability and allows removing some type casts. > > lduw_phys and ldl_phys were not used because both require aligned > addresses. Therefore it is not possible to simply replace existing > calls by one of these functions. > > Cc: Aurelien Jarno <aurel...@aurel32.net> > Signed-off-by: Stefan Weil <w...@mail.berlios.de> > --- > disas.c | 2 +- > exec.c | 2 +- > hw/rc4030.c | 4 ++-- > hw/s390-virtio-bus.c | 3 ++- > hw/s390-virtio.c | 4 ++-- > hw/sm501_template.h | 2 +- > hw/usb-ohci.c | 14 ++++++-------- > monitor.c | 9 ++++----- > 8 files changed, 19 insertions(+), 21 deletions(-)
Thanks, applied with the 3 other ones. > diff --git a/disas.c b/disas.c > index 17b4ce4..223606c 100644 > --- a/disas.c > +++ b/disas.c > @@ -345,7 +345,7 @@ monitor_read_memory (bfd_vma memaddr, bfd_byte *myaddr, > int length, > struct disassemble_info *info) > { > if (monitor_disas_is_physical) { > - cpu_physical_memory_rw(memaddr, myaddr, length, 0); > + cpu_physical_memory_read(memaddr, myaddr, length); > } else { > cpu_memory_rw_debug(monitor_disas_env, memaddr,myaddr, length, 0); > } > diff --git a/exec.c b/exec.c > index e8f1eeb..b1ee52a 100644 > --- a/exec.c > +++ b/exec.c > @@ -3932,7 +3932,7 @@ void *cpu_physical_memory_map(target_phys_addr_t addr, > bounce.addr = addr; > bounce.len = l; > if (!is_write) { > - cpu_physical_memory_rw(addr, bounce.buffer, l, 0); > + cpu_physical_memory_read(addr, bounce.buffer, l); > } > ptr = bounce.buffer; > } else { > diff --git a/hw/rc4030.c b/hw/rc4030.c > index d30230a..6563336 100644 > --- a/hw/rc4030.c > +++ b/hw/rc4030.c > @@ -307,7 +307,7 @@ static void rc4030_writel(void *opaque, > target_phys_addr_t addr, uint32_t val) > if (s->cache_ltag == 0x80000001 && s->cache_bmask == 0xf0f0f0f) { > target_phys_addr_t dest = s->cache_ptag & ~0x1; > dest += (s->cache_maint & 0x3) << 3; > - cpu_physical_memory_rw(dest, (uint8_t*)&val, 4, 1); > + cpu_physical_memory_write(dest, &val, 4); > } > break; > /* Remote Speed Registers */ > @@ -704,7 +704,7 @@ void rc4030_dma_memory_rw(void *opaque, > target_phys_addr_t addr, uint8_t *buf, i > entry_addr = s->dma_tl_base + index * sizeof(dma_pagetable_entry); > /* XXX: not sure. should we really use only lowest bits? */ > entry_addr &= 0x7fffffff; > - cpu_physical_memory_rw(entry_addr, (uint8_t *)&entry, sizeof(entry), > 0); > + cpu_physical_memory_read(entry_addr, &entry, sizeof(entry)); > > /* Read/write data at right place */ > phys_addr = entry.frame + (addr & (DMA_PAGESIZE - 1)); > diff --git a/hw/s390-virtio-bus.c b/hw/s390-virtio-bus.c > index 58af164..40364da 100644 > --- a/hw/s390-virtio-bus.c > +++ b/hw/s390-virtio-bus.c > @@ -233,7 +233,8 @@ void s390_virtio_device_sync(VirtIOS390Device *dev) > dev->vdev->get_config(dev->vdev, dev->vdev->config); > } > > - cpu_physical_memory_rw(cur_offs, dev->vdev->config, > dev->vdev->config_len, 1); > + cpu_physical_memory_write(cur_offs, > + dev->vdev->config, dev->vdev->config_len); > cur_offs += dev->vdev->config_len; > } > > diff --git a/hw/s390-virtio.c b/hw/s390-virtio.c > index 850422f..d429f10 100644 > --- a/hw/s390-virtio.c > +++ b/hw/s390-virtio.c > @@ -230,8 +230,8 @@ static void s390_init(ram_addr_t ram_size, > } > > if (kernel_cmdline) { > - cpu_physical_memory_rw(KERN_PARM_AREA, (uint8_t *)kernel_cmdline, > - strlen(kernel_cmdline), 1); > + cpu_physical_memory_write(KERN_PARM_AREA, kernel_cmdline, > + strlen(kernel_cmdline)); > } > > /* Create VirtIO network adapters */ > diff --git a/hw/sm501_template.h b/hw/sm501_template.h > index d1ceef9..2d4a3d8 100644 > --- a/hw/sm501_template.h > +++ b/hw/sm501_template.h > @@ -120,7 +120,7 @@ static void glue(draw_hwc_line_, PIXEL_NAME)(SM501State * > s, int crt, > > /* get pixel value */ > if (i % 4 == 0) { > - cpu_physical_memory_rw(cursor_addr, &bitset, 1, 0); > + bitset = ldub_phys(cursor_addr); > cursor_addr++; > } > v = bitset & 3; > diff --git a/hw/usb-ohci.c b/hw/usb-ohci.c > index d2b14f7..0ad4f55 100644 > --- a/hw/usb-ohci.c > +++ b/hw/usb-ohci.c > @@ -427,7 +427,7 @@ static inline int get_dwords(OHCIState *ohci, > addr += ohci->localmem_base; > > for (i = 0; i < num; i++, buf++, addr += sizeof(*buf)) { > - cpu_physical_memory_rw(addr, (uint8_t *)buf, sizeof(*buf), 0); > + cpu_physical_memory_read(addr, buf, sizeof(*buf)); > *buf = le32_to_cpu(*buf); > } > > @@ -444,7 +444,7 @@ static inline int put_dwords(OHCIState *ohci, > > for (i = 0; i < num; i++, buf++, addr += sizeof(*buf)) { > uint32_t tmp = cpu_to_le32(*buf); > - cpu_physical_memory_rw(addr, (uint8_t *)&tmp, sizeof(tmp), 1); > + cpu_physical_memory_write(addr, &tmp, sizeof(tmp)); > } > > return 1; > @@ -459,7 +459,7 @@ static inline int get_words(OHCIState *ohci, > addr += ohci->localmem_base; > > for (i = 0; i < num; i++, buf++, addr += sizeof(*buf)) { > - cpu_physical_memory_rw(addr, (uint8_t *)buf, sizeof(*buf), 0); > + cpu_physical_memory_read(addr, buf, sizeof(*buf)); > *buf = le16_to_cpu(*buf); > } > > @@ -476,7 +476,7 @@ static inline int put_words(OHCIState *ohci, > > for (i = 0; i < num; i++, buf++, addr += sizeof(*buf)) { > uint16_t tmp = cpu_to_le16(*buf); > - cpu_physical_memory_rw(addr, (uint8_t *)&tmp, sizeof(tmp), 1); > + cpu_physical_memory_write(addr, &tmp, sizeof(tmp)); > } > > return 1; > @@ -504,8 +504,7 @@ static inline int ohci_read_iso_td(OHCIState *ohci, > static inline int ohci_read_hcca(OHCIState *ohci, > uint32_t addr, struct ohci_hcca *hcca) > { > - cpu_physical_memory_rw(addr + ohci->localmem_base, > - (uint8_t *)hcca, sizeof(*hcca), 0); > + cpu_physical_memory_read(addr + ohci->localmem_base, hcca, > sizeof(*hcca)); > return 1; > } > > @@ -531,8 +530,7 @@ static inline int ohci_put_iso_td(OHCIState *ohci, > static inline int ohci_put_hcca(OHCIState *ohci, > uint32_t addr, struct ohci_hcca *hcca) > { > - cpu_physical_memory_rw(addr + ohci->localmem_base, > - (uint8_t *)hcca, sizeof(*hcca), 1); > + cpu_physical_memory_write(addr + ohci->localmem_base, hcca, > sizeof(*hcca)); > return 1; > } > > diff --git a/monitor.c b/monitor.c > index 07186ca..5f3bc72 100644 > --- a/monitor.c > +++ b/monitor.c > @@ -1429,7 +1429,7 @@ static void memory_dump(Monitor *mon, int count, int > format, int wsize, > if (l > line_size) > l = line_size; > if (is_physical) { > - cpu_physical_memory_rw(addr, buf, l, 0); > + cpu_physical_memory_read(addr, buf, l); > } else { > env = mon_get_cpu(); > if (cpu_memory_rw_debug(env, addr, buf, l, 0) < 0) { > @@ -1605,7 +1605,7 @@ static int do_physical_memory_save(Monitor *mon, const > QDict *qdict, > l = sizeof(buf); > if (l > size) > l = size; > - cpu_physical_memory_rw(addr, buf, l, 0); > + cpu_physical_memory_read(addr, buf, l); > if (fwrite(buf, 1, l, f) != l) { > monitor_printf(mon, "fwrite() error in > do_physical_memory_save\n"); > goto exit; > @@ -1625,17 +1625,16 @@ exit: > static void do_sum(Monitor *mon, const QDict *qdict) > { > uint32_t addr; > - uint8_t buf[1]; > uint16_t sum; > uint32_t start = qdict_get_int(qdict, "start"); > uint32_t size = qdict_get_int(qdict, "size"); > > sum = 0; > for(addr = start; addr < (start + size); addr++) { > - cpu_physical_memory_rw(addr, buf, 1, 0); > + uint8_t val = ldub_phys(addr); > /* BSD sum algorithm ('sum' Unix command) */ > sum = (sum >> 1) | (sum << 15); > - sum += buf[0]; > + sum += val; > } > monitor_printf(mon, "%05d\n", sum); > } > -- > 1.7.2.5 > > > -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurel...@aurel32.net http://www.aurel32.net