From: aurel32 Date: Tue, 3 Mar 2009 06:23:17 +0000 (+0000) Subject: sh4: r2d fix no ide/net case X-Git-Tag: TizenStudio_2.0_p2.3.2~208^2~12613 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ab2da564d7f8f2a0e4e31875e1cdf87db14500e2;p=sdk%2Femulator%2Fqemu.git sh4: r2d fix no ide/net case Fix invalid access/crash when there is no IDE device or NET device. Signed-off-by: Takashi YOSHII Tested-by: Shin-ichiro KAWASAKI Signed-off-by: Aurelien Jarno git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6673 c046a42c-6fe2-441c-8c8c-71466251a162 --- diff --git a/hw/r2d.c b/hw/r2d.c index e6b2bf4..713fc53 100644 --- a/hw/r2d.c +++ b/hw/r2d.c @@ -224,13 +224,13 @@ static void r2d_init(ram_addr_t ram_size, int vga_ram_size, serial_hds[2]); /* onboard CF (True IDE mode, Master only). */ - mmio_ide_init(0x14001000, 0x1400080c, irq[CF_IDE], 1, - drives_table[drive_get_index(IF_IDE, 0, 0)].bdrv, NULL); + if ((i = drive_get_index(IF_IDE, 0, 0)) != -1) + mmio_ide_init(0x14001000, 0x1400080c, irq[CF_IDE], 1, + drives_table[i].bdrv, NULL); /* NIC: rtl8139 on-board, and 2 slots. */ - pci_nic_init(pci, &nd_table[0], 2 << 3, "rtl8139"); - for (i = 1; i < nb_nics; i++) - pci_nic_init(pci, &nd_table[i], -1, "ne2k_pci"); + for (i = 0; i < nb_nics; i++) + pci_nic_init(pci, &nd_table[i], (i==0)? 2<<3: -1, "rtl8139"); /* Todo: register on board registers */ {