[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH target-arm v1 1/1] arm/xilinx_zynq: Always insta
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH target-arm v1 1/1] arm/xilinx_zynq: Always instantiate the GEMs |
Date: |
Fri, 3 Jan 2014 10:51:12 +0000 |
On 3 January 2014 03:21, Peter Crosthwaite <address@hidden> wrote:
> Don't conditionalise GEM instantiation on networking attachments. The
> device should always be present even if not attached to a network.
>
> This allows for probing of the device by expectant guests (such as
> OS's). This is needed because sysbus (or AXI in Xilinx's real hw case)
> is not self identifying so the guest has no dynamic way of detecting
> device absence.
Agreed that this is the right thing.
Some day I might try to look into how to update our handling
of embedded NICs to work with non-legacy command lines...
> - for (n = 0; n < nb_nics; n++) {
> - nd = &nd_table[n];
> + for (n = 0; n < 2; n++) {
> + NICInfo *nd = n < nb_nics ? &nd_table[n] : NULL;
> if (n == 0) {
> gem_init(nd, 0xE000B000, pic[54-IRQ_OFFSET]);
> } else if (n == 1) {
This is now a rather odd loop which goes round exactly twice
and uses an if() statement to make the body different each time.
Instead you can just say:
gem_init(nd_table[0], 0xe000b000, pic[54 - IRQ_OFFSET]);
gem_init(nd_table[1], 0xe000c000, pic[54 - IRQ_OFFSET]);
and have gem_init() condition the calls to qdev_set_nic_properties
and qdev_check_nic_model on "if (nd->used)".
thanks
-- PMM