]> Devi Nivas Git - cs3210-lab1.git/commitdiff
Update README.md to include information on ebp sentinels
authorRohan Bafna <rbafna3@gatech.edu>
Thu, 16 Jan 2025 22:04:20 +0000 (17:04 -0500)
committerRohan Bafna <rbafna3@gatech.edu>
Thu, 16 Jan 2025 22:04:20 +0000 (17:04 -0500)
README.md

index 17dd9aa0754c585dab62a63d0c410d37ec5ef3e2..01370d3a30234dad7a5d506775c2eaa2b05b9c9e 100644 (file)
--- a/README.md
+++ b/README.md
@@ -198,15 +198,24 @@ operations:
 - By convention, when a function is first called, the base-pointer is written to
   the stack, and stack-pointer is transferred into the base-pointer.
 
+This scheme doesn't describe how to find the bottom of the stack,
+however.  In order to know when to stop walking the stack, for this
+lab, we have modified the codebase to ensure that the first function
+that executes in any kernel thread begins with `ebp` set to `0xF00`.
+
+You should **not** print out a backtrace line corresponding to the
+first function's return address, as that return address is not always
+defined.
+
 This forces the stack layout to appear as follows:
 
 ```text
 ---------------------
 |        ...        |
 ---------------------
-|  Return Address 0 |  <-  First frame on the stack [0]
+|  Return Address 0 |  <- Not defined for first frame, don't print
 ---------------------
-|  Base Pointer 0   |  <- Not defined for first frame
+|  Base Pointer 0   |  <- Hardcoded to `0xF00`
 ---------------------
 |        ...        |
 ---------------------