Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Dec 2002 14:41:58 -0500 (EST)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Marcel Moolenaar <marcel@FreeBSD.org>
Cc:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   RE: PERFORCE change 22825 for review
Message-ID:  <XFMail.20021230144158.jhb@FreeBSD.org>
In-Reply-To: <200212280132.gBS1WakY007301@repoman.freebsd.org>

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

On 28-Dec-2002 Marcel Moolenaar wrote:
> http://perforce.freebsd.org/chv.cgi?CH=22825
> 
> Change 22825 by marcel@marcel_nfs on 2002/12/27 17:31:54
> 
>       o  Move ia64_sapics and ia64_sapic_count from interrupt.c to
>          sapic.c.
>       o  Remove ia64_add_sapic(). Adding a sapic to the array is
>          done in sapic_create directly now.
>       o  Update the interrupt counter as early as possible to
>          help diagnose interrupt problems.
>       o  Create a new sysctl "hw.apic" that shows the RTEs for
>          all (x)APICs in the system. This may be combined with
>          interrupt counters as an alternative interface for
>          vmstat -i. It may also go away...
>       
>       In ia64_enable(), we have a serious problem. We use the
>       IRQ to determine the trigger mode and polarity. We assume
>       that the first 16 IRQs are identity mapped onto the the
>       dual-PIC IRQs used by legacy systems to support 8259
>       compatibility mode. Those interrupts are hardcoded to be
>       edge sensitive and active high. All other (higher) IRQs
>       are assumed (and hardcode) to be level sensitive active
>       low. The latter is not true. On the HP rx2600 the ACPI
>       based sio(4) devices are edge triggered active high and
>       have vectors 66 and 67.
>       
>       DANGER, WILL ROBINSON: this change hardcodes the trigger
>       mode and polarity for 3 interrupt vectors to be edge
>       sensitive active high. Do not use this code unless you
>       know it cannot harm. The kludge committed to get a serial
>       console on the HP box in the cluster until we have figured
>       where and how we can get information about interrupts and
>       specificly about trigger mode and polarity.

How about reading the default value of the vector in the IO APIC
vector entry?  Or better yet, leave the polarity and trigger mode
of those entries alone and only ever change the vector.

However, try looking at the madt.  Check out the diffs in jhb_madt
to print out the contents of the MADT.  The MADT can describe when
certain pins are not normal.

-- 

John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

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




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