ahci: Add some MMIO debug printfs
These are useful for bringup of AHCI. Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com> Reviewed-by: John Snow <jsnow@redhat.com> Message-id: 517ba413dce7deb4ab17c0cc1e8bbdaaace2a0db.1445917756.git.crosthwaite.peter@gmail.com Signed-off-by: John Snow <jsnow@redhat.com>
This commit is contained in:
parent
9fbf0fa81f
commit
802742670d
@ -378,17 +378,23 @@ static uint64_t ahci_mem_read(void *opaque, hwaddr addr, unsigned size)
|
||||
int ofst = addr - aligned;
|
||||
uint64_t lo = ahci_mem_read_32(opaque, aligned);
|
||||
uint64_t hi;
|
||||
uint64_t val;
|
||||
|
||||
/* if < 8 byte read does not cross 4 byte boundary */
|
||||
if (ofst + size <= 4) {
|
||||
return lo >> (ofst * 8);
|
||||
}
|
||||
g_assert_cmpint(size, >, 1);
|
||||
val = lo >> (ofst * 8);
|
||||
} else {
|
||||
g_assert_cmpint(size, >, 1);
|
||||
|
||||
/* If the 64bit read is unaligned, we will produce undefined
|
||||
* results. AHCI does not support unaligned 64bit reads. */
|
||||
hi = ahci_mem_read_32(opaque, aligned + 4);
|
||||
return (hi << 32 | lo) >> (ofst * 8);
|
||||
/* If the 64bit read is unaligned, we will produce undefined
|
||||
* results. AHCI does not support unaligned 64bit reads. */
|
||||
hi = ahci_mem_read_32(opaque, aligned + 4);
|
||||
val = (hi << 32 | lo) >> (ofst * 8);
|
||||
}
|
||||
|
||||
DPRINTF(-1, "addr=0x%" HWADDR_PRIx " val=0x%" PRIx64 ", size=%d\n",
|
||||
addr, val, size);
|
||||
return val;
|
||||
}
|
||||
|
||||
|
||||
@ -397,6 +403,9 @@ static void ahci_mem_write(void *opaque, hwaddr addr,
|
||||
{
|
||||
AHCIState *s = opaque;
|
||||
|
||||
DPRINTF(-1, "addr=0x%" HWADDR_PRIx " val=0x%" PRIx64 ", size=%d\n",
|
||||
addr, val, size);
|
||||
|
||||
/* Only aligned reads are allowed on AHCI */
|
||||
if (addr & 3) {
|
||||
fprintf(stderr, "ahci: Mis-aligned write to addr 0x"
|
||||
|
Loading…
Reference in New Issue
Block a user