|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v1] x86: fix bug caused by commit 0ade5e
On 21/09/17 10:11, Yi Sun wrote:
> Commit 0ade5e causes a bug that only the psr features presented in cmdline
> cannot be correctly enumerated.
> 1. If there is only 'psr=', the CMT is enumerated which is not right.
> 2. If cmdline is 'psr=cmt,cat,cdp,mba', only the last feature is enumerated.
>
> This patch fixes the issues.
>
> Signed-off-by: Yi Sun <yi.y.sun@xxxxxxxxxxxxxxx>
Reviewed-by: Juergen Gross <jgross@xxxxxxxx>
Juergen
> ---
> xen/arch/x86/psr.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/xen/arch/x86/psr.c b/xen/arch/x86/psr.c
> index 4515100..daa2aeb 100644
> --- a/xen/arch/x86/psr.c
> +++ b/xen/arch/x86/psr.c
> @@ -422,9 +422,10 @@ static bool __init parse_psr_bool(const char *s, const
> char *delim,
> const char *ss, const char *feature,
> unsigned int mask)
> {
> - if ( !strncmp(s, feature, delim - s) )
> + /* If cmdline is 'psr=', we need make sure delim != s */
> + if ( delim != s && !strncmp(s, feature, delim - s) )
> {
> - if ( !*delim )
> + if ( !*delim || *delim == ',' )
> opt_psr |= mask;
> else
> {
> @@ -457,6 +458,10 @@ static int __init parse_psr_param(const char *s)
> if ( !val_delim )
> val_delim = strchr(s, '\0');
>
> + /* E.g. 'psr=cmt,rmid_max:200' */
> + if ( val_delim > ss )
> + val_delim = ss;
> +
> if ( *val_delim && !strncmp(s, "rmid_max", val_delim - s) )
> {
> opt_rmid_max = simple_strtoul(val_delim + 1, &q, 0);
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |