[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 7/7] video/vesa: adjust (not just) command line option handling
- To: Jan Beulich <jbeulich@xxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
- From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
- Date: Tue, 27 Apr 2021 14:49:12 +0100
- 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-SenderADCheck; bh=bwtXDBCQ26b6RTnXMLuKc9pHWYZut9qbFGnhyFz+F5I=; b=jNrCAS8lw4oqq4UIspTGfcrA48V9Q1TVNyo8vd3qd5y5/jWX0I2HWrKD4E2tthB/Bf28v6XIO/B6Tt9acve9xaeEVjzatUqQ1R0GSux8ysL+m2jbxqVnbuhfaPQ92wZhcFvcCqad5aCp+vIr3PKbZhyvi+kw1MKDNIfSl5ZZWZk4pUJWoQ+s2VRqhH6k4wAoUPK4vo/lMQwlfncI3WPSmFKEFzB96Z+hGB8uH6HJBcRRiKcw1oGNkJU4WhlB7ICbJY/P/1lH2hk2vXZ89gC3qk9HvJ7JRGJB2jjD6EtMFzJoMXvX7xpFYnNgVtTTUL9JNU4yGlcM7NioPp90OghaVQ==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kftpUsl9ahP770wUgFRuWwpNgPC+56o2XxJdQcTGHGrttwoOg6GV4s/+heapQAT8fS4aeSITOXBNeA+qAP8hmGjBnopDUQCBGJz6EJTGAs54zo28ewDxFzhtsVrINR/nQt4r4VmT9om1SH3cwElNPng0Vn6AGzFHkd0CP11QALCZyXwJ5+2lKALfM9JXnAcdM2uNL/hfczSZTzKcKHPOX/c8cD4TCNfzoEwyVwauGacKdICCkOyjNeHDrLcY4QXYdeEL77qUeR670IoekO4GXJstdEJBgAq5fZUo0neikOsF6kz1fIf8YXtCkjAlbE+n0EHhyfbSQNf19JcAOX4QRQ==
- Authentication-results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
- Cc: Wei Liu <wl@xxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>
- Delivery-date: Tue, 27 Apr 2021 13:49:52 +0000
- Ironport-hdrordr: A9a23:KJDiTqML2XU8R8BcT2zw55DYdL4zR+YMi2QD/3taDTRIb82VkN 2vlvwH1RnyzA0cQm0khMroAsa9aFvm39pQ7ZMKNbmvGDPntmyhMZ144eLZrwHIMxbVstRQ3a IIScVDIfXtEFl3itv76gGkE9AmhOKK6rysmP229RZQZCtBApsQijtRIACdD0FwWU1iDZ02CJ KT6qN81kWdUF4Qadm2AWRAYvPKoMfFmImjTRkNARMm7wfmt0LV1JfRFR+E0hACFw5e2LtKyx m5ryXVxIWG98u6xBjVynPJ4/1t9ufJ59NfCKW3+7AoAxr2jALAXvUHZ5Sju3QPrPir+BIWlr D30m0dFuBSz1+UQW2vuxvq3GDboUUTwlvv00WRj3emgeGRfkNCN+N7iYhUcgTU5iMb1bkWus I7vBPti7NtARzNhyj77dTTPisa8nacmnY+jfUVy0VWTIp2Us4gkaUk4EhXHJ0cdRiKjrwPLe 8GNrC/2N9ra1+AK1jWsm5zqebcJUgbL1OtR0gPvdGtyD5GnHx15Ftw/r1vol4wsL06UJVK/O LCL+BBk6xPVNYfaeZHCP4GWtbfMB2DfTv8dEapZXj3HqAOPHzA77bx/bUO/emvPLgF1oE7lp jtWE5R3FRCNX7GOImr5tlm4xrNSGKyUXDG0cdF/aV0vbX6Wf7CLTCDYEpGqbrin9wvRungH9 qjMpNfBPHuaUH0H5xS4gH4U55ObVEDTcwuvMohUV7mmLOKFqTa8sjgNNrDLrvkFjgpHknlBG EYYTT1LMJcqm+xXHvVhwXQRmPNdkTz8YkYKtmew8EjjKw2cqFcuAkcjlq0ouuRLydZj6AwdE xiZJPr+5nL4VWezCLt1SFEKxBdBkFa7PHLSHVRvzIHNEvybPIms9WbcmZC4WufKnZEPoTrOT 8ag24y1bO8LpSWyyxnIcmgKHimg3wao2/PaJsAhKuZ54PAdokjBpgrHIx9fD+7ViBdqEJPki NueQUETkjQGnfFkqO+lqEZA+nZap1bmwekIcldrFrFrkWCrcQTRn8WNgTeE/K/sEILfX55l1 dx+6gQjP6rgjC0M1Yyh+w+LRlxcmiNOalHCw6EfY1QvbjudGhLPCG3rA3fryt2Vnvh9k0UiG CkCSGPY/nEDmBQvW1i3r/w/El5cXiceExMeml32LcNZ1juizJW66umd6Cz22yeZh85zuYRPC rsTBESLgltrurHniK9qXKnLzEL158uNuvSAPAfaLnVwGqqM5DNv7oBBeVo8JFsM83OvucHXf mEQRKcKCr1BooSqlWoj0dgHBMxhGgvkPvu1hGg0XOx22QnB+HOZHthXLMWLrinniHZbsfN9K 88q907veG9aDqsLvGHzLzadD5FJFf4p3WsQ+QhtJBTuuYTudJIbu7meAqN8EsC+hM0aPrQvg c5Zo9Q5bjaII9hf8AIYUtijxEUveXKCHFuixD8B+81QEokgHDaNe6Y+ragk8taPmSx4C/LfW SF+yJT//35TzKO+L4TBaU3O3lXYiEHmQJf1dLHU43bEwOxce5fuHK8L3+mabdYIZL1VIk4n1 Jf49uSmfWQeDe98AfMvSFjKqYL12q8W8u9DEatHuFPmubKdWiks++P4MSpii3wRib+Q0MEhZ ddfUhVV/99sFAZ/cUK+xn3bLf2rEIjm0Zf5j8itmeF4PnZ3E7rWWdcMQPYhZ1KWyJ0KXbgt7 WczdSl
- Ironport-sdr: vYiV2VBx7Lot6df5TsSArbAITVBuqz3OmY4JLWQZ+RX/X/gm/UYsVFoq6BsOVPXODs0bxKYdAS TLG6o/T2FENnAOMxhBrGjoKueBTDZrvotzdm9T/PZEmVcmyD1VH4tYK7ZIJCEseS8jDYiNxK7K EoGce7lg/aXjVCZYs8/FNYvpu07pSYRz6bjC9WDc6mrhqsAPjuGxjlE6YqoxgulhAe2fn87/J0 WxDkX/ot8QJmE+kFuhWzO1e94hfxYeiaVXpEel80KHAdn9Rc/Gs6izE5QK0VQNfOBIvX7sya+m MC8=
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On 27/04/2021 13:56, Jan Beulich wrote:
The grammar in the subject is very awkward. The (not just) like that is
weird.
If it were me, I'd phrase this as "minor adjustments to command line
handling".
> Document both options. Add section annotations to both variables holding
> the parsed values as well as a few adjacent ones. Adjust the types of
> font_height and vga_compat.
>
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
In principle, Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, with
one note below.
However, is there really any value in these options? I can't see a case
where their use will result in a less broken system.
>
> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -2369,9 +2369,21 @@ cache-warming. 1ms (1000) has been measu
> ### vesa-map
> > `= <integer>`
>
> +> Default: `0`
> +
> +Specify, in MiB, the portion of video RAM to actually remap. This will be
> +honored only when large enough to cover the space needed for the chosen video
> +mode, and only when less than a non-zero value possibly specified through
> +'vesa-ram'.
"and only when less than a non-zero value possibly specified" is
confusing to follow.
What I think you mean is that vesa-map will be honoured when it is >=
chosen video mode, and <= vesa-ram?
~Andrew
> +
> ### vesa-ram
> > `= <integer>`
>
> +> Default: `0`
> +
> +This allows to override the amount of video RAM, in MiB, determined to be
> +present.
> +
> ### vga
> > `= ( ask | current | text-80x<rows> | gfx-<width>x<height>x<depth> |
> mode-<mode> )[,keep]`
>
> --- a/xen/drivers/video/vesa.c
> +++ b/xen/drivers/video/vesa.c
> @@ -19,17 +19,17 @@
>
> static void lfb_flush(void);
>
> -static unsigned char *lfb;
> -static const struct font_desc *font;
> -static bool_t vga_compat;
> +static unsigned char *__read_mostly lfb;
> +static const struct font_desc *__initdata font;
> +static bool __initdata vga_compat;
>
> -static unsigned int vram_total;
> +static unsigned int __initdata vram_total;
> integer_param("vesa-ram", vram_total);
>
> -static unsigned int vram_remap;
> +static unsigned int __initdata vram_remap;
> integer_param("vesa-map", vram_remap);
>
> -static int font_height;
> +static unsigned int __initdata font_height;
> static int __init parse_font_height(const char *s)
> {
> if ( simple_strtoul(s, &s, 10) == 8 && (*s++ == 'x') )
>
|