All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marek Marczykowski <marmarek@invisiblethingslab.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wei.liu2@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, Tim Deegan <tim@xen.org>,
	Julien Grall <julien.grall@arm.com>,
	xen-devel <xen-devel@lists.xenproject.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH 4/5] xen: fix handling framebuffer located above 4GB
Date: Wed, 8 May 2019 14:06:56 +0200	[thread overview]
Message-ID: <20190508120656.GC1502@mail-itl> (raw)
In-Reply-To: <5CD2A765020000780022CBBC@prv1-mh.provo.novell.com>


[-- Attachment #1.1: Type: text/plain, Size: 3809 bytes --]

On Wed, May 08, 2019 at 03:54:45AM -0600, Jan Beulich wrote:
> >>> On 07.05.19 at 18:43, <marmarek@invisiblethingslab.com> wrote:
> > On Tue, May 07, 2019 at 10:12:13AM -0600, Jan Beulich wrote:
> >> >>> On 07.05.19 at 17:38, <marmarek@invisiblethingslab.com> wrote:
> >> > What do you think about adding something that could be backported?
> >> > Xen is quite insistent on initializing framebuffer, even with
> >> > console=com1 or console=none. Which means, there is no workaround for
> >> > this problem.
> >> 
> >> When the system is in a simple text mode the /basevideo option of
> >> xen.efi ought to help, but if it's in an LFB-based mode already (which
> >> is the case on the systems I have) then indeed I can't see any
> >> workaround.
> >> 
> >> > Maybe, as a first step, a change that abort framebuffer initialization
> >> > if lfb_base == 0 (I assume this is never valid value here, right?)?
> >> 
> >> Yes, that would be an option. But it would help only in your specific
> >> case, not if the truncation results in a non-zero value. I guess we'd
> >> better avoid filling the structure if we'd truncate the value.
> > 
> > Yes, I was thinking about setting lfb_base=0 explicitly if it would
> > overflow otherwise.
> > 
> >> But what's wrong with backporting your change as is?
> > 
> > If this commit would be backported, what value you'd put in that #ifdef?
> 
> I'd keep it as is. The field addition happens for 4.13. And as you say ...
> 
> > Also, one may argue that ABI changes should not be backported... But
> > since there is clear and independent of xen version method of detecting
> > it, I don't think this would be a big issue here.
> 
> ... there's not really any issue with surfacing this also in older
> versions.

You mean to keep it without #ifdef then? I'm not following... If you add
#ifdef __XEN_INTERFACE_VERSION__ >= 0x00040d00 there, the field won't be
available in Xen < 4.13. Which effectively means the patch can't be
backported as it won't compile with Xen < 4.13. Note also that this
structure is the place that Xen use to keep that information internally
(xen_vga_console_info is another name for dom0_vga_console_info), it
isn't only about passing this information to dom0.

Maybe add #ifdef __XEN_INTERFACE_VERSION__ >= 0x00040a00, as the oldest
fully supported version? This will mitigate one of the issues with the
lack of #ifdef (potential conflict with gbl_caps with
__XEN_INTERFACE_VERSION__ < 0x00030206).

Or use some #if meaning Xen interface >= 4.13, or Xen internal build?

> >> > If not, then at least abort boot when text console is still there
> >> > (blexit before efi_exit_boot). Any preference?
> >> 
> >> What's wrong with the text console still active? Or maybe I'm
> >> misunderstandint you make...
> > 
> > As soon as you call ExitBootServices(), you can't use
> > SIMPLE_TEXT_OUTPUT_INTERFACE anymore. Which means if a) framebuffer
> > address didn't fit, and b) you called ExitBootServices() already, you
> > don't have any means to tell the user what is wrong. Other than serial
> > console of course, if you're lucky enough to have one. So the idea was
> > to report the problem before ExitBootServices().
> 
> Oh, so be "text console" you meant the EFI interface, not a
> console in text mode (which we can drive). Failing to boot in
> such a case seems worse to me than booting effectively
> headless.

Yes, if the alternative is booting headless, then indeed it's better
than refusing to boot with a message. But if the alternative is a
mysterious crash without any message...

-- 
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 157 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

WARNING: multiple messages have this Message-ID (diff)
From: Marek Marczykowski <marmarek@invisiblethingslab.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wei.liu2@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>, Tim Deegan <tim@xen.org>,
	Julien Grall <julien.grall@arm.com>,
	xen-devel <xen-devel@lists.xenproject.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [Xen-devel] [PATCH 4/5] xen: fix handling framebuffer located above 4GB
Date: Wed, 8 May 2019 14:06:56 +0200	[thread overview]
Message-ID: <20190508120656.GC1502@mail-itl> (raw)
Message-ID: <20190508120656.RMBJWo07_MkTAuH2IPdbOWtGamksnJkAELGux7xneBg@z> (raw)
In-Reply-To: <5CD2A765020000780022CBBC@prv1-mh.provo.novell.com>


[-- Attachment #1.1: Type: text/plain, Size: 3809 bytes --]

On Wed, May 08, 2019 at 03:54:45AM -0600, Jan Beulich wrote:
> >>> On 07.05.19 at 18:43, <marmarek@invisiblethingslab.com> wrote:
> > On Tue, May 07, 2019 at 10:12:13AM -0600, Jan Beulich wrote:
> >> >>> On 07.05.19 at 17:38, <marmarek@invisiblethingslab.com> wrote:
> >> > What do you think about adding something that could be backported?
> >> > Xen is quite insistent on initializing framebuffer, even with
> >> > console=com1 or console=none. Which means, there is no workaround for
> >> > this problem.
> >> 
> >> When the system is in a simple text mode the /basevideo option of
> >> xen.efi ought to help, but if it's in an LFB-based mode already (which
> >> is the case on the systems I have) then indeed I can't see any
> >> workaround.
> >> 
> >> > Maybe, as a first step, a change that abort framebuffer initialization
> >> > if lfb_base == 0 (I assume this is never valid value here, right?)?
> >> 
> >> Yes, that would be an option. But it would help only in your specific
> >> case, not if the truncation results in a non-zero value. I guess we'd
> >> better avoid filling the structure if we'd truncate the value.
> > 
> > Yes, I was thinking about setting lfb_base=0 explicitly if it would
> > overflow otherwise.
> > 
> >> But what's wrong with backporting your change as is?
> > 
> > If this commit would be backported, what value you'd put in that #ifdef?
> 
> I'd keep it as is. The field addition happens for 4.13. And as you say ...
> 
> > Also, one may argue that ABI changes should not be backported... But
> > since there is clear and independent of xen version method of detecting
> > it, I don't think this would be a big issue here.
> 
> ... there's not really any issue with surfacing this also in older
> versions.

You mean to keep it without #ifdef then? I'm not following... If you add
#ifdef __XEN_INTERFACE_VERSION__ >= 0x00040d00 there, the field won't be
available in Xen < 4.13. Which effectively means the patch can't be
backported as it won't compile with Xen < 4.13. Note also that this
structure is the place that Xen use to keep that information internally
(xen_vga_console_info is another name for dom0_vga_console_info), it
isn't only about passing this information to dom0.

Maybe add #ifdef __XEN_INTERFACE_VERSION__ >= 0x00040a00, as the oldest
fully supported version? This will mitigate one of the issues with the
lack of #ifdef (potential conflict with gbl_caps with
__XEN_INTERFACE_VERSION__ < 0x00030206).

Or use some #if meaning Xen interface >= 4.13, or Xen internal build?

> >> > If not, then at least abort boot when text console is still there
> >> > (blexit before efi_exit_boot). Any preference?
> >> 
> >> What's wrong with the text console still active? Or maybe I'm
> >> misunderstandint you make...
> > 
> > As soon as you call ExitBootServices(), you can't use
> > SIMPLE_TEXT_OUTPUT_INTERFACE anymore. Which means if a) framebuffer
> > address didn't fit, and b) you called ExitBootServices() already, you
> > don't have any means to tell the user what is wrong. Other than serial
> > console of course, if you're lucky enough to have one. So the idea was
> > to report the problem before ExitBootServices().
> 
> Oh, so be "text console" you meant the EFI interface, not a
> console in text mode (which we can drive). Failing to boot in
> such a case seems worse to me than booting effectively
> headless.

Yes, if the alternative is booting headless, then indeed it's better
than refusing to boot with a message. But if the alternative is a
mysterious crash without any message...

-- 
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 157 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

  reply	other threads:[~2019-05-08 12:07 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-06 14:50 [PATCH 0/5] Fixes for large framebuffer, placed above 4GB Marek Marczykowski-Górecki
2019-05-06 14:50 ` [Xen-devel] " Marek Marczykowski-Górecki
2019-05-06 14:50 ` [PATCH 1/5] xen/bitmap: fix bitmap_fill with zero-sized bitmap Marek Marczykowski-Górecki
2019-05-06 14:50   ` [Xen-devel] " Marek Marczykowski-Górecki
2019-05-06 15:19   ` Andrew Cooper
2019-05-06 15:19     ` [Xen-devel] " Andrew Cooper
2019-05-07  8:10   ` Jan Beulich
2019-05-07  8:10     ` [Xen-devel] " Jan Beulich
2019-05-07 15:19     ` Marek Marczykowski
2019-05-07 15:19       ` [Xen-devel] " Marek Marczykowski
2019-05-06 14:50 ` [PATCH 2/5] drivers/video: drop unused limits Marek Marczykowski-Górecki
2019-05-06 14:50   ` [Xen-devel] " Marek Marczykowski-Górecki
2019-05-06 15:19   ` Andrew Cooper
2019-05-06 15:19     ` [Xen-devel] " Andrew Cooper
2019-05-07  8:52   ` Jan Beulich
2019-05-07  8:52     ` [Xen-devel] " Jan Beulich
2019-05-06 14:50 ` [PATCH 3/5] drivers/video: Drop framebuffer size constraints Marek Marczykowski-Górecki
2019-05-06 14:50   ` [Xen-devel] " Marek Marczykowski-Górecki
2019-05-06 15:09   ` Olaf Hering
2019-05-06 15:09     ` [Xen-devel] " Olaf Hering
2019-05-06 15:33   ` Andrew Cooper
2019-05-06 15:33     ` [Xen-devel] " Andrew Cooper
2019-05-07  8:55   ` Jan Beulich
2019-05-07  8:55     ` [Xen-devel] " Jan Beulich
2019-05-06 14:50 ` [PATCH 4/5] xen: fix handling framebuffer located above 4GB Marek Marczykowski-Górecki
2019-05-06 14:50   ` [Xen-devel] " Marek Marczykowski-Górecki
2019-05-06 15:15   ` Juergen Gross
2019-05-06 15:15     ` [Xen-devel] " Juergen Gross
2019-05-06 15:32     ` Marek Marczykowski-Górecki
2019-05-06 15:32       ` [Xen-devel] " Marek Marczykowski-Górecki
2019-05-07  5:07       ` Juergen Gross
2019-05-07  5:07         ` [Xen-devel] " Juergen Gross
2019-05-07  9:10       ` Jan Beulich
2019-05-07  9:10         ` [Xen-devel] " Jan Beulich
2019-05-07 15:38         ` Marek Marczykowski
2019-05-07 15:38           ` [Xen-devel] " Marek Marczykowski
2019-05-07 16:12           ` Jan Beulich
2019-05-07 16:12             ` [Xen-devel] " Jan Beulich
2019-05-07 16:43             ` Marek Marczykowski
2019-05-07 16:43               ` [Xen-devel] " Marek Marczykowski
2019-05-08  9:54               ` Jan Beulich
2019-05-08  9:54                 ` [Xen-devel] " Jan Beulich
2019-05-08 12:06                 ` Marek Marczykowski [this message]
2019-05-08 12:06                   ` Marek Marczykowski
2019-05-08 12:45                   ` Jan Beulich
2019-05-08 12:45                     ` [Xen-devel] " Jan Beulich
2019-05-06 15:28   ` Andrew Cooper
2019-05-06 15:28     ` [Xen-devel] " Andrew Cooper
2019-05-07  9:07   ` Jan Beulich
2019-05-07  9:07     ` [Xen-devel] " Jan Beulich
2019-05-09  0:22     ` Marek Marczykowski
2019-05-09  0:22       ` [Xen-devel] " Marek Marczykowski
2019-05-09  8:59       ` Jan Beulich
2019-05-09  8:59         ` [Xen-devel] " Jan Beulich
2019-05-06 14:50 ` [PATCH 5/5] drivers/video: use vlfb_info consistently Marek Marczykowski-Górecki
2019-05-06 14:50   ` [Xen-devel] " Marek Marczykowski-Górecki
2019-05-06 15:33   ` Andrew Cooper
2019-05-06 15:33     ` [Xen-devel] " Andrew Cooper
2019-05-06 15:37 ` [PATCH 0/5] Fixes for large framebuffer, placed above 4GB Andrew Cooper
2019-05-06 15:37   ` [Xen-devel] " Andrew Cooper

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=20190508120656.GC1502@mail-itl \
    --to=marmarek@invisiblethingslab.com \
    --cc=George.Dunlap@eu.citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=JBeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=jgross@suse.com \
    --cc=julien.grall@arm.com \
    --cc=konrad.wilk@oracle.com \
    --cc=roger.pau@citrix.com \
    --cc=sstabellini@kernel.org \
    --cc=tim@xen.org \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xenproject.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.