Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Nov 2013 19:49:02 +0700
From:      Alexey Dokuchaev <danfe@nsu.ru>
To:        powerpc@freebsd.org
Subject:   mfpvr instruction: how to get processor version info from userland?
Message-ID:  <20131125124901.GA87016@regency.nsu.ru>

next in thread | raw e-mail | index | archive | help
hi there,

i might soon have a chance to play with powerpc, so i'm wondering about
few things about the arch and cpu; particularly, i'm wondering if there
is something like cpuid instruction for intel.

it seems that mfpvr should do the job, but it can only be called from
kernel.  Linux emulates it so user-space can have access to the info; but
in FreeBSD, its prototype is hidden under #ifdef _KERNEL :(

grep'ing -R mfpvr /sys/powerpc shows an interesting line in
/sys/powerpc/aim/trap.c:

	frame->fixreg[reg] = mfpvr();

i haven't yet made my way through this code, but have a quick question: is
there a way to obtain mfpvr() value from userland (thru kernel catching
the trap that the processor raises when a non-privileged program tries to
execute it), or i have to write my own kld for that?  i also wonder why it
was made privileged in the first place...  thanks,

./danfe



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131125124901.GA87016>