mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 09:13:55 -06:00
fw_cfg: add generic non-DMA read method
Introduce fw_cfg_data_read(), a generic read method which works on all access widths (1 through 8 bytes, inclusive), and can be used during both IOPort and MMIO read accesses. To maintain legibility, only fw_cfg_data_mem_read() (the MMIO data read method) is replaced by this patch. The new method essentially unwinds the fw_cfg_data_mem_read() + fw_cfg_read() combo, but without unnecessarily repeating all the validity checks performed by the latter on each byte being read. This patch also modifies the trace_fw_cfg_read prototype to accept a 64-bit value argument, allowing it to work properly with the new read method, but also remain backward compatible with existing call sites. Cc: Laszlo Ersek <lersek@redhat.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Marc Marí <markmb@redhat.com> Signed-off-by: Gabriel Somlo <somlo@cmu.edu> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Message-id: 1446733972-1602-6-git-send-email-somlo@cmu.edu Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
66f8fd9dda
commit
38bf20931a
2 changed files with 32 additions and 15 deletions
|
@ -196,7 +196,7 @@ ecc_diag_mem_readb(uint64_t addr, uint32_t ret) "Read diagnostic %"PRId64"= %02x
|
|||
|
||||
# hw/nvram/fw_cfg.c
|
||||
fw_cfg_select(void *s, uint16_t key, int ret) "%p key %d = %d"
|
||||
fw_cfg_read(void *s, uint8_t ret) "%p = %d"
|
||||
fw_cfg_read(void *s, uint64_t ret) "%p = %"PRIx64
|
||||
fw_cfg_add_file(void *s, int index, char *name, size_t len) "%p #%d: %s (%zd bytes)"
|
||||
|
||||
# hw/block/hd-geometry.c
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue