Shared Interrupts???

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
A. Esch

Shared Interrupts???

Post by A. Esch »

I programming a operating system fully in assembly.
This is no problem, but i have no idea how shared
IRQ´s works.

Have anyone an idea and can help me?

Thanks

Alwin Esch
j.weeks

RE:Shared Interrupts???

Post by j.weeks »

>On 2001-10-20 14:25:46, A. Esch wrote:
>I programming a operating system fully in assembly.
>This is no problem, but i have no idea how shared
>IRQ´s works.
>
>Have anyone an idea and can help me?

You don't have to support them, you know? It's
probably easier to only allow one device for
each irq.

I don't know, exactly, how to handle them, but the
latest linux kernels support it, which _might_
be of some use (we all know how easy to read they
are... :)

My guess would be that you would have to check
where the irq came from (check the device memory
space?) and from there determine which irq
to call. I don't know... :(

Which OS is this? Do you have a web site?

j.weeks

>
>Thanks
>
>Alwin Esch
>
Chase

RE:Shared Interrupts???

Post by Chase »

>On 2001-10-20 14:25:46, A. Esch wrote:
>I programming a operating system fully in assembly.
>This is no problem, but i have no idea how shared
>IRQ´s works.
>
>Have anyone an idea and can help me?

This is off the top of my head so it might not be
completely correct.

It gets into how components assert that an interrupt has
occurred. The way ISA components electronical indicate
an IRQ there is no way to determine that a second IRQ
has occurred if the first didn't get serviced fast enough.
PCI commonents function a little differently, you can tell
that mutliple IRQ's occur but not from where. You have to query
all PCI devices on that IRQ to figure out which one(s) need
to be serviced.

-Chase
A. Esch

RE:Shared Interrupts???

Post by A. Esch »

To j.weeks my OS is in a very early phase. I have
named it OS2000 but the name can change, i work
in the moment on the basicfunctions, like Memory-
managment, Multitasking, Hardwaredetection and so
on. All this runs but it have some bugs and far
away from an running OS. A Website come in the
next time.

Thanks for your help Chase and j.weeks!
A. Esch

RE:Shared Interrupts???

Post by A. Esch »

Hi guys!

For my problem with shared IRQ, i have found an
document in the MSDN which have little
description how it works.

The document URL is:
http://www.microsoft.com/hwdev/NewPC/IO-APIC.htm

I hope this help all people who have the same
problem.

Thanks

Alwin Esch
Chase

RE:Shared Interrupts???

Post by Chase »

>On 2001-10-26 06:10:27, A. Esch wrote:

>The document URL is:
>http://www.microsoft.com/hwdev/NewPC/IO-APIC.htm

One thing I want to point out, the article says a 8529
can't be used in a multiprocessor system. Any code you
write for a 8529 PIC will still work on a multi-cpu system.

On power up of a multi-cpu system one cpu gets initialized
and is in 8529 PIC compatiblity mode. You can't tell the
difference. Of course you are only using one cpu....
but it works :)

-Chase
Post Reply