Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Mar 1998 10:24:14 -0700
From:      Steve Passe <smp@csn.net>
To:        Poul-Henning Kamp <phk@critter.freebsd.dk>
Cc:        "Jordan K. Hubbard" <jkh@FreeBSD.ORG>, Pomegranate <daver@flag.blackened.net>, smp@FreeBSD.ORG
Subject:   Re: my linux box never did that 
Message-ID:  <199803111724.KAA11061@Ilsa.StevesCafe.com>
In-Reply-To: Your message of "Wed, 11 Mar 1998 10:52:54 %2B0100." <2517.889609974@critter.freebsd.dk> 

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

> SMP wizards, any good ideas ?  hardclock gets called about three times too
> often on this motherboard.  Mptable & dmesg included:
> ...
> APIC_IO: routing 8254 via 8259 on pin 0

I don't have recent code, but in clock.c there is something like:

---------------------------------- cut ---------------------------------------
	/* 1st look for ExtInt on pin 0 */
	if (apic_int_type(0, 0) == 3) {
		/*
		 * Allow 8254 timer to INTerrupt 8259:
		 *  re-initialize master 8259:
		 *   reset; prog 4 bytes, single ICU, edge triggered
		 */
		outb(IO_ICU1, 0x13);
		outb(IO_ICU1 + 1, NRSVIDT);	/* start vector (unused) */
		outb(IO_ICU1 + 1, 0x00);	/* ignore slave */
		outb(IO_ICU1 + 1, 0x03);	/* auto EOI, 8086 */
		outb(IO_ICU1 + 1, 0xfe);	/* unmask INT0 */

		/* program IO APIC for type 3 INT on INT0 */
		if (ext_int_setup(0, 0) < 0)
			panic("8254 redirect via APIC pin0 impossible!");

		x = 0;
		/* XXX if (bootverbose) */
			printf("APIC_IO: routing 8254 via 8259 on pin 0\n");
	}

	/* failing that, look for 8254 on pin 2 */
	else if (isa_apic_pin(0) == 2) {
		x = 2;
		/* XXX if (bootverbose) */
			printf("APIC_IO: routing 8254 via pin 2\n");
	}
---------------------------------- cut ---------------------------------------

try forcing the 'else' part to fire by ifdef'ing out the "if ... else "
section.  The else part is really the prefered action, but SO MANY
motherboards had MP BIOS that lie about this ability that I punted
and default to the first method since most motherboards work with it.
Tor's recent clock changes might break, don't know if they can deal with 
the hardclock coming from this (ie 2) vector...

--
Steve Passe	| powered by 
smp@csn.net	|            Symmetric MultiProcessor FreeBSD



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199803111724.KAA11061>