* Re: interupts... [not found] <Pine.VMS.3.91-2(vms).1020923151918.31945B-100000@cs.felk.cvut.cz> @ 2002-09-23 13:46 ` Frederic Marmond 2002-09-23 13:50 ` interupts Rudolf Marek 1 sibling, 0 replies; 5+ messages in thread From: Frederic Marmond @ 2002-09-23 13:46 UTC (permalink / raw) To: Rudolf Marek; +Cc: Mateusz Srebrny, linux-assembly Rudolf Marek wrote: >On Mon, 23 Sep 2002, Mateusz Srebrny wrote: > > > >>Date: Mon, 23 Sep 2002 15:04:42 +0200 (CEST) >>From: Mateusz Srebrny <ms189442@zodiac.mimuw.edu.pl> >>To: linux-assembly@vger.kernel.org >>Subject: interupts... >> >>Hi! >> >>This question is out of concern of this group (I think). >>But... >> >>Does proccessor (somehow) know if an interrupt it gets was hard- or soft- >>ware generated? I mean if hard disk finishes for example his asynchronous >>IO operation it generates the disk interrupt. But if I want something from >>the disk I do it all the same... >> >> > >If it is software generated it is in the procesor itself (int instruction) >if Hardware, there is I think one PIN called INTA on processor. > >Through this "wire" is ALL hardware requesting interrupt. > > > Hardware -> IRQ lines 0-15 -> PIC (Programemble interrupt controller) >-> "INTA" Pin of procesor. > > right, you have to reset this line at the end of the interrupt handler (by the good 8259 port, something like out 20h,20h for the first, if i remember well) >Hope someone will correct me if I'm not right but this is basic idea. > > >>Is there the same int-handler for hardware and for software, but the >>execution differs by means of some parameters? Or there are two separate >>interrupt accidentally called by the same number? >> >> >> > >No HW and Software can be mixed togehter. > >INT 5 -> bound exeption has same handler as for Printscreen for >example.(Under DOS) > >Regards > Rudolf > > hum, we can make a pushf call 0:5*4 it will call the int 5. I think that hw and sw may be mixed in an int handler (i find it ugly, but...) You can also program the 8259 to map IRQ to other interrupts than those by default. When bios take the control, in boot stage, it maps irq 0-7 to ints 8-f and irq 8-f to ints 70-77. But you can change that , and make irq 0-7 points to 90-97 and irq 8-f to interrupts 98-9f if you want to! Fred > > > >- >To unsubscribe from this list: send the line "unsubscribe linux-assembly" in >the body of a message to majordomo@vger.kernel.org >More majordomo info at http://vger.kernel.org/majordomo-info.html > > > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: interupts... [not found] <Pine.VMS.3.91-2(vms).1020923151918.31945B-100000@cs.felk.cvut.cz> 2002-09-23 13:46 ` interupts Frederic Marmond @ 2002-09-23 13:50 ` Rudolf Marek 1 sibling, 0 replies; 5+ messages in thread From: Rudolf Marek @ 2002-09-23 13:50 UTC (permalink / raw) To: linux-assembly You can look at arch/i386... in assembly file how to reprogram 8259 (relocate HW interrupts to diffrent number), which is a beast, you have to done it in that way... It is round 10 in/outs I think. You can look at ralf brown interrupt list (ports.lst) how to program that chip. or at developer.intel.com Rudolf ^ permalink raw reply [flat|nested] 5+ messages in thread
* interupts... @ 2002-09-23 13:04 Mateusz Srebrny 2002-09-23 13:26 ` interupts Rudolf Marek 2002-09-23 13:37 ` interupts Frederic Marmond 0 siblings, 2 replies; 5+ messages in thread From: Mateusz Srebrny @ 2002-09-23 13:04 UTC (permalink / raw) To: linux-assembly Hi! This question is out of concern of this group (I think). But... Does proccessor (somehow) know if an interrupt it gets was hard- or soft- ware generated? I mean if hard disk finishes for example his asynchronous IO operation it generates the disk interrupt. But if I want something from the disk I do it all the same... Is there the same int-handler for hardware and for software, but the execution differs by means of some parameters? Or there are two separate interrupt accidentally called by the same number? Thanks for any help... Mateusz Srebrny ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: interupts... 2002-09-23 13:04 interupts Mateusz Srebrny @ 2002-09-23 13:26 ` Rudolf Marek 2002-09-23 13:37 ` interupts Frederic Marmond 1 sibling, 0 replies; 5+ messages in thread From: Rudolf Marek @ 2002-09-23 13:26 UTC (permalink / raw) To: Mateusz Srebrny; +Cc: linux-assembly On Mon, 23 Sep 2002, Mateusz Srebrny wrote: > Date: Mon, 23 Sep 2002 15:04:42 +0200 (CEST) > From: Mateusz Srebrny <ms189442@zodiac.mimuw.edu.pl> > To: linux-assembly@vger.kernel.org > Subject: interupts... > > Hi! > > This question is out of concern of this group (I think). > But... > > Does proccessor (somehow) know if an interrupt it gets was hard- or soft- > ware generated? I mean if hard disk finishes for example his asynchronous > IO operation it generates the disk interrupt. But if I want something from > the disk I do it all the same... If it is software generated it is in the procesor itself (int instruction) if Hardware, there is I think one PIN called INTA on processor. Through this "wire" is ALL hardware requesting interrupt. Hardware -> IRQ lines 0-15 -> PIC (Programemble interrupt controller) -> "INTA" Pin of procesor. Hope someone will correct me if I'm not right but this is basic idea. > > Is there the same int-handler for hardware and for software, but the > execution differs by means of some parameters? Or there are two separate > interrupt accidentally called by the same number? > No HW and Software can be mixed togehter. INT 5 -> bound exeption has same handler as for Printscreen for example.(Under DOS) Regards Rudolf ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: interupts... 2002-09-23 13:04 interupts Mateusz Srebrny 2002-09-23 13:26 ` interupts Rudolf Marek @ 2002-09-23 13:37 ` Frederic Marmond 1 sibling, 0 replies; 5+ messages in thread From: Frederic Marmond @ 2002-09-23 13:37 UTC (permalink / raw) To: Mateusz Srebrny; +Cc: linux-assembly on x86 architecture, you have two 'pic' (programmable interrupt controlers, which are 8259x chips in serial). In your handler, you can ask them if it is an hard or soft interrupt (ports 20h-3fh for the 1rst 8259 and a0h-bfh for the second). I don't remember exactly which port for this, but you can find docs on the net with thoses references. Other way: test if the hard you are handling is the source of the interrupt. If you have doc of your hard drive, you may find registers where you can find infos about its state. good luck! Fred Mateusz Srebrny wrote: >Hi! > >This question is out of concern of this group (I think). >But... > >Does proccessor (somehow) know if an interrupt it gets was hard- or soft- >ware generated? I mean if hard disk finishes for example his asynchronous >IO operation it generates the disk interrupt. But if I want something from >the disk I do it all the same... > >Is there the same int-handler for hardware and for software, but the >execution differs by means of some parameters? Or there are two separate >interrupt accidentally called by the same number? > >Thanks for any help... > Mateusz Srebrny > >- >To unsubscribe from this list: send the line "unsubscribe linux-assembly" in >the body of a message to majordomo@vger.kernel.org >More majordomo info at http://vger.kernel.org/majordomo-info.html > > > ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2002-09-23 13:50 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <Pine.VMS.3.91-2(vms).1020923151918.31945B-100000@cs.felk.cvut.cz>
2002-09-23 13:46 ` interupts Frederic Marmond
2002-09-23 13:50 ` interupts Rudolf Marek
2002-09-23 13:04 interupts Mateusz Srebrny
2002-09-23 13:26 ` interupts Rudolf Marek
2002-09-23 13:37 ` interupts Frederic Marmond
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).