Date: Wed, 3 Aug 2005 22:29:26 GMT From: Peter Wemm <peter@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 81419 for review Message-ID: <200508032229.j73MTQDL025132@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=81419 Change 81419 by peter@peter_overcee on 2005/08/03 22:29:12 Integ -b i386_hammer (extint stuff) Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/db_trace.c#30 integrate .. //depot/projects/hammer/sys/amd64/amd64/io_apic.c#40 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/db_trace.c#30 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/amd64/io_apic.c#40 (text+ko) ==== @@ -40,6 +40,7 @@ #include <sys/malloc.h> #include <sys/lock.h> #include <sys/mutex.h> +#include <sys/sysctl.h> #include <vm/vm.h> #include <vm/pmap.h> @@ -130,6 +131,12 @@ static int bsp_id, current_cluster, logical_clusters, next_ioapic_base; static u_int next_id, program_logical_dest; +SYSCTL_NODE(_hw, OID_AUTO, apic, CTLFLAG_RD, 0, "APIC options"); +static int enable_extint; +SYSCTL_INT(_hw_apic, OID_AUTO, enable_extint, CTLFLAG_RDTUN, &enable_extint, 0, + "Enable the ExtINT pin in the first I/O APIC"); +TUNABLE_INT("hw.apic.enable_extint", &enable_extint); + static __inline void _ioapic_eoi_source(struct intsrc *isrc) { @@ -287,7 +294,7 @@ switch (intpin->io_vector) { case VECTOR_EXTINT: KASSERT(intpin->io_edgetrigger, - ("EXTINT not edge triggered")); + ("ExtINT not edge triggered")); low |= IOART_DELEXINT; break; case VECTOR_NMI: @@ -681,7 +688,10 @@ return (EINVAL); io->io_pins[pin].io_bus = APIC_BUS_UNKNOWN; io->io_pins[pin].io_vector = VECTOR_EXTINT; - io->io_pins[pin].io_masked = 1; + if (enable_extint) + io->io_pins[pin].io_masked = 0; + else + io->io_pins[pin].io_masked = 1; io->io_pins[pin].io_edgetrigger = 1; io->io_pins[pin].io_activehi = 1; if (bootverbose)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200508032229.j73MTQDL025132>