Le 13/09/2017 à 11:07, Thomas Huth a écrit :
QEMU currently aborts if you try to use the device at the command
line:

$ ppc64-softmmu/qemu-system-ppc64 -S -machine prep -device pc87312
Unexpected error in qemu_chr_fe_init() at chardev/char-fe.c:222:
qemu-system-ppc64: -device pc87312: Device 'parallel0' is in use
Aborted (core dumped)

It uses parallel_hds in its realize function, so I can not be
instantiated by the user again.

Signed-off-by: Thomas Huth <th...@redhat.com>

Reviewed-by: Hervé Poussineau <hpous...@reactos.org>

However, a better solution would probably to not directly use parallel_hds[0], 
but to add some Chardev properties to the device, and to fill them in the 
mainboard code.
This is noted as a "Future incompatible change" in changelog since 2.8

Hervé

---
  hw/isa/pc87312.c | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/hw/isa/pc87312.c b/hw/isa/pc87312.c
index 5ce9f0a..48b29e3 100644
--- a/hw/isa/pc87312.c
+++ b/hw/isa/pc87312.c
@@ -386,6 +386,8 @@ static void pc87312_class_init(ObjectClass *klass, void 
*data)
      dc->reset = pc87312_reset;
      dc->vmsd = &vmstate_pc87312;
      dc->props = pc87312_properties;
+    /* Reason: Uses parallel_hds[0] in realize(), so it can't be used twice */
+    dc->user_creatable = false;
  }
static const TypeInfo pc87312_type_info = {



Reply via email to