2021-10-11 22:19:34 -03:00

48 lines
1.3 KiB
C

/* @(#)48 1.2 src/bos/kernel/sys/processor.h, sysml, bos41J, 9507A 1/31/95 12:26:53 */
/*
* COMPONENT_NAME: SYSPROC
*
* FUNCTIONS: none
*
* ORIGINS: 27,83
*
*
* (C) COPYRIGHT International Business Machines Corp. 1993
* All Rights Reserved
* Licensed Materials - Property of IBM
* US Government Users Restricted Rights - Use, duplication or
* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
*/
#ifndef _H_PROCESSOR
#define _H_PROCESSOR
typedef short cpu_t; /* logical processor ID */
typedef short processor_t; /* physical processor ID */
/*
* Bind a process/thread to a processor
*/
extern int bindprocessor(int What, int Who, cpu_t Where);
/*
* Values for What
*/
#define BINDPROCESS 1 /* Bind all threads in process Who */
#define BINDTHREAD 2 /* Only bind thread Who */
/*
* Values for Where
*/
#define PROCESSOR_CLASS_ANY ((cpu_t)(-1)) /* Unbound */
/*
* The next one is T E M P O R A R I L Y !
*/
extern cpu_t mycpu(void);
/*
* Kernel internal
*/
#ifdef _KERNSYS
extern int switch_cpu(cpu_t Where, int Options);
#define SET_PROCESSOR_ID 1
#define RESET_PROCESSOR_ID 2
#define MP_MASTER 0
#endif /* _KERNSYS */
#endif /* _H_PROCESSOR */