| plan 9 kernel history: overview | file list | diff list |
1994/0512/pc/trap.c (diff list | history)
| 1994/0407/sys/src/9/pc/trap.c:183,190 – 1994/0512/sys/src/9/pc/trap.c:183,190 (short | long | prev | next) | ||
| 1991/0709 | * Set the 8259 as master with edge triggered * input with fully nested interrupts. | |
| 1991/0704 | */ | |
| 1991/0709 |
| |
| 1994/0512 | outb(Int0ctl, (1<<4)|(1<<3)|(1<<0)); /* ICW1 - master, level triggered, ICW4 will be sent */ | |
| 1991/0709 | outb(Int0aux, Int0vec); /* ICW2 - interrupt vector offset */ | |
| 1991/0731 | outb(Int0aux, 0x04); /* ICW3 - have slave on level 2 */ | |
| 1991/0709 | outb(Int0aux, 0x01); /* ICW4 - 8086 mode, not buffered */ | |
| 1994/0407/sys/src/9/pc/trap.c:195,202 – 1994/0512/sys/src/9/pc/trap.c:195,202 | ||
| 1991/0731 | * Set the 8259 as master with edge triggered * input with fully nested interrupts. */ | |
| 1994/0512 | outb(Int1ctl, (1<<4)|(1<<3)|(1<<0)); /* ICW1 - master, level triggered, ICW4 will be sent */ | |
| 1991/0731 | outb(Int1aux, Int1vec); /* ICW2 - interrupt vector offset */ outb(Int1aux, 0x02); /* ICW3 - I am a slave on level 2 */ outb(Int1aux, 0x01); /* ICW4 - 8086 mode, not buffered */ | |
| 1994/0407/sys/src/9/pc/trap.c:222,231 – 1994/0512/sys/src/9/pc/trap.c:222,228 | ||
| 1991/1113 | [13] "general protection violation", }; | |
| 1993/0915 |
| |
| 1993/1113 |
| |
| 1993/0915 | ||
| 1991/0614 | /* | |
| 1993/1124 | * All traps come here. It is slower to have all traps call trap() rather than | |
| 1993/1115 | * directly vectoring the handler. However, this avoids a lot of code duplication | |
| 1994/0407/sys/src/9/pc/trap.c:265,273 – 1994/0512/sys/src/9/pc/trap.c:262,267 | ||
| 1991/1113 | } | |
| 1993/0217 | if(v>=256 || (h = halloc.ivec[v]) == 0){ | |
| 1993/0915 |
| |
| 1993/1113 |
| |
| 1993/0224 | /* an old 386 generates these fairly often, no idea why */ | |
| 1991/1214 | if(v == 13) return; | |
| 1994/0407/sys/src/9/pc/trap.c:307,316 – 1994/0512/sys/src/9/pc/trap.c:301,306 | ||
| 1993/0915 | splhi(); if(user && (up->procctl || up->nnote)) | |
| 1991/0910 | notify(ur); | |
| 1993/1113 |
| |
| 1993/0915 |
| |
| 1991/0806 | } /* | |
| 1994/0407/sys/src/9/pc/trap.c:349,359 – 1994/0512/sys/src/9/pc/trap.c:339,344 | ||
| 1993/0915 | dumpregs2(ur); | |
| 1993/1113 | print(" magic %lux %lux %lux\n", x[0], x[1], x[2]); print(" ur %lux up %lux\n", ur, up); | |
| 1993/0915 |
| |
| 1993/1113 |
| |
| 1993/0915 | } void | |