lm32_sys: convert to memory API
Signed-off-by: Benoît Canet <benoit.canet@gmail.com> Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
		
							parent
							
								
									5f2be17af1
								
							
						
					
					
						commit
						0aa27efa93
					
				| @ -47,6 +47,7 @@ enum { | ||||
| 
 | ||||
| struct LM32SysState { | ||||
|     SysBusDevice busdev; | ||||
|     MemoryRegion iomem; | ||||
|     uint32_t base; | ||||
|     uint32_t regs[R_MAX]; | ||||
|     uint8_t testname[MAX_TESTNAME_LEN]; | ||||
| @ -60,7 +61,8 @@ static void copy_testname(LM32SysState *s) | ||||
|     s->testname[MAX_TESTNAME_LEN - 1] = '\0'; | ||||
| } | ||||
| 
 | ||||
| static void sys_write(void *opaque, target_phys_addr_t addr, uint32_t value) | ||||
| static void sys_write(void *opaque, target_phys_addr_t addr, | ||||
|                       uint64_t value, unsigned size) | ||||
| { | ||||
|     LM32SysState *s = opaque; | ||||
|     char *testname; | ||||
| @ -89,16 +91,16 @@ static void sys_write(void *opaque, target_phys_addr_t addr, uint32_t value) | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| static CPUReadMemoryFunc * const sys_read_fn[] = { | ||||
|     NULL, | ||||
|     NULL, | ||||
|     NULL, | ||||
| }; | ||||
| static bool sys_ops_accepts(void *opaque, target_phys_addr_t addr, | ||||
|                             unsigned size, bool is_write) | ||||
| { | ||||
|     return is_write && size == 4; | ||||
| } | ||||
| 
 | ||||
| static CPUWriteMemoryFunc * const sys_write_fn[] = { | ||||
|     NULL, | ||||
|     NULL, | ||||
|     &sys_write, | ||||
| static const MemoryRegionOps sys_ops = { | ||||
|     .write = sys_write, | ||||
|     .valid.accepts = sys_ops_accepts, | ||||
|     .endianness = DEVICE_NATIVE_ENDIAN, | ||||
| }; | ||||
| 
 | ||||
| static void sys_reset(DeviceState *d) | ||||
| @ -115,11 +117,9 @@ static void sys_reset(DeviceState *d) | ||||
| static int lm32_sys_init(SysBusDevice *dev) | ||||
| { | ||||
|     LM32SysState *s = FROM_SYSBUS(typeof(*s), dev); | ||||
|     int sys_regs; | ||||
| 
 | ||||
|     sys_regs = cpu_register_io_memory(sys_read_fn, sys_write_fn, s, | ||||
|             DEVICE_NATIVE_ENDIAN); | ||||
|     sysbus_init_mmio(dev, R_MAX * 4, sys_regs); | ||||
|     memory_region_init_io(&s->iomem, &sys_ops , s, "sys", R_MAX * 4); | ||||
|     sysbus_init_mmio_region(dev, &s->iomem); | ||||
| 
 | ||||
|     /* Note: This device is not created in the board initialization,
 | ||||
|      * instead it has to be added with the -device parameter. Therefore, | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Benoît Canet
						Benoît Canet