* [parisc-linux] Re: Diag insn
[not found] <200104021808.f32I80M14250@lucifier.net>
@ 2001-04-03 2:40 ` Grant Grundler
2001-05-02 17:23 ` Michael Shalayeff
0 siblings, 1 reply; 4+ messages in thread
From: Grant Grundler @ 2001-04-03 2:40 UTC (permalink / raw)
To: mickey; +Cc: parisc-linux
[ mickey - I cc'd the list so the right people can correct
my ignorane below ]
mickey wrote:
> did not find it in the maillists or the doc.
> although you say you are not much of a cpu guy, maybe you
> can bounce it to smb who is?
> the question is, how to definately distinguish pa7300lc
> from let's say 7100lc (which is similar to it), besides
> cache size, if possible.
I can take a whack at this: PDC MODEL and PDC CPU calls.
The PDC for the various boxes will know exactly which type of CPU
(down to chip rev level) and this info is availble throught PDC
calls. parisc-linux dumps this info at boot time.
E.g. linux/arch/parisc/kernel/setup.c:collect_boot_cpu_data()
My offhand knowledge ends on where exactly to find the data for
each CPU type. I think the PARISC 2.0 Arch has a table in an appendix
which describes the various models and which value they will have.
You can also browse the HW data base and extract the same info.
(See http://216.208.98.4/view.php3?type=machine&name=A180C)
Oh - and parisc-linux determines the type based on a table.
See arch/parisc/kernel/hardware.c:parisc_get_cpu_type()
> the reason is that 7300lc uses a different diag-sequences
> to operate block tlb and such.
AFAIK, those things are not portable across parisc implementations.
But if you want to play with such code, finding the CPU type is trivial
in comparison.
BTW, PDC calls are provided to manage the block tlb (call will fail if
the CPU doesn't have block TLB). Some "Hversion specific" PDC calls
are provided to perform diag insns (eg set default wide mode on PA2.0 CPUs).
Don't how many PDC calls use diag insn or which of those calls are
published (documentation).
If you could be more specific about what you want to do, I'm sure folks
on this list would advise/help determine the "best" way to do it.
grant
Grant Grundler
parisc-linux {PCI|IOMMU|SMP} hacker
+1.408.447.7253
^ permalink raw reply [flat|nested] 4+ messages in thread
* [parisc-linux] Re: Diag insn
2001-04-03 2:40 ` [parisc-linux] Re: Diag insn Grant Grundler
@ 2001-05-02 17:23 ` Michael Shalayeff
2001-05-02 19:13 ` Grant Grundler
0 siblings, 1 reply; 4+ messages in thread
From: Michael Shalayeff @ 2001-05-02 17:23 UTC (permalink / raw)
To: Grant Grundler; +Cc: mickey, parisc-linux
Making, drinking tea and reading an opus magnum from Grant Grundler:
>
> [ mickey - I cc'd the list so the right people can correct
> my ignorane below ]
>
> mickey wrote:
> > did not find it in the maillists or the doc.
> > although you say you are not much of a cpu guy, maybe you
> > can bounce it to smb who is?
> > the question is, how to definately distinguish pa7300lc
> > from let's say 7100lc (which is similar to it), besides
> > cache size, if possible.
>
> I can take a whack at this: PDC MODEL and PDC CPU calls.
> The PDC for the various boxes will know exactly which type of CPU
> (down to chip rev level) and this info is availble throught PDC
> calls. parisc-linux dumps this info at boot time.
> E.g. linux/arch/parisc/kernel/setup.c:collect_boot_cpu_data()
uhm. cpuid does not exist on pa1 machines.
pdc_model_cpuid returns the machine id which rather
corresponds to an 'A180' kind of identification.
then, according to this, the only way to identify
7300lc is to match on machine=743, machine=<smth>, etc.
which is rather bulky.
> My offhand knowledge ends on where exactly to find the data for
> each CPU type. I think the PARISC 2.0 Arch has a table in an appendix
> which describes the various models and which value they will have.
> You can also browse the HW data base and extract the same info.
> (See http://216.208.98.4/view.php3?type=machine&name=A180C)
>
> Oh - and parisc-linux determines the type based on a table.
> See arch/parisc/kernel/hardware.c:parisc_get_cpu_type()
yes, i was think more along the lines of gathering features for cpu
and then make an educated guess on cpu type.
it seems 7300lc does not have particular and distinct one feature
to differentiate it from 7100lc, besides cache size, which is,
of coure, a way to identify it, but a weak on i'd say.
> > the reason is that 7300lc uses a different diag-sequences
> > to operate block tlb and such.
>
> AFAIK, those things are not portable across parisc implementations.
i'm aware of that (:
> But if you want to play with such code, finding the CPU type is trivial
> in comparison.
>
> BTW, PDC calls are provided to manage the block tlb (call will fail if
> the CPU doesn't have block TLB). Some "Hversion specific" PDC calls
> are provided to perform diag insns (eg set default wide mode on PA2.0 CPUs).
> Don't how many PDC calls use diag insn or which of those calls are
> published (documentation).
>
> If you could be more specific about what you want to do, I'm sure folks
> on this list would advise/help determine the "best" way to do it.
> grant
well, yes, the main goal is to have a difference on 7100lc vs 7300lc to
use proper diag insn sequences to init tlb and other stuff,
w/o bothering w/ pdc calls, which are sometimes not very reliable.
cu
--
paranoic mickey (my employers have changed but, the name has remained)
^ permalink raw reply [flat|nested] 4+ messages in thread
* [parisc-linux] Re: Diag insn
2001-05-02 17:23 ` Michael Shalayeff
@ 2001-05-02 19:13 ` Grant Grundler
2001-05-02 19:30 ` Michael Shalayeff
0 siblings, 1 reply; 4+ messages in thread
From: Grant Grundler @ 2001-05-02 19:13 UTC (permalink / raw)
To: mickey; +Cc: parisc-linux
Michael Shalayeff wrote:
...
> well, yes, the main goal is to have a difference on 7100lc vs 7300lc to
> use proper diag insn sequences to init tlb and other stuff,
> w/o bothering w/ pdc calls, which are sometimes not very reliable.
I can't agree with that. I'm sure PDC on most platforms has some bugs.
But "required" (as defined by HPUX) PDC calls work.
Not using PDC in this case (BTLB init) seems silly to me since it
offers binary compatibility across platforms and archs.
See the parisc-linux.org FAQ on how to update PDC if you suspect someone
has buggy firmware. And reporting PDC bugs here could lead to them being
fixed (depends on severity and machine type) or "clean" workarounds.
grant
Grant Grundler
parisc-linux {PCI|IOMMU|SMP} hacker
+1.408.447.7253
^ permalink raw reply [flat|nested] 4+ messages in thread
* [parisc-linux] Re: Diag insn
2001-05-02 19:13 ` Grant Grundler
@ 2001-05-02 19:30 ` Michael Shalayeff
0 siblings, 0 replies; 4+ messages in thread
From: Michael Shalayeff @ 2001-05-02 19:30 UTC (permalink / raw)
To: Grant Grundler; +Cc: mickey, parisc-linux
Making, drinking tea and reading an opus magnum from Grant Grundler:
> Michael Shalayeff wrote:
> ...
> > well, yes, the main goal is to have a difference on 7100lc vs 7300lc to
> > use proper diag insn sequences to init tlb and other stuff,
> > w/o bothering w/ pdc calls, which are sometimes not very reliable.
>
> I can't agree with that. I'm sure PDC on most platforms has some bugs.
> But "required" (as defined by HPUX) PDC calls work.
> Not using PDC in this case (BTLB init) seems silly to me since it
> offers binary compatibility across platforms and archs.
there are many ways on achieving binary compatibility,
one of which will be a pointer to function.
this does not dismiss the initial question of course,
how to detect 7100lc vs 7300lc besides cache size
and machine model number, if ther is no way to do so,
then there is no way to do so.
> See the parisc-linux.org FAQ on how to update PDC if you suspect someone
> has buggy firmware. And reporting PDC bugs here could lead to them being
> fixed (depends on severity and machine type) or "clean" workarounds.
again, between two choices of system boots and it does not boot
until pdc bugs get fixed or otherwise problems resolved it
seems the first one wins.
let's say hypothetically.
cu
--
paranoic mickey (my employers have changed but, the name has remained)
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2001-05-02 19:30 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <200104021808.f32I80M14250@lucifier.net>
2001-04-03 2:40 ` [parisc-linux] Re: Diag insn Grant Grundler
2001-05-02 17:23 ` Michael Shalayeff
2001-05-02 19:13 ` Grant Grundler
2001-05-02 19:30 ` Michael Shalayeff
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox