memory: Fix old portio word accesses
As we register old portio regions via ioport_register, we are also responsible for providing the word access wrapper. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
		
							parent
							
								
									6bf9fd43cf
								
							
						
					
					
						commit
						03808f58e4
					
				
							
								
								
									
										10
									
								
								memory.c
								
								
								
								
							
							
						
						
									
										10
									
								
								memory.c
								
								
								
								
							| 
						 | 
				
			
			@ -404,6 +404,11 @@ static void memory_region_iorange_read(IORange *iorange,
 | 
			
		|||
        *data = ((uint64_t)1 << (width * 8)) - 1;
 | 
			
		||||
        if (mrp) {
 | 
			
		||||
            *data = mrp->read(mr->opaque, offset + mr->offset);
 | 
			
		||||
        } else if (width == 2) {
 | 
			
		||||
            mrp = find_portio(mr, offset, 1, false);
 | 
			
		||||
            assert(mrp);
 | 
			
		||||
            *data = mrp->read(mr->opaque, offset + mr->offset) |
 | 
			
		||||
                    (mrp->read(mr->opaque, offset + mr->offset + 1) << 8);
 | 
			
		||||
        }
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -426,6 +431,11 @@ static void memory_region_iorange_write(IORange *iorange,
 | 
			
		|||
 | 
			
		||||
        if (mrp) {
 | 
			
		||||
            mrp->write(mr->opaque, offset + mr->offset, data);
 | 
			
		||||
        } else if (width == 2) {
 | 
			
		||||
            mrp = find_portio(mr, offset, 1, false);
 | 
			
		||||
            assert(mrp);
 | 
			
		||||
            mrp->write(mr->opaque, offset + mr->offset, data & 0xff);
 | 
			
		||||
            mrp->write(mr->opaque, offset + mr->offset + 1, data >> 8);
 | 
			
		||||
        }
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue