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;
 | 
					    int ofst = addr - aligned;
 | 
				
			||||||
    uint64_t lo = ahci_mem_read_32(opaque, aligned);
 | 
					    uint64_t lo = ahci_mem_read_32(opaque, aligned);
 | 
				
			||||||
    uint64_t hi;
 | 
					    uint64_t hi;
 | 
				
			||||||
 | 
					    uint64_t val;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* if < 8 byte read does not cross 4 byte boundary */
 | 
					    /* if < 8 byte read does not cross 4 byte boundary */
 | 
				
			||||||
    if (ofst + size <= 4) {
 | 
					    if (ofst + size <= 4) {
 | 
				
			||||||
        return lo >> (ofst * 8);
 | 
					        val = lo >> (ofst * 8);
 | 
				
			||||||
    }
 | 
					    } else {
 | 
				
			||||||
    g_assert_cmpint(size, >, 1);
 | 
					        g_assert_cmpint(size, >, 1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* If the 64bit read is unaligned, we will produce undefined
 | 
					        /* If the 64bit read is unaligned, we will produce undefined
 | 
				
			||||||
     * results. AHCI does not support unaligned 64bit reads. */
 | 
					         * results. AHCI does not support unaligned 64bit reads. */
 | 
				
			||||||
    hi = ahci_mem_read_32(opaque, aligned + 4);
 | 
					        hi = ahci_mem_read_32(opaque, aligned + 4);
 | 
				
			||||||
    return (hi << 32 | lo) >> (ofst * 8);
 | 
					        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;
 | 
					    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 */
 | 
					    /* Only aligned reads are allowed on AHCI */
 | 
				
			||||||
    if (addr & 3) {
 | 
					    if (addr & 3) {
 | 
				
			||||||
        fprintf(stderr, "ahci: Mis-aligned write to addr 0x"
 | 
					        fprintf(stderr, "ahci: Mis-aligned write to addr 0x"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue