I am ready a beginner, I see some article that to write an OS needed to understand everything you wrote but not to assume it. So for the cascade, I have read the wiki and some other material, but I have a few question.
#1
It will be use to remap the interupt from 0x20 to 0x2f, why it is not puting 0x2f instead of 0x28.(Like baby question.)
#2 If we remap the start address at 0x20, will it mean that the first IRQ map will be 0x20 in IDT. Second will be 0x21. However, for IRQ 8, will it is in 0x28 or needed to do something with IRQ 2.(I only know how to do for keyboard and timmer so far.)
#3 For example, if I have reprogram the interupt at 0x20, for keyboard, will the interupt 0x09 stop functioning.
#4 When masking for the interupt by outport mask to 8259A chip, for example, 0xfc for master and 0xff for slave, will the harddisk interupt stop function or they just not map to the interupt that we pointed but still functioning with their "own or orginal" interupt function. (I ready don't know how to exam it if it is functioning.)
#5
"Cascaded" means that the PICs are connected together on one of the IRQ channels (IRQ2 IIRC).
I am ready a beginner, (I guess) if it mean that it cascade the IRQ 0, IRQ 1, and IRQ 3 to IRQ 15 into IRQ 2, then it mean that all the IRQ signal will be send to IRQ 2 and IRQ 2 will send request to processor for interupt acknowledge, then proccessor will excute the interupt process.
I read some matrial that one IRQ line will be reserved for sending signal and will not use, will the reserved line be IRQ 2? (If is, the below is a question) So we can't program the interupt for IRQ 2. For example, I map the interupt with
then the IRQ 2 will be the interupt at 0x22, so it should not be program at all. And the mask should always set?
Or the above for the question 5 just get the wrong meaning.
Thank you for answering my question.