mirror of
https://github.com/xemu-project/xemu.git
synced 2025-02-01 17:53:20 +00:00
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