From 11cc57b59d3fbcee3d70d919b3d57310f18c1818 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Sat, 28 May 2016 15:53:04 +0200 Subject: [PATCH] =?UTF-8?q?Add=20images=20for=20=E2=80=9CCatching=20Except?= =?UTF-8?q?ions=E2=80=9D=20(#166)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../normal-vs-interrupt-function-return.svg | 2 ++ static/images/qemu-page-fault-println.png | Bin 0 -> 13511 bytes static/images/qemu-page-fault-red.png | Bin 0 -> 13552 bytes 3 files changed, 2 insertions(+) create mode 100644 static/images/normal-vs-interrupt-function-return.svg create mode 100644 static/images/qemu-page-fault-println.png create mode 100644 static/images/qemu-page-fault-red.png diff --git a/static/images/normal-vs-interrupt-function-return.svg b/static/images/normal-vs-interrupt-function-return.svg new file mode 100644 index 00000000..b259fba6 --- /dev/null +++ b/static/images/normal-vs-interrupt-function-return.svg @@ -0,0 +1,2 @@ + +
Return Address
Return Address
Stack Frame of the Handler Function
Stack Frame of the Handler Function
Stack
Pointer
[Not supported by viewer]
Some Other Value
(e.g. an Error Code)
[Not supported by viewer]
Stack Frame of the Handler Function
Stack Frame of the Handler Function
Return Address
Return Address
Normal Function Return
Normal Function Return
Interrupt Handler Function Return
Interrupt Handler Function Return
\ No newline at end of file diff --git a/static/images/qemu-page-fault-println.png b/static/images/qemu-page-fault-println.png new file mode 100644 index 0000000000000000000000000000000000000000..7450ba5f051b80849aad41645af035da479fa1f3 GIT binary patch literal 13511 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 literal 0 HcmV?d00001 diff --git a/static/images/qemu-page-fault-red.png b/static/images/qemu-page-fault-red.png new file mode 100644 index 0000000000000000000000000000000000000000..6dc526cef9cb569871782fa22872c6e0c91e011b GIT binary patch literal 13552 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 literal 0 HcmV?d00001