Baum device bigger than 84 do not actually exist, some guest drivers
would be upset by such sizes.
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
chardev/baum.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/chardev/baum.c b/chardev/baum.c
index 67fd783a59..78b0c87625 100644
--- a/chardev/baum.c
+++ b/chardev/baum.c
@@ -1,7 +1,7 @@
/*
* QEMU Baum Braille Device
*
- * Copyright (c) 2008, 2010-2011, 2016 Samuel Thibault
+ * Copyright (c) 2008, 2010-2011, 2016-2017 Samuel Thibault
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -239,6 +239,12 @@ static int baum_deferred_init(BaumChardev *baum)
brlapi_perror("baum: brlapi__getDisplaySize");
return 0;
}
+ if (baum->y > 1) {
+ baum->y = 1;
+ }
+ if (baum->x > 84) {
+ baum->x = 84;
+ }
con = qemu_console_lookup_by_index(0);
if (con && qemu_console_is_graphic(con)) {
--
2.15.0
On 12/10/2017 06:19 PM, Samuel Thibault wrote:
> Baum device bigger than 84 do not actually exist, some guest drivers
> would be upset by such sizes.
>
> Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
> ---
> chardev/baum.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> @@ -239,6 +239,12 @@ static int baum_deferred_init(BaumChardev *baum)
> brlapi_perror("baum: brlapi__getDisplaySize");
> return 0;
> }
> + if (baum->y > 1) {
> + baum->y = 1;
> + }
> + if (baum->x > 84) {
> + baum->x = 84;
> + }
Is magic clamping desirable, or is it better to make it a hard error if
the user configured a size that is not possible?
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
Eric Blake, on lun. 11 déc. 2017 08:30:39 -0600, wrote:
> On 12/10/2017 06:19 PM, Samuel Thibault wrote:
> > Baum device bigger than 84 do not actually exist, some guest drivers
> > would be upset by such sizes.
> >
> > Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
> > ---
> > chardev/baum.c | 8 +++++++-
> > 1 file changed, 7 insertions(+), 1 deletion(-)
> >
>
> > @@ -239,6 +239,12 @@ static int baum_deferred_init(BaumChardev *baum)
> > brlapi_perror("baum: brlapi__getDisplaySize");
> > return 0;
> > }
> > + if (baum->y > 1) {
> > + baum->y = 1;
> > + }
> > + if (baum->x > 84) {
> > + baum->x = 84;
> > + }
>
> Is magic clamping desirable, or is it better to make it a hard error if
> the user configured a size that is not possible?
The thing is: the user didn't configure something, she just happened to
use a braille device bigger than 84 to display qemu's braille output.
This is the same situation as for the virtual video card: qemu could
expose resolutions as big as the size of the X display where qemu is
running on, but it's not a good idea to expose them all because some
drivers could go crazy with sizes bigger than what is supposed to be
supported by the hardware (or just assume the device is bogus and refuse
to drive it), and one should thus rather clamp them to what an actual
video device would support.
Samuel
On 11/12/2017 15:51, Samuel Thibault wrote:
>> Is magic clamping desirable, or is it better to make it a hard error if
>> the user configured a size that is not possible?
> The thing is: the user didn't configure something, she just happened to
> use a braille device bigger than 84 to display qemu's braille output.
Makes sense, I clarified the commit message to
Baum device bigger than 84 do not actually exist, but the user's own
Braille device might be wider than 84 columns. Some guest drivers
would be upset by such sizes, so clamp the device size.
Thanks,
Paolo
© 2016 - 2026 Red Hat, Inc.