From owner-freebsd-smp Tue Nov 26 14:52:41 1996 Return-Path: owner-smp Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id OAA05308 for smp-outgoing; Tue, 26 Nov 1996 14:52:41 -0800 (PST) Received: (from fsmp@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id OAA05300 for freebsd-smp; Tue, 26 Nov 1996 14:52:38 -0800 (PST) Date: Tue, 26 Nov 1996 14:52:38 -0800 (PST) From: Steve Passe Message-Id: <199611262252.OAA05300@freefall.freebsd.org> To: freebsd-smp Subject: cvs commit: sys/i386/include apic.h ipl.h smptests.h spl.h sys/i386/isa icu.h isa.c isa_device.h vector.s Sender: owner-smp@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk fsmp 96/11/26 14:52:38 Modified: i386/include apic.h ipl.h smptests.h spl.h Log: control of new IPI_INTR() entry points. #define IPI_INTS in i386/include/apic.h to enable (the default). #define TEST_IPI in i386/include/smptests.h for test code (default for now). removed TEST_DISABLEFOCUS define from smptests.h Revision Changes Path 1.15 +9 -1 sys/i386/include/apic.h 1.6 +9 -3 sys/i386/include/ipl.h 1.5 +5 -7 sys/i386/include/smptests.h 1.5 +7 -1 sys/i386/include/spl.h Modified: i386/isa icu.h isa.c isa_device.h vector.s Log: new IPI_INTR() entry points. #define IPI_INTS in i386/include/apic.h to enable (the default). #define TEST_IPI in i386/include/smptests.h for test code (default for now). This code gives us 4 InterProcessor Interrupts in the IDT table. Generically named Xipi2[4567], they link to skeleton functions mp_machdep.c:ipiIntr[0123](). These will be used to send messages between CPUs. Eventually some will be tweaked to do everything in asm inside XipiN, while others will be expanded via the skeleton functions. Support functions in mpapic.c include: send an IPI INTerrupt containing 'vector' to CPUs in 'targetMap': selectedProcsIPI( int targetMap, int vector ) send an IPI INTerrupt containing 'vector' to all CPUs, including myself: allProcsIPI( int vector ) send an IPI INTerrupt containing 'vector' to all CPUs EXCEPT myself: allButSelfIPI( int vector ) send an IPI INTerrupt containing 'vector' to myself: selfIPI( int vector ) Revision Changes Path 1.8 +13 -1 sys/i386/isa/icu.h 1.11 +7 -0 sys/i386/isa/isa.c 1.6 +10 -7 sys/i386/isa/isa_device.h 1.28 +55 -3 sys/i386/isa/vector.s