Commit a8d78cd0 authored by Peter Maydell's avatar Peter Maydell
Browse files

vl.c: Provide accessor function serial_hd() for serial_hds[] array



Provide an accessor function serial_hd() to return the Chardev
(if any) associated with the numbered serial port. This will
be used to replace direct accesses to the serial_hds[] array,
so that calling code doesn't need to care about the size of
that array.

Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: default avatarThomas Huth <thuth@redhat.com>
Tested-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20180420145249.32435-7-peter.maydell@linaro.org
parent b82fcd30
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -163,6 +163,9 @@ void hmp_pcie_aer_inject_error(Monitor *mon, const QDict *qdict);

extern Chardev *serial_hds[MAX_SERIAL_PORTS];

/* Return the Chardev for serial port i, or NULL if none */
Chardev *serial_hd(int i);

/* parallel ports */

#define MAX_PARALLEL_PORTS 3
+9 −0
Original line number Diff line number Diff line
@@ -2516,6 +2516,15 @@ static int serial_parse(const char *devname)
    return 0;
}

Chardev *serial_hd(int i)
{
    assert(i >= 0);
    if (i < ARRAY_SIZE(serial_hds)) {
        return serial_hds[i];
    }
    return NULL;
}

static int parallel_parse(const char *devname)
{
    static int index = 0;