Windows PowerShell command on Get-command cpuid
MyWebUniversity

Manual Pages for UNIX Operating System command usage for man cpuid

Devices cpuid(7D)

NAME

cpuid - CPU identification driver

SYNOPSIS

/dev/cpu/self/cpuid

DESCRIPTION

SPARC and x86 system

This device provides implementation-private information via

ioctls about various aspects of the implementation to Solaris libraries and utilities. x86 systems only

This device also provides a file-like view of the namespace

and return values of the x86 cpuid instruction. The cpuid

instruction takes a single 32-bit integer function code, and

returns four 32-bit integer values corresponding to the

input value that describe various aspects of the capabili-

ties and configuration of the processor. The API for the character device consists of using the seek offset to set the function code value, and using a read(2)

or pread(2) of 16 bytes to fetch the four 32-bit return

values of the instruction in the order %eax, %ebx, %ecx and

%edx.

No data can be written to the device. Like the cpuid

instruction, no special privileges are required to use the device.

The device is useful to enable low-level configuration

information to be extracted from the CPU without having to

write any assembler code to invoke the cpuid instruction

directly. It also allows the kernel to attempt to correct any erroneous data returned by the instruction (prompted by occassional errors in the information exported by various processor implementations over the years). See the processor manufacturers documentation for further information about the syntax and semantics of the wide variety of information available from this instruction.

EXAMPLE

This example allows you to determine if the current x86 pro-

cessor supports "long mode," which is a necessary (but not

sufficient) condition for running the 64-bit Solaris kernel

on the processor.

SunOS 5.11 Last change: 16 Sep 2004 1

Devices cpuid(7D)

/*

#include

#include

#include

#include

#include

#include

#include

static const char devname[] = "/dev/cpu/self/cpuid";

/*ARGSUSED*/ int main(int argc, char *argv[]) { struct {

uint32_t r_eax, r_ebx, r_ecx, r_edx;

} _r, *rp = &_r;

int d; char *s;

if ((d = open(devname, O_RDONLY)) == -1) {

perror(devname); return (1); } if (pread(d, rp, sizeof (*rp), 0) != sizeof (*rp)) { perror(devname); goto fail; }

s = (char *)&rp->r_ebx;

if (strncmp(s, "Auth" "cAMD" "enti", 12) != 0 && strncmp(s, "Genu" "ntel" "ineI", 12) != 0) goto fail; if (pread(d, rp, sizeof (*rp), 0x80000001) == sizeof (*rp)) { /* * Read extended feature word; check bit 29 */ (void) close(d);

if ((rp->r_edx >> 29) & 1) {

(void) printf("processor supports long mode\n"); return (0); } } fail: (void) close(d); return (1); }

SunOS 5.11 Last change: 16 Sep 2004 2

Devices cpuid(7D)

ERRORS

ENXIO Results from attempting to read data from the dev-

ice on a system that does not support the CPU identification interfaces EINVAL Results from reading from an offset larger than

UINT_MAX, or attempting to read with a size that

is not multiple of 16 bytes. FILES

/dev/cpu/self/cpuid Provides access to CPU identification

data.

ATTRIBUTES

See attributes(5) for descriptions of the following attri-

butes:

____________________________________________________________

| ATTRIBUTE TYPE | ATTRIBUTE VALUE |

|_____________________________|_____________________________|

| Availability | system/kernel |

|_____________________________|_____________________________|

| Interface Stability | Committed |

|_____________________________|_____________________________|

SEE ALSO

psrinfo(1M), prtconf(1M), pread(2), read(2), attributes(5)

SunOS 5.11 Last change: 16 Sep 2004 3




Contact us      |      About us      |      Term of use      |       Copyright © 2000-2019 MyWebUniversity.com ™