Message ID | 20220712023219.41065-4-peter@pjd.dev (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | hw/gpio/aspeed: Don't let guests modify input pins | expand |
On 7/12/22 04:32, Peter Delevoryas wrote: > Signed-off-by: Peter Delevoryas <peter@pjd.dev> Reviewed-by: Cédric Le Goater <clg@kaod.org> Thanks, C. > --- > hw/arm/aspeed.c | 14 +++++++++++++- > 1 file changed, 13 insertions(+), 1 deletion(-) > > diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c > index 6fe9b13548..0ce9a42c2b 100644 > --- a/hw/arm/aspeed.c > +++ b/hw/arm/aspeed.c > @@ -1343,11 +1343,23 @@ static void fby35_reset(MachineState *state) > > qemu_devices_reset(); > > - /* Board ID */ > + /* Board ID: 7 (Class-1, 4 slots) */ > object_property_set_bool(OBJECT(gpio), "gpioV4", true, &error_fatal); > object_property_set_bool(OBJECT(gpio), "gpioV5", true, &error_fatal); > object_property_set_bool(OBJECT(gpio), "gpioV6", true, &error_fatal); > object_property_set_bool(OBJECT(gpio), "gpioV7", false, &error_fatal); > + > + /* Slot presence pins, inverse polarity. (False means present) */ > + object_property_set_bool(OBJECT(gpio), "gpioH4", false, &error_fatal); > + object_property_set_bool(OBJECT(gpio), "gpioH5", true, &error_fatal); > + object_property_set_bool(OBJECT(gpio), "gpioH6", true, &error_fatal); > + object_property_set_bool(OBJECT(gpio), "gpioH7", true, &error_fatal); > + > + /* Slot 12v power pins, normal polarity. (True means powered-on) */ > + object_property_set_bool(OBJECT(gpio), "gpioB2", true, &error_fatal); > + object_property_set_bool(OBJECT(gpio), "gpioB3", false, &error_fatal); > + object_property_set_bool(OBJECT(gpio), "gpioB4", false, &error_fatal); > + object_property_set_bool(OBJECT(gpio), "gpioB5", false, &error_fatal); > } > > static void aspeed_machine_fby35_class_init(ObjectClass *oc, void *data)
diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c index 6fe9b13548..0ce9a42c2b 100644 --- a/hw/arm/aspeed.c +++ b/hw/arm/aspeed.c @@ -1343,11 +1343,23 @@ static void fby35_reset(MachineState *state) qemu_devices_reset(); - /* Board ID */ + /* Board ID: 7 (Class-1, 4 slots) */ object_property_set_bool(OBJECT(gpio), "gpioV4", true, &error_fatal); object_property_set_bool(OBJECT(gpio), "gpioV5", true, &error_fatal); object_property_set_bool(OBJECT(gpio), "gpioV6", true, &error_fatal); object_property_set_bool(OBJECT(gpio), "gpioV7", false, &error_fatal); + + /* Slot presence pins, inverse polarity. (False means present) */ + object_property_set_bool(OBJECT(gpio), "gpioH4", false, &error_fatal); + object_property_set_bool(OBJECT(gpio), "gpioH5", true, &error_fatal); + object_property_set_bool(OBJECT(gpio), "gpioH6", true, &error_fatal); + object_property_set_bool(OBJECT(gpio), "gpioH7", true, &error_fatal); + + /* Slot 12v power pins, normal polarity. (True means powered-on) */ + object_property_set_bool(OBJECT(gpio), "gpioB2", true, &error_fatal); + object_property_set_bool(OBJECT(gpio), "gpioB3", false, &error_fatal); + object_property_set_bool(OBJECT(gpio), "gpioB4", false, &error_fatal); + object_property_set_bool(OBJECT(gpio), "gpioB5", false, &error_fatal); } static void aspeed_machine_fby35_class_init(ObjectClass *oc, void *data)
Signed-off-by: Peter Delevoryas <peter@pjd.dev> --- hw/arm/aspeed.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-)