|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1994 The University of Utah and ! 3: * the Computer Systems Laboratory at the University of Utah (CSL). ! 4: * All rights reserved. ! 5: * ! 6: * Permission to use, copy, modify and distribute this software is hereby ! 7: * granted provided that (1) source code retains these copyright, permission, ! 8: * and disclaimer notices, and (2) redistributions including binaries ! 9: * reproduce the notices in supporting documentation, and (3) all advertising ! 10: * materials mentioning features or use of this software display the following ! 11: * acknowledgement: ``This product includes software developed by the ! 12: * Computer Systems Laboratory at the University of Utah.'' ! 13: * ! 14: * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS ! 15: * IS" CONDITION. THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF ! 16: * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. ! 17: * ! 18: * CSL requests users of this software to return to [email protected] any ! 19: * improvements that they make and grant CSL redistribution rights. ! 20: * ! 21: * Author: Bryan Ford, University of Utah CSL ! 22: */ ! 23: #ifndef _IMPS_CPU_NUMBER_ ! 24: #define _IMPS_CPU_NUMBER_ ! 25: ! 26: ! 27: #ifndef ASSEMBLER ! 28: ! 29: #include "apic.h" ! 30: ! 31: static inline int ! 32: cpu_number() ! 33: { ! 34: return apic_local_unit.unit_id.r >> 24; ! 35: } ! 36: ! 37: #else ASSEMBLER ! 38: ! 39: #include "impsasm.h" ! 40: ! 41: #define CPU_NUMBER(reg) \ ! 42: movzbl APIC_LOCAL_VA+APIC_LOCAL_UNIT_ID+3,reg ! 43: ! 44: #endif ASSEMBLER ! 45: ! 46: ! 47: #include "i386/cpu_number.h" ! 48: ! 49: ! 50: #endif _IMPS_CPU_NUMBER_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.