summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2014-10-24 12:19:11 +0100
committerPeter Maydell <peter.maydell@linaro.org>2014-10-24 12:19:11 +0100
commit7797a73947d5c0e63dd5552b348cf66c384b4555 (patch)
tree9e48798870378c8af03dfe2138682055768726a2
parent1430500bb8ba0bf15bad235439d62276c1b6b22f (diff)
downloadqemu-7797a73947d5c0e63dd5552b348cf66c384b4555.tar.gz
hmp: Remove "info pcmcia"
This command lists PCMCIA sockets and cards. Only a few ARM boards have sockets (akita, borzoi, connex, mainstone, spitz, terrier, tosa, verdex, z2), the only card is the DSCM-1xxxx Hitachi Microdrive (qdev "microdrive"), and it is only inserted during machine init, if ever. So this command doesn't really tell anybody anything new so far. Moreover, pcmcia_socket_unregister() has a use-after-free bug, flagged by Coverity. Has never been used, because there has never been code to eject a PCMCIA card. Not worth fixing & converting to QMP. Remove it. Signed-off-by: Markus Armbruster <armbru@redhat.com> Acked-by: Luiz Capitulino <lcapitulino@redhat.com> Acked-by: Andreas Färber <afaerber@suse.de> Message-id: 1411144812-22958-1-git-send-email-armbru@redhat.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--hmp-commands.hx2
-rw-r--r--hw/ide/microdrive.c1
-rw-r--r--hw/pcmcia/pxa2xx.c21
-rw-r--r--include/hw/pcmcia.h6
-rw-r--r--monitor.c8
-rw-r--r--vl.c44
6 files changed, 0 insertions, 82 deletions
diff --git a/hmp-commands.hx b/hmp-commands.hx
index 0b1a4f778a..e37bc8b010 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -1748,8 +1748,6 @@ show information about active capturing
show list of VM snapshots
@item info status
show the current VM status (running|paused)
-@item info pcmcia
-show guest PCMCIA status
@item info mice
show which guest mouse is receiving events
@item info vnc
diff --git a/hw/ide/microdrive.c b/hw/ide/microdrive.c
index ed85185a74..6639dd4886 100644
--- a/hw/ide/microdrive.c
+++ b/hw/ide/microdrive.c
@@ -543,7 +543,6 @@ static int dscm1xxxx_attach(PCMCIACardState *card)
device_reset(DEVICE(md));
md_interrupt_update(md);
- card->slot->card_string = "DSCM-1xxxx Hitachi Microdrive";
return 0;
}
diff --git a/hw/pcmcia/pxa2xx.c b/hw/pcmcia/pxa2xx.c
index 55e8a2a62e..a7e187743d 100644
--- a/hw/pcmcia/pxa2xx.c
+++ b/hw/pcmcia/pxa2xx.c
@@ -149,24 +149,11 @@ PXA2xxPCMCIAState *pxa2xx_pcmcia_init(MemoryRegion *sysmem,
sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base);
s = PXA2XX_PCMCIA(dev);
- if (base == 0x30000000) {
- s->slot.slot_string = "PXA PC Card Socket 1";
- } else {
- s->slot.slot_string = "PXA PC Card Socket 0";
- }
-
qdev_init_nofail(dev);
return s;
}
-static void pxa2xx_pcmcia_realize(DeviceState *dev, Error **errp)
-{
- PXA2xxPCMCIAState *s = PXA2XX_PCMCIA(dev);
-
- pcmcia_socket_register(&s->slot);
-}
-
static void pxa2xx_pcmcia_initfn(Object *obj)
{
SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
@@ -262,19 +249,11 @@ void pxa2xx_pcmcia_set_irq_cb(void *opaque, qemu_irq irq, qemu_irq cd_irq)
s->cd_irq = cd_irq;
}
-static void pxa2xx_pcmcia_class_init(ObjectClass *oc, void *data)
-{
- DeviceClass *dc = DEVICE_CLASS(oc);
-
- dc->realize = pxa2xx_pcmcia_realize;
-}
-
static const TypeInfo pxa2xx_pcmcia_type_info = {
.name = TYPE_PXA2XX_PCMCIA,
.parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(PXA2xxPCMCIAState),
.instance_init = pxa2xx_pcmcia_initfn,
- .class_init = pxa2xx_pcmcia_class_init,
};
static void pxa2xx_pcmcia_register_types(void)
diff --git a/include/hw/pcmcia.h b/include/hw/pcmcia.h
index 2695d3cba6..98406ffbc9 100644
--- a/include/hw/pcmcia.h
+++ b/include/hw/pcmcia.h
@@ -8,14 +8,8 @@
typedef struct PCMCIASocket {
qemu_irq irq;
bool attached;
- const char *slot_string;
- const char *card_string;
} PCMCIASocket;
-void pcmcia_socket_register(PCMCIASocket *socket);
-void pcmcia_socket_unregister(PCMCIASocket *socket);
-void pcmcia_info(Monitor *mon, const QDict *qdict);
-
#define TYPE_PCMCIA_CARD "pcmcia-card"
#define PCMCIA_CARD(obj) \
OBJECT_CHECK(PCMCIACardState, (obj), TYPE_PCMCIA_CARD)
diff --git a/monitor.c b/monitor.c
index 07fb36e717..1fc201ae82 100644
--- a/monitor.c
+++ b/monitor.c
@@ -25,7 +25,6 @@
#include "hw/hw.h"
#include "monitor/qdev.h"
#include "hw/usb.h"
-#include "hw/pcmcia.h"
#include "hw/i386/pc.h"
#include "hw/pci/pci.h"
#include "sysemu/watchdog.h"
@@ -2792,13 +2791,6 @@ static mon_cmd_t info_cmds[] = {
.mhandler.cmd = hmp_info_status,
},
{
- .name = "pcmcia",
- .args_type = "",
- .params = "",
- .help = "show guest PCMCIA status",
- .mhandler.cmd = pcmcia_info,
- },
- {
.name = "mice",
.args_type = "",
.params = "",
diff --git a/vl.c b/vl.c
index aee73e192f..2f81384726 100644
--- a/vl.c
+++ b/vl.c
@@ -63,7 +63,6 @@ int main(int argc, char **argv)
#include "hw/boards.h"
#include "sysemu/accel.h"
#include "hw/usb.h"
-#include "hw/pcmcia.h"
#include "hw/i386/pc.h"
#include "hw/isa/isa.h"
#include "hw/bt.h"
@@ -1408,49 +1407,6 @@ void do_usb_del(Monitor *mon, const QDict *qdict)
}
/***********************************************************/
-/* PCMCIA/Cardbus */
-
-static struct pcmcia_socket_entry_s {
- PCMCIASocket *socket;
- struct pcmcia_socket_entry_s *next;
-} *pcmcia_sockets = 0;
-
-void pcmcia_socket_register(PCMCIASocket *socket)
-{
- struct pcmcia_socket_entry_s *entry;
-
- entry = g_malloc(sizeof(struct pcmcia_socket_entry_s));
- entry->socket = socket;
- entry->next = pcmcia_sockets;
- pcmcia_sockets = entry;
-}
-
-void pcmcia_socket_unregister(PCMCIASocket *socket)
-{
- struct pcmcia_socket_entry_s *entry, **ptr;
-
- ptr = &pcmcia_sockets;
- for (entry = *ptr; entry; ptr = &entry->next, entry = *ptr)
- if (entry->socket == socket) {
- *ptr = entry->next;
- g_free(entry);
- }
-}
-
-void pcmcia_info(Monitor *mon, const QDict *qdict)
-{
- struct pcmcia_socket_entry_s *iter;
-
- if (!pcmcia_sockets)
- monitor_printf(mon, "No PCMCIA sockets\n");
-
- for (iter = pcmcia_sockets; iter; iter = iter->next)
- monitor_printf(mon, "%s: %s\n", iter->socket->slot_string,
- iter->socket->attached ? iter->socket->card_string :
- "Empty");
-}
-
-/***********************************************************/
/* machine registration */
MachineState *current_machine;