etrax: Don't pass CPUState to peripherals.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
This commit is contained in:
Edgar E. Iglesias 2009-06-15 21:00:50 +02:00
parent e510e05b5d
commit ba494313d3
6 changed files with 10 additions and 20 deletions

View file

@ -309,16 +309,16 @@ void axisdev88_init (ram_addr_t ram_size,
nmi[0] = qdev_get_gpio_in(dev, 30); nmi[0] = qdev_get_gpio_in(dev, 30);
nmi[1] = qdev_get_gpio_in(dev, 31); 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++) { for (i = 0; i < 10; i++) {
/* On ETRAX, odd numbered channels are inputs. */ /* On ETRAX, odd numbered channels are inputs. */
etraxfs_dmac_connect(etraxfs_dmac, i, irq + 7 + i, i & 1); etraxfs_dmac_connect(etraxfs_dmac, i, irq + 7 + i, i & 1);
} }
/* Add the two ethernet blocks. */ /* 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) 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. */ /* The DMA Connector block is missing, hardwire things for now. */
etraxfs_dmac_connect_client(etraxfs_dmac, 0, eth[0]); etraxfs_dmac_connect_client(etraxfs_dmac, 0, eth[0]);

View file

@ -100,16 +100,16 @@ void bareetraxfs_init (ram_addr_t ram_size,
nmi[0] = qdev_get_gpio_in(dev, 30); nmi[0] = qdev_get_gpio_in(dev, 30);
nmi[1] = qdev_get_gpio_in(dev, 31); 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++) { for (i = 0; i < 10; i++) {
/* On ETRAX, odd numbered channels are inputs. */ /* On ETRAX, odd numbered channels are inputs. */
etraxfs_dmac_connect(etraxfs_dmac, i, irq + 7 + i, i & 1); etraxfs_dmac_connect(etraxfs_dmac, i, irq + 7 + i, i & 1);
} }
/* Add the two ethernet blocks. */ /* 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) 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. */ /* The DMA Connector block is missing, hardwire things for now. */
etraxfs_dmac_connect_client(etraxfs_dmac, 0, eth[0]); etraxfs_dmac_connect_client(etraxfs_dmac, 0, eth[0]);

View file

@ -25,5 +25,4 @@
#include "etraxfs_dma.h" #include "etraxfs_dma.h"
qemu_irq *cris_pic_init_cpu(CPUState *env); qemu_irq *cris_pic_init_cpu(CPUState *env);
void *etraxfs_eth_init(NICInfo *nd, CPUState *env, void *etraxfs_eth_init(NICInfo *nd, target_phys_addr_t base, int phyaddr);
target_phys_addr_t base, int phyaddr);

View file

@ -186,8 +186,6 @@ struct fs_dma_channel
struct fs_dma_ctrl struct fs_dma_ctrl
{ {
int map; int map;
CPUState *env;
int nr_channels; int nr_channels;
struct fs_dma_channel *channels; struct fs_dma_channel *channels;
@ -741,8 +739,7 @@ static void DMA_run(void *opaque)
qemu_bh_schedule_idle(etraxfs_dmac->bh); qemu_bh_schedule_idle(etraxfs_dmac->bh);
} }
void *etraxfs_dmac_init(CPUState *env, void *etraxfs_dmac_init(target_phys_addr_t base, int nr_channels)
target_phys_addr_t base, int nr_channels)
{ {
struct fs_dma_ctrl *ctrl = NULL; 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->bh = qemu_bh_new(DMA_run, ctrl);
ctrl->env = env;
ctrl->nr_channels = nr_channels; ctrl->nr_channels = nr_channels;
ctrl->channels = qemu_mallocz(sizeof ctrl->channels[0] * nr_channels); ctrl->channels = qemu_mallocz(sizeof ctrl->channels[0] * nr_channels);

View file

@ -13,8 +13,7 @@ struct etraxfs_dma_client
} client; } client;
}; };
void *etraxfs_dmac_init(CPUState *env, target_phys_addr_t base, void *etraxfs_dmac_init(target_phys_addr_t base, int nr_channels);
int nr_channels);
void etraxfs_dmac_connect(void *opaque, int channel, qemu_irq *line, void etraxfs_dmac_connect(void *opaque, int channel, qemu_irq *line,
int input); int input);
void etraxfs_dmac_connect_client(void *opaque, int c, void etraxfs_dmac_connect_client(void *opaque, int c,

View file

@ -319,7 +319,6 @@ static void mdio_cycle(struct qemu_mdio *bus)
struct fs_eth struct fs_eth
{ {
CPUState *env;
VLANClientState *vc; VLANClientState *vc;
int ethregs; int ethregs;
@ -565,8 +564,7 @@ static void eth_cleanup(VLANClientState *vc)
qemu_free(eth); qemu_free(eth);
} }
void *etraxfs_eth_init(NICInfo *nd, CPUState *env, void *etraxfs_eth_init(NICInfo *nd, target_phys_addr_t base, int phyaddr)
target_phys_addr_t base, int phyaddr)
{ {
struct etraxfs_dma_client *dma = NULL; struct etraxfs_dma_client *dma = NULL;
struct fs_eth *eth = NULL; struct fs_eth *eth = NULL;
@ -574,7 +572,6 @@ void *etraxfs_eth_init(NICInfo *nd, CPUState *env,
qemu_check_nic_model(nd, "fseth"); qemu_check_nic_model(nd, "fseth");
dma = qemu_mallocz(sizeof *dma * 2); dma = qemu_mallocz(sizeof *dma * 2);
eth = qemu_mallocz(sizeof *eth); eth = qemu_mallocz(sizeof *eth);
dma[0].client.push = eth_tx_push; 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.opaque = eth;
dma[1].client.pull = NULL; dma[1].client.pull = NULL;
eth->env = env;
eth->dma_out = dma; eth->dma_out = dma;
eth->dma_in = dma + 1; eth->dma_in = dma + 1;