Am 01.09.2013 11:07, schrieb M.L.:
> P.R. wrote:
> I'm following the remainder with interest, /but/
>> I mean, they thought about this when they designed the AMD/Intel x86 chips,
>> there's at least one published piece of code that you execute this set of
>> instructions that, even in a non-privileged program, will tell you whether
>> you're running on a 32-bit or 64-bit processor, and works for either without
>> requiring any protection against it faulting so it works no matter what
>> underlying operating system is running, Windows, BSD, Linux, MacOS or
>> some minor third-party creation like Syllable or even someone's own
>> newly developed homebrew one.
> I think that facility can be virtualised, so on a guest OS you don't
> necessarily get accurate information pertaining to the host hardware.
First: I don't know it exactly, just speculating.
Second: I could imagine that something like the callable service CSRSI - System
information service - could give you the needed information; this should be
valid for all OSes and with or without VM. Maybe it's not this service, but
another one, but I'm quite sure that IBM provided a service to get a flag or
anything which tells you the machine model, and from that you can derive the
information you want. No need IMO to deal with ESPIE / ESTAE and such things -
although this is pretty valid, too, and much software products do just that at
startup, just to see if the function THEY NEED is present or not or if they have
to simulate it by software (when a 0C1 error is received on that operation code
on older hardware).