[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 1/2] ns16550: reject IRQ above nr_irqs_gsi


  • To: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
  • From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Date: Wed, 11 May 2022 09:20:46 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=QLbuhTosCtGsPQ/F/FC3SZ51VKfKGgXi0M+Ud5rpGiE=; b=g+vu5iRU2ZODrpYuJLF9SiAOwY/rj5NumiXmsPlrGeNZCn+XqPVb8q698bzI/NnWmQUIoGWYdLOr5T3fqwtiOt5+L3QgiU/EEEJwiuUxi/yi5DjBGM3Hv67jvzTSh4Nda27E7+g/4WEaQhJiuh1ahN/IdRahrdtkicQzFkTwicPtpNqSkNwEpy81vem5RR1oSUJdLSVk/wJOvbAwmHo9t+EG59NYL+sPPZh/N4SLcuqIT+0GTVVLkXyQLV+zXuXsf7Nz0dK928ksJXPOQY1ssFyr8XjpdnwLy1a70VyWj/cBRJM3HzQCM3bDjVtXfSG++5du2arX4+uWQ3TzTdS/iw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jbNE7DVXtAgvepCAuI8mtldRqA97OJmm9j1Mj0vDI52AMUVoDEVQ5jZJAfUPqFDDGZq+qyXsCc3X1/cC4Bo2JU5VVMyz5B/4uQ9CeBY7BKLbH3BAsOmvQkxaXMZXkNqRgr877mLeazWf01+n+DRLHyCNyOOBiAyl7qIGYlCozktfJvXqRUs1ILt/FjevCTbPjtokmQwbM42/8HBlgIgvAR4yoNrbQn9iKJNTsYcXXcOz3jvJNIDD7i4PSdpL8/UqIWYK8Ss7Lh4+u5M1Mfyi6Ogi9ColP2P6OyhxF5qgUy3Sbf9ujbuq0r/HLWU2llBqoczPCGKfHZL8Z91yGaEXkA==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Julien Grall <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>
  • Delivery-date: Wed, 11 May 2022 07:21:07 +0000
  • Ironport-data: A9a23:RKXmsa4hqGl/siJWpAmyvwxRtAfGchMFZxGqfqrLsTDasY5as4F+v mRKUTyFb/nbZjPzKNsjPI3j/B5TusTVnd5lSlZqrS9gHi5G8cbLO4+Ufxz6V8+wwmwvb67FA +E2MISowBUcFyeEzvuVGuG96yE6j8lkf5KkYAL+EnkZqTRMFWFw0HqPp8Zj2tQy2YXgWlvU0 T/Pi5a31GGNimYc3l08s8pvmDs31BglkGpF1rCWTakjUG72zxH5PrpGTU2CByKQrr1vNvy7X 47+IISRpQs1yfuP5uSNyd4XemVSKlLb0JPnZnB+A8BOiTAazsA+PzpS2FPxpi67hh3Q9+2dx umhurSQZBsHJJ+Xxt8lQhxUMjpxOoFe3o/+dC3XXcy7lyUqclPK6tA3VQQcG91d/ex6R2ZT6 fYfNTYBKAiZgP67y666Te8qgdk/KM7sP8UUvXQIITPxVK56B8ycBfiao4YHhl/chegXdRraT 9AeZjd1KgzJfjVEO0sNCYJ4l+Ct7pX6W2IA9AnO/vRti4TV5B5R4pbtbYfvQYCTa/RltXzIm nyXzV2sV3n2M/Tak1Jp6EmEg+bVmCrhVYE6Fbum9+Vrilme2mwSDhINUVKx5/K+jyaWS99Zb kAZ5Ccqhawz71CwCMnwWQWip3yJtQJaXMBfe8U44gyQzqvf4y6CG3MJCDVGbbQOttIyRDEs/ k+EmZXuHzMHmKaOVXuX+7OQrDWzESsYN2kPYWkDVwRty8bniJE+iFTIVNkLLUKuptj8GDW1y TbaqiE73uwXlZRSiP/9+k3biTWxoJSPVhQy+gjcQmOi6EV+eZKhYIurr1Pc6J6sMbqkc7VIh 1Bc8+D20QzEJcjlePClKAnVIIyU2g==
  • Ironport-hdrordr: A9a23:UiUNsql0S1VbWGaE3AhUJ7HW/0HpDfIH3DAbv31ZSRFFG/Fw9v re+cjzsCWf5Qr5N0tNpTntAsa9qArnhOdICOoqTNWftWvd2FdARbsKhbcKpQePJ8SUzJ8/6U 4PSclD4erLfDxHZJbBizVQy+xQu+VvKprY49s2Ek0dKj2Ct5sQlzuR1DzraHFLeA==
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Subject line needs to be updated :).

On Tue, May 10, 2022 at 05:58:23PM +0200, Marek Marczykowski-Górecki wrote:
> Intel LPSS has INTERRUPT_LINE set to 0xff by default, that is declared
> by the PCI Local Bus Specification Revision 3.0 (from 2004) as
> "unknown"/"no connection". Fallback to poll mode in this case.
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
> ---
> Changes in v3:
>  - change back to checking 0xff explicitly
>  - adjust commit message, include spec reference
>  - change warning to match the above
> Changes in v2:
>  - add log message
>  - extend commit message
>  - code style fix
> ---
>  xen/drivers/char/ns16550.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
> index fb75cee4a13a..b4434ad815e1 100644
> --- a/xen/drivers/char/ns16550.c
> +++ b/xen/drivers/char/ns16550.c
> @@ -1238,6 +1238,15 @@ pci_uart_config(struct ns16550 *uart, bool_t skip_amt, 
> unsigned int idx)
>                              pci_conf_read8(PCI_SBDF(0, b, d, f),
>                                             PCI_INTERRUPT_LINE) : 0;
>  
> +                if ( uart->irq == 0xff )
> +                {
> +                    printk(XENLOG_WARNING

XENLOG_INFO would be better, IMO this configuration is no reason to
warn the user.

> +                           "ns16550: %02x:%02x.%u has no legacy IRQ %d, "
> +                           "falling back to a poll mode\n",

Could you use %pp and then pass the parameter using &PCI_SBDF(0, b, d,
f)?

Also we try to avoid splitting printk format strings, what about
using:

"ns16550: %02x:%02x.%u no legacy IRQ, using poll mode\n"

TBH, we don't print a similar message if INTERRUPT_{PIN,LINE} is 0
(which also results in the console running in poll mode), so I wonder
if we should extend the printing of the message also to ->irq == 0 for
consistency.

Thanks, Roger.



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.