etrax: Don't pass CPUState to peripherals.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
This commit is contained in:
		
							parent
							
								
									e510e05b5d
								
							
						
					
					
						commit
						ba494313d3
					
				| @ -309,16 +309,16 @@ void axisdev88_init (ram_addr_t ram_size, | ||||
|     nmi[0] = qdev_get_gpio_in(dev, 30); | ||||
|     nmi[1] = qdev_get_gpio_in(dev, 31); | ||||
| 
 | ||||
|     etraxfs_dmac = etraxfs_dmac_init(env, 0x30000000, 10); | ||||
|     etraxfs_dmac = etraxfs_dmac_init(0x30000000, 10); | ||||
|     for (i = 0; i < 10; i++) { | ||||
|         /* On ETRAX, odd numbered channels are inputs.  */ | ||||
|         etraxfs_dmac_connect(etraxfs_dmac, i, irq + 7 + i, i & 1); | ||||
|     } | ||||
| 
 | ||||
|     /* Add the two ethernet blocks.  */ | ||||
|     eth[0] = etraxfs_eth_init(&nd_table[0], env, 0x30034000, 1); | ||||
|     eth[0] = etraxfs_eth_init(&nd_table[0], 0x30034000, 1); | ||||
|     if (nb_nics > 1) | ||||
|         eth[1] = etraxfs_eth_init(&nd_table[1], env, 0x30036000, 2); | ||||
|         eth[1] = etraxfs_eth_init(&nd_table[1], 0x30036000, 2); | ||||
| 
 | ||||
|     /* The DMA Connector block is missing, hardwire things for now.  */ | ||||
|     etraxfs_dmac_connect_client(etraxfs_dmac, 0, eth[0]); | ||||
|  | ||||
| @ -100,16 +100,16 @@ void bareetraxfs_init (ram_addr_t ram_size, | ||||
|     nmi[0] = qdev_get_gpio_in(dev, 30); | ||||
|     nmi[1] = qdev_get_gpio_in(dev, 31); | ||||
| 
 | ||||
|     etraxfs_dmac = etraxfs_dmac_init(env, 0x30000000, 10); | ||||
|     etraxfs_dmac = etraxfs_dmac_init(0x30000000, 10); | ||||
|     for (i = 0; i < 10; i++) { | ||||
|         /* On ETRAX, odd numbered channels are inputs.  */ | ||||
|         etraxfs_dmac_connect(etraxfs_dmac, i, irq + 7 + i, i & 1); | ||||
|     } | ||||
| 
 | ||||
|     /* Add the two ethernet blocks.  */ | ||||
|     eth[0] = etraxfs_eth_init(&nd_table[0], env, 0x30034000, 1); | ||||
|     eth[0] = etraxfs_eth_init(&nd_table[0], 0x30034000, 1); | ||||
|     if (nb_nics > 1) | ||||
|         eth[1] = etraxfs_eth_init(&nd_table[1], env, 0x30036000, 2); | ||||
|         eth[1] = etraxfs_eth_init(&nd_table[1], 0x30036000, 2); | ||||
| 
 | ||||
|     /* The DMA Connector block is missing, hardwire things for now.  */ | ||||
|     etraxfs_dmac_connect_client(etraxfs_dmac, 0, eth[0]); | ||||
|  | ||||
| @ -25,5 +25,4 @@ | ||||
| #include "etraxfs_dma.h" | ||||
| 
 | ||||
| qemu_irq *cris_pic_init_cpu(CPUState *env); | ||||
| void *etraxfs_eth_init(NICInfo *nd, CPUState *env, | ||||
|                        target_phys_addr_t base, int phyaddr); | ||||
| void *etraxfs_eth_init(NICInfo *nd, target_phys_addr_t base, int phyaddr); | ||||
|  | ||||
| @ -186,8 +186,6 @@ struct fs_dma_channel | ||||
| struct fs_dma_ctrl | ||||
| { | ||||
| 	int map; | ||||
| 	CPUState *env; | ||||
| 
 | ||||
| 	int nr_channels; | ||||
| 	struct fs_dma_channel *channels; | ||||
| 
 | ||||
| @ -741,8 +739,7 @@ static void DMA_run(void *opaque) | ||||
|         qemu_bh_schedule_idle(etraxfs_dmac->bh); | ||||
| } | ||||
| 
 | ||||
| void *etraxfs_dmac_init(CPUState *env,  | ||||
| 			target_phys_addr_t base, int nr_channels) | ||||
| void *etraxfs_dmac_init(target_phys_addr_t base, int nr_channels) | ||||
| { | ||||
| 	struct fs_dma_ctrl *ctrl = NULL; | ||||
| 
 | ||||
| @ -750,7 +747,6 @@ void *etraxfs_dmac_init(CPUState *env, | ||||
| 
 | ||||
|         ctrl->bh = qemu_bh_new(DMA_run, ctrl); | ||||
| 
 | ||||
| 	ctrl->env = env; | ||||
| 	ctrl->nr_channels = nr_channels; | ||||
| 	ctrl->channels = qemu_mallocz(sizeof ctrl->channels[0] * nr_channels); | ||||
| 
 | ||||
|  | ||||
| @ -13,8 +13,7 @@ struct etraxfs_dma_client | ||||
| 	} client; | ||||
| }; | ||||
| 
 | ||||
| void *etraxfs_dmac_init(CPUState *env, target_phys_addr_t base,  | ||||
| 			int nr_channels); | ||||
| void *etraxfs_dmac_init(target_phys_addr_t base, int nr_channels); | ||||
| void etraxfs_dmac_connect(void *opaque, int channel, qemu_irq *line, | ||||
| 			  int input); | ||||
| void etraxfs_dmac_connect_client(void *opaque, int c,  | ||||
|  | ||||
| @ -319,7 +319,6 @@ static void mdio_cycle(struct qemu_mdio *bus) | ||||
| 
 | ||||
| struct fs_eth | ||||
| { | ||||
| 	CPUState *env; | ||||
| 	VLANClientState *vc; | ||||
| 	int ethregs; | ||||
| 
 | ||||
| @ -565,8 +564,7 @@ static void eth_cleanup(VLANClientState *vc) | ||||
|         qemu_free(eth); | ||||
| } | ||||
| 
 | ||||
| void *etraxfs_eth_init(NICInfo *nd, CPUState *env,  | ||||
| 		       target_phys_addr_t base, int phyaddr) | ||||
| void *etraxfs_eth_init(NICInfo *nd, target_phys_addr_t base, int phyaddr) | ||||
| { | ||||
| 	struct etraxfs_dma_client *dma = NULL;	 | ||||
| 	struct fs_eth *eth = NULL; | ||||
| @ -574,7 +572,6 @@ void *etraxfs_eth_init(NICInfo *nd, CPUState *env, | ||||
| 	qemu_check_nic_model(nd, "fseth"); | ||||
| 
 | ||||
| 	dma = qemu_mallocz(sizeof *dma * 2); | ||||
| 
 | ||||
| 	eth = qemu_mallocz(sizeof *eth); | ||||
| 
 | ||||
| 	dma[0].client.push = eth_tx_push; | ||||
| @ -582,7 +579,6 @@ void *etraxfs_eth_init(NICInfo *nd, CPUState *env, | ||||
| 	dma[1].client.opaque = eth; | ||||
| 	dma[1].client.pull = NULL; | ||||
| 
 | ||||
| 	eth->env = env; | ||||
| 	eth->dma_out = dma; | ||||
| 	eth->dma_in = dma + 1; | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Edgar E. Iglesias
						Edgar E. Iglesias