qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] qdev: Some ISA devices don't handle second instantiation gr


From: Markus Armbruster
Subject: [Qemu-devel] qdev: Some ISA devices don't handle second instantiation gracefully (was: isa-applesmc doesn't handle second instantiation gracefully)
Date: Tue, 12 Oct 2010 15:00:13 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

Markus Armbruster <address@hidden> writes:

> When I try -device isa-applesmc -device isa-applesmc, I get
>
>     WARNING: Using AppleSMC with invalid key
>     qemu: hardware error: register_ioport_read: invalid opaque
>     [...]
>
> and a core dump.
>
> I know nothing about this device.  Instantiating twice may well make no
> sense.  But hw_error() is not a nice way to reject a command line
> option.

Actually, ib700 and isa-debugcon fail the same way.

They call register_ioport_write(), which aborts via hw_error() when the
port is already in use.  This is okay for non-configurable parts of a
board emulation, but not okay for a qdev device, unless it has no_user
set.

Related: when isa_init_irq() finds the requested IRQ already in use, it
fails with exit(1).  Maybe register_ioport_write() & friends should do
that as well.

Or maybe qdev device models should have an "at most one" flag.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]