ide: add ncq identify data for ahci sata drives
I modified ide_identify() to include the zero-based queue length value in word 75, and set bit 8 in word 76 to signal NCQ support in the identify data for AHCI SATA drives. Signed-off-by: Roland Elek <elek.roland@gmail.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
		
							parent
							
								
									2ff61ff195
								
							
						
					
					
						commit
						ccf0fd8b05
					
				| 
						 | 
				
			
			@ -140,6 +140,13 @@ static void ide_identify(IDEState *s)
 | 
			
		|||
    put_le16(p + 66, 120);
 | 
			
		||||
    put_le16(p + 67, 120);
 | 
			
		||||
    put_le16(p + 68, 120);
 | 
			
		||||
 | 
			
		||||
    if (s->ncq_queues) {
 | 
			
		||||
        put_le16(p + 75, s->ncq_queues - 1);
 | 
			
		||||
        /* NCQ supported */
 | 
			
		||||
        put_le16(p + 76, (1 << 8));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    put_le16(p + 80, 0xf0); /* ata3 -> ata6 supported */
 | 
			
		||||
    put_le16(p + 81, 0x16); /* conforms to ata5 */
 | 
			
		||||
    /* 14=NOP supported, 5=WCACHE supported, 0=SMART supported */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -447,6 +447,8 @@ struct IDEState {
 | 
			
		|||
    int smart_errors;
 | 
			
		||||
    uint8_t smart_selftest_count;
 | 
			
		||||
    uint8_t *smart_selftest_data;
 | 
			
		||||
    /* AHCI */
 | 
			
		||||
    int ncq_queues;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct IDEDMAOps {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue