Re: [PATCH] X86: cpu_debug support for VIA / Centaur CPU's

From: Michael S. Zick
Date: Wed Jun 10 2009 - 07:55:48 EST


On Wed June 10 2009, Ingo Molnar wrote:
>
> * Michael S. Zick <lkml@xxxxxxxxxxxx> wrote:
>
> > On Wed June 10 2009, Ingo Molnar wrote:
> > >
> > > * H. Peter Anvin <hpa@xxxxxxxxxx> wrote:
> > >
> > > > Ingo Molnar wrote:
> > > > >
> > > > > MSRs should really be enumerated along CPU features. They will be
> > > > > accessed if a CPU offers that CPU feature.
> > > > >
> > > >
> > > > Nice in theory, but so many MSRs have to be enumerated with obscure test
> > > > combinations, that it really isn't practical in the general case. That
> > > > is why we have the safe MSR variants.
> > > >
> > > > >
> > > > > Yeah, the safe read should never fault - there should be all
> > > > > zeroes or an error return.
> > > > >
> > > >
> > > > Error return, MSRs #GP if not present. All zero means a present
> > > > MSR (which is zero.)
> > >
> > > yes, of course - i meant the /debug/x86/cpu/* behavior: it should
> > > either result zeroes, or should return -EINVAL. (probably the
> > > latter)
> > >
> >
> > Return zeroes - same as hardware case for bits which can't be set.
> > Returning -EINVAL might match a specific bit pattern caller is
> > looking for.
>
> these files are accessed via read(). The -EINVAL is the syscall
> return value. The value (if any) goes into the buffer that is being
> read into. So there's no way to 'match a specific bit pattern' -
> it's two separate spaces.
>

Right. Prior post was just a bad case of nerves. ;)

Mike
> Ingo
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/