]> Devi Nivas Git - cs3210-lab1.git/commitdiff
Added read_ebp to x86.h
authorDavid Devecsery <ddevec@gatech.edu>
Mon, 18 May 2020 14:50:31 +0000 (10:50 -0400)
committerDavid Devecsery <ddevec@gatech.edu>
Mon, 18 May 2020 14:50:31 +0000 (10:50 -0400)
include/asm/x86.h

index 12ff7d2986523a3720f5e112f189ba091bbe313d..4f8057004d339c717d0d579de844fe67d386d9fb 100644 (file)
@@ -103,6 +103,18 @@ readeflags(void)
   return eflags;
 }
 
+// This needs to be always inlined, otherwise the ebp is modified
+static __inline uint
+read_ebp(void)
+{
+  uint ebp;
+  // Force the prologue before ebp
+  __asm __volatile("" : : :"memory");
+  __asm __volatile("movl %%ebp,%0" : "=r" (ebp));
+
+  return ebp;
+}
+
 static inline void
 loadgs(ushort v)
 {