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

Re: [PATCH v1 0/8] Basic early_printk and smoke test implementation


  • To: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>
  • Date: Fri, 6 Jan 2023 13:51:59 +0000
  • Accept-language: en-GB, en-US
  • 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=64DRU3wTSykqmUOKNnDmouyLt/Ao2F1H8xBMh1AeVhM=; b=hFT/xRAQ6rJusYeiexW8nsWlPCtygaEONLxRuYa7gsWA+ZM30pFaRO8CSLRgreeGhISKA40WK9Lxrh9xNVhSr+313Qqi4u/b/xyqzKy4cKLKokxS+ar3q/Nvfrez6/QrqYf3zPe4xCs6J8xTn1pf6EfqlL7lx6GnJe22df1N0RZdsQdTCIDn6CKstmKkv+dVff7qEmB6Tjc0bd+K67fmx2V5IrhZgQtrfERMwJAepDa0fQhLbJX3CfaSsoy6JE8K5HL5h4lG5g2OjNU1DZxesOmjrRc+c5VGPGkZ+vS6LZaHI50Wes7eTIvjBZ7E9/geHuu3HrOUyIq5m7vMsuvhlw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JRymUHbqmOzUyZsaDr7P2CPCuPK4taQQDR9pxWekOWAlxDxZIrQZTGXXKFVv2NQaMm2r09Di1uFghCsrC5j7NF5SsFcYw66UkRRf0SgAn9Cqd5z1X/APmrd8j62c9FpjDIP3Bb6Yu+ZkoMrnoUgCzQN9Z1bkVIXoIs6nMoft2fIclP0ndI2aIt3WZmHhOMVttoRMl90ZCX3ghl781QlKXaeFck3Rcj0miUMk7qkQXsu0nfD26JMVe1vgr/JYLQGtLLGY//P9MPbAdyTZ1/4/uSnHGvV3BeNgw93SB7Tua3YLUPMntN5eXbaO+nYLvcDEExB2EwmD5/cRWgxBboC2fA==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>, Gianluca Guida <gianluca@xxxxxxxxxxxx>, Bob Eshleman <bobbyeshleman@xxxxxxxxx>, Alistair Francis <alistair.francis@xxxxxxx>, Connor Davis <connojdavis@xxxxxxxxx>, George Dunlap <George.Dunlap@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Julien Grall <julien@xxxxxxx>, Wei Liu <wl@xxxxxxx>, Doug Goldstein <cardoe@xxxxxxxxxx>
  • Delivery-date: Fri, 06 Jan 2023 13:52:12 +0000
  • Ironport-data: A9a23:afk756p04iu/9DFQRcJVb/gVVBJeBmJCZRIvgKrLsJaIsI4StFCzt garIBmBbPqLajekf95/bdy08k1T7MDRm9BrTgA/rX1mFH4b9JuZCYyVIHmrMnLJJKUvbq7FA +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpAFc+E0/NsDo788YhmIlknNOlNA2Ev NL2sqX3NUSsnjV5KQr40YrawP9UlKm06W1wUmAWP6gR5weHzydNVvrzGInqR5fGatgMdgKFb 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay RAXAAwBXEGyqO+k/LeiSMxwguYOF8vJH5xK7xmMzRmBZRonabbqZvyQoPN9gnI3jM0IGuvCb c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jemraYWJEjCJbZw9ckKwj 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXpr6472gLLmwT/DjVODmmV++Djs3TmUtFSN 28VuTd3pKk9oRnDot7VGkfQTGS/lhkYVtlLEux86xyXzaHU4AGxCW0NTzoHY9sj3OcmSDpv2 lKXktfBAT10rKbTWX+b7q2Trz65JW4SN2BqTTQfUQIP7t3noYcyphHCVNBuFOiylNKdMT7xy jaOsSM3r68Sk8kQ1qOwu1vAhlqErJ/DRB84/QXTU2es6Ct2YYekY8qj7l2zxf9ELZ2FR1ib+ nYeks6V7fsmEp2G0ieKRY0lF7av4fGHPDTCgEVHEJwo9jDr8HmmFahS6jxjIEZiMu4fZCTkJ kTUvGt55oJXPXasRb96ZcS2EctC5bfkPcToULbTdNUmSpN4bgOA8QllbFSc2G2rm08p+ZzTI r+eeMeoSHofV6JuyWPsQ/9HiOB3gCcj2WnUWJb3iQy91qaTb2KUTrFDN0aSauc+7+WPpwC9H 8tjCvZmAi53CIXWChQ7O6ZPRbzWBRDX3azLlvE=
  • Ironport-hdrordr: A9a23:JoGSAa52kLtOSyjfYgPXwPLXdLJyesId70hD6qkRc3Bom6mj/P xG88516faZslgssQgb6La90cu7IU80hKQV3WB5B97LNmTbUQCTXeJfBOXZslndMhy72ulB1b pxN4hSYeeAamSSVPyKgjVQxexQpeW6zA==
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHZIdDY/WFtbXZWa0GsMaL1YLWWe66RaHaA
  • Thread-topic: [PATCH v1 0/8] Basic early_printk and smoke test implementation

On 06/01/2023 1:14 pm, Oleksii Kurochko wrote:
> The patch series introduces the following:
> - the minimal set of headers and changes inside them.
> - SBI (RISC-V Supervisor Binary Interface) things necessary for basic
>   early_printk implementation.
> - things needed to set up the stack.
> - early_printk() function to print only strings.
> - RISC-V smoke test which checks if  "Hello from C env" message is
>   present in serial.tmp
>
> Oleksii Kurochko (8):
>   xen/riscv: introduce dummy asm/init.h
>   xen/riscv: introduce asm/types.h header file
>   xen/riscv: introduce stack stuff
>   xen/riscv: introduce sbi call to putchar to console
>   xen/include: include <asm/types.h> in <xen/early_printk.h>
>   xen/riscv: introduce early_printk basic stuff
>   xen/riscv: print hello message from C env
>   automation: add RISC-V smoke test

Thanks.  This highlights several areas where I think we want some rework
to the current common/arch split.

First, it really shouldn't be necessary for architectures to create
emtpy stub files.  There are two options - first drop some empty files
in xen/include/arch-fallback/asm and put a suitable -I at the end of
CFLAGS.  The other option, which is nicer IMO, is to use __has_include()
although that would require us finally deciding to bump the minimum GCC
version to 5 for x86 (which we need to do for may other reasons too).

Second, the asm/types is absurd.  That should be one common header,
because there's nothing arch specific about making those types appear.

Third, the early printk infrastructure is partially broken (the common
header can't be cleanly included), and unsatisfactory with how it plumbs
into the default console steal function.  With a bit of cleanup, most of
it can be not duplicated per arch.

~Andrew

 


Rackspace

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