Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Aug 2001 13:28:48 -0600 (MDT)
From:      <janb@cs.utep.edu>
To:        Mike Smith <msmith@freebsd.org>
Cc:        <hackers@freebsd.org>
Subject:   Re: more Newbus questions 
Message-ID:  <Pine.GSO.4.30.0108151319540.20536-100000@gecko>
In-Reply-To: <200108151714.f7FHEIC01010@mass.dis.org>

next in thread | previous in thread | raw e-mail | index | archive | help
That is fine. We are curently in the proccess of fixing up xmach, since
there are about 10 years of code rot in the thing. Priorty for me righ now
is to get newbus to work under xmach. i.e. I need to put newbus to work
with the way xmach handles device, which I am quite familiar with. What I
need help with is how FreeBSD keeps track of IRQs, interrupt handlers,
etc. This way, I can patch in NEWBUS, and give Us a better hardware base,
so the other developers can fix other stuff, such as the interrupt
handling. Again, priority is to get newbus running, not fix the way mach
is handing interrupts right now. I would be very grateful, if you could
explain how and where FreeBSD implements populating the interrupt vector
table from the device tree that gets recognized by newbus.

Thanks again.

JAn

On Wed, 15 Aug 2001, Mike Smith wrote:

>
> This is *totally* not how to do interrupts with Mach.  You should be
> creating a thread for each interrupt source, and keeping a worklist of
> interrupt handlers registered against that source.
>
> Unfortunately, I can't help you with Mach-related things, since I work
> for Apple and that'd put me in a conflict-of-interest situation. 8(
>
> > > None of these are newbus items.  Interrupt dispatch is not managed by
> > > newbus (due to the costs involved).  Instead, interrupts are attached
> > > with bus_setup_intr, which forwards the interrupt handler and argument
> > > to platform-specific code.  The resource mananger is involved (since
> > > interrupts are a managed resource), and interrupts must be allocated
> > > using bus_alloc_resource before being set up.
> > >
> >
> > Could you possibly go over how this works on the i386. Is there a global
> > structure that keeps track of all allocated IRQs and interrupt handling
> > routines? What I really need, is to find out, where this structure is
> > built, so that at this point, I can instead build the structure that xmach
> > needs. Or, alternatively, I can wait until that structure is done, and
> > then make the xmach structure from that...
> >
> > Thanks again,
> >
> > JAn
> >
>
> --
> ... every activity meets with opposition, everyone who acts has his
> rivals and unfortunately opponents also.  But not because people want
> to be opponents, rather because the tasks and relationships force
> people to take different points of view.  [Dr. Fritz Todt]
>            V I C T O R Y   N O T   V E N G E A N C E
>
>


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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.30.0108151319540.20536-100000>