[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] backends: Introduce chr-testdev
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH] backends: Introduce chr-testdev |
Date: |
Fri, 11 Jul 2014 09:30:03 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 |
On 07/11/2014 01:44 AM, Andrew Jones wrote:
> From: Paolo Bonzini <address@hidden>
>
> From: Paolo Bonzini <address@hidden>
>
> chr-testdev enables a virtio serial channel to be used for guest
> initiated qemu exits. hw/misc/debugexit already enables guest
> initiated qemu exits, but only for PC targets. chr-testdev supports
> any virtio-capable target. kvm-unit-tests/arm is already making use
> of this backend.
>
> Currently there is a single command implemented, "q". It takes a
> (prefix) argument for the exit code, thus an exit is implemented by
> writing, e.g. "1q", to the virtio-serial port.
>
> It can be used as:
> $QEMU ... \
> -device virtio-serial-device \
> -device virtserialport,chardev=ctd -chardev testdev,id=ctd
>
> or, use:
> $QEMU ... \
> -device virtio-serial-device \
> -device virtconsole,chardev=ctd -chardev testdev,id=ctd
>
> to bind it to virtio-serial port0.
>
> +
> + switch (c) {
> + case 'q':
> + exit((arg << 1) | 1);
> + break;
I'm trying to figure out the motive for only exiting with odd numbers.
That is, 'q' => 1, '1q' => 3, '2q' => 5, '3q' => 7. It means that at
most, I can do '127q' => 255 before I suffer from exit() limiting things
to 8 bits. This wasn't explained in the commit message.
> +++ b/qapi-schema.json
> @@ -2764,6 +2764,7 @@
> 'mux' : 'ChardevMux',
> 'msmouse': 'ChardevDummy',
> 'braille': 'ChardevDummy',
> + 'testdev': 'ChardevDummy',
> 'stdio' : 'ChardevStdio',
It would be nice to have some sort of 'testdev since 2.2' documentation.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature