superio: Don't use MAX_SERIAL_PORTS for serial port limit
authorPeter Maydell <peter.maydell@linaro.org>
Fri, 20 Apr 2018 14:52:47 +0000 (15:52 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Thu, 26 Apr 2018 12:57:00 +0000 (13:57 +0100)
The superio device has a limit on the number of serial
ports it supports which is really only there because
it has a fixed-size array serial[]. This limit isn't
related particularly to the global MAX_SERIAL_PORTS limit,
so use a different #define for it.

(In practice the users of superio only ever want 2 serial ports.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20180420145249.32435-12-peter.maydell@linaro.org

include/hw/isa/superio.h

index f9ba29aa307b79e1b7610e97c737da219be75af7..345f0060817103110c349bd94dff6d3a6c600369 100644 (file)
 #define ISA_SUPERIO_CLASS(klass) \
     OBJECT_CLASS_CHECK(ISASuperIOClass, (klass), TYPE_ISA_SUPERIO)
 
+#define SUPERIO_MAX_SERIAL_PORTS 4
+
 typedef struct ISASuperIODevice {
     /*< private >*/
     ISADevice parent_obj;
     /*< public >*/
 
     ISADevice *parallel[MAX_PARALLEL_PORTS];
-    ISADevice *serial[MAX_SERIAL_PORTS];
+    ISADevice *serial[SUPERIO_MAX_SERIAL_PORTS];
     ISADevice *floppy;
     ISADevice *kbc;
     ISADevice *ide;