=== This template file contains questions you need to answer. === Fill your answers on appropriate blank lines only. === Don't start any line with three equal signs "===". === Don't edit any lines starting from three equal signs. === Use C notation to write numbers: 42 for decimal, 0x2a for hexadecimal. === We may check most of the answers automatically, so "forty two" or === "26+16" won't work for this example. Spaces are mostly ignored, so === " 42 " is OK (without quotes of course). === When asked to specify address & instruction, do it in the form of === gdb output "ADDRESS: INSTRUCTION", for example "0x7c26: or $0x1,%eax" === Don't make lines longer than 80 characters. You don't need to fit your === answer in a single line, you can start a new line at will. === However, when asked to fill "a table" make each table raw a single line. === Q In Exercise 4, can the function 'trap' ever return? === (yes/no) === Q What is the purpose of having an individual handler function for === each exception/interrupt? (i.e., if all exceptions/interrupts === were delivered to the same handler, what feature that exists in === the current implementation could not be provided?) === (free form, 1 sentence) === Q Did you have to do anything to make the user/softint program === behave correctly? === (yes/no) === Q The grade script expects it to produce a general protection === fault (trap 13), but softint's code says int $14. Why should === this produce interrupt vector 13? === (free form, 1 sentence) === Q What happens if the kernel actually allows softint's int $14 === instruction to invoke the kernel's page fault handler (which is === interrupt vector 14)? === (free form, 1 sentence) === Q The break point test case will either generate a break point === exception or a general protection fault depending on how you === initialized the break point entry in the IDT (i.e., your call to === SETGATE from idt_init). Why? How did you need to set it in === order to get the breakpoint exception to work as specified === above and what incorrect setup would cause it to trigger a === general protection fault? === (free form) === Q What do you think is the point of these mechanisms, particularly === in light of what the user/softint test program does? === (free form, 1 sentence) === Q In Exercise 9, what causes the page fault which panics the === kernel when running user/breakpoint? === (free form, 1 sentence) ==================================================================== === Q What challenge(s) have you chosen to implement? (specify === challenge numbers separated by spaces, if more than one) === Q If the challenge requires changing the kernel source, list the === files which you have changed/added during implementation. === (one file per line, relative to lab directory containing .git/) === Q Describe you solution. === (free form, up to 500 words, don't need to use all 500!)