virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: Amit Shah <amit@kernel.org>
To: Maximilian Immanuel Brandtner <maxbr@linux.ibm.com>,
	 linux-kernel@vger.kernel.org, virtualization@lists.linux.dev,
	mst@redhat.com, 	pasic@linux.ibm.com, schnelle@linux.ibm.com
Subject: Re: [PATCH] virtio: console: Make resize control event handling compliant with spec
Date: Thu, 27 Mar 2025 11:40:23 +0100	[thread overview]
Message-ID: <7e0faada2dd5576a41509e94bbe49a97af5173dc.camel@kernel.org> (raw)
In-Reply-To: <20250320172654.624657-1-maxbr@linux.ibm.com>

On Thu, 2025-03-20 at 18:26 +0100, Maximilian Immanuel Brandtner wrote:
> According to section 5.3.6.2 of the virtio spec a control buffer with
> the event VIRITO_CONSOLE_RESIZE is followed by a
> virtio_console_resize
> struct containing 2 little endian 16bit integerts cols,rows. The
> kernel
> implementation assums native endianness (which results in mangled
> values
> on big endian architectures)(a seperate patch by Halil Pasic will
> deal with
> that issue) and swaps the ordering of columns and rows.
> This patch changes the ordering of rows and columns to columns then
> rows.

It's clearer and cleaner to only describe the issue you're solving
here; the other patch will take care of the other issue.

You can add more info here, like: the console resize messages via the
config space (section 5.3.4) are used for resizing, and that works fine
for single-console devices.  However, for multi-console devices
(enabled by multiport) had the spec and Linux implementation out of
sync.  As far as I know, there are no device-side implementations of
mutiport console, so patching Linux is the way to go.  (You can replace
the 'I' with my name as the maintainer there.)

> Fixes: 8345adbf96fc1 ("virtio: console: Accept console size along
> with resize control message")
> Signed-off-by: Maximilian Immanuel Brandtner <maxbr@linux.ibm.com>
> Cc: stable@vger.kernel.org # v2.6.35+
> ---
>  drivers/char/virtio_console.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/char/virtio_console.c
> b/drivers/char/virtio_console.c
> index 24442485e73e..9668e89873cf 100644
> --- a/drivers/char/virtio_console.c
> +++ b/drivers/char/virtio_console.c
> @@ -1579,8 +1579,8 @@ static void handle_control_message(struct
> virtio_device *vdev,
>  		break;
>  	case VIRTIO_CONSOLE_RESIZE: {
>  		struct {
> -			__u16 rows;
>  			__u16 cols;
> +			__u16 rows;
>  		} size;
>  
>  		if (!is_console_port(port))


Thanks,

		Amit

      parent reply	other threads:[~2025-03-27 10:40 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-20 17:26 [PATCH] virtio: console: Make resize control event handling compliant with spec Maximilian Immanuel Brandtner
2025-03-20 17:31 ` Maximilian Immanuel Brandtner
2025-03-23 12:40 ` Halil Pasic
2025-03-27 10:40 ` Amit Shah [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7e0faada2dd5576a41509e94bbe49a97af5173dc.camel@kernel.org \
    --to=amit@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maxbr@linux.ibm.com \
    --cc=mst@redhat.com \
    --cc=pasic@linux.ibm.com \
    --cc=schnelle@linux.ibm.com \
    --cc=virtualization@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).