Files
Arquivotheca.Solaris-2.5/uts/common/syscall/processor_info.c
seta75D 7c4988eac0 Init
2021-10-11 19:38:01 -03:00

44 lines
1.0 KiB
C
Executable File

/*
* Copyright (c) 1992, 1994 Sun Microsystems, Inc.
* All rights reserved.
*/
#ident "@(#)processor_info.c 1.3 95/08/22 SMI"
#include <sys/types.h>
#include <sys/param.h>
#include <sys/var.h>
#include <sys/thread.h>
#include <sys/cpuvar.h>
#include <sys/kstat.h>
#include <sys/uadmin.h>
#include <sys/systm.h>
#include <sys/errno.h>
#include <sys/cmn_err.h>
#include <sys/procset.h>
#include <sys/processor.h>
#include <sys/debug.h>
/*
* processor_info(2) - return information on a processor.
*/
int
processor_info(processorid_t cpun, processor_info_t *infop)
{
cpu_t *cp;
if ((cp = cpu_get(cpun)) == NULL)
return (set_errno(EINVAL));
/*
* The spec indicates that the rest of the information is meaningless
* if the CPU is offline, but if presented by the machine-dependent
* layer, it is probably still accurate. It seems OK to copy it all in
* either case.
*/
if (copyout((caddr_t)&cp->cpu_type_info, (caddr_t)infop,
sizeof (processor_info_t)))
return (set_errno(EFAULT));
return (0);
}