From: Peter Maydell Date: Fri, 20 Apr 2018 14:52:49 +0000 (+0100) Subject: vl.c: new function serial_max_hds() X-Git-Tag: v3.0.0-rc0~191 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b8846a4d6352b2a1d2012f8b3b9115640524aeda;p=thirdparty%2Fqemu.git vl.c: new function serial_max_hds() Create a new function serial_max_hds() which returns the number of serial ports defined by the user. This is needed only by spapr. This allows us to remove the MAX_SERIAL_PORTS define. Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Thomas Huth Tested-by: Philippe Mathieu-Daudé Message-id: 20180420145249.32435-14-peter.maydell@linaro.org --- diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index b0ecfaca9ec..92194a9a535 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -2589,7 +2589,7 @@ static void spapr_machine_init(MachineState *machine) /* Set up VIO bus */ spapr->vio_bus = spapr_vio_bus_init(); - for (i = 0; i < MAX_SERIAL_PORTS; i++) { + for (i = 0; i < serial_max_hds(); i++) { if (serial_hd(i)) { spapr_vty_create(spapr->vio_bus, serial_hd(i)); } diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h index 989cbc2b7b9..544ab77a2b3 100644 --- a/include/sysemu/sysemu.h +++ b/include/sysemu/sysemu.h @@ -159,10 +159,12 @@ void hmp_pcie_aer_inject_error(Monitor *mon, const QDict *qdict); /* serial ports */ -#define MAX_SERIAL_PORTS 4 - /* Return the Chardev for serial port i, or NULL if none */ Chardev *serial_hd(int i); +/* return the number of serial ports defined by the user. serial_hd(i) + * will always return NULL for any i which is greater than or equal to this. + */ +int serial_max_hds(void); /* parallel ports */ diff --git a/vl.c b/vl.c index a8a98c5a37b..616956adf17 100644 --- a/vl.c +++ b/vl.c @@ -2524,6 +2524,11 @@ Chardev *serial_hd(int i) return NULL; } +int serial_max_hds(void) +{ + return num_serial_hds; +} + static int parallel_parse(const char *devname) { static int index = 0;