...
Run Format

Source file src/runtime/defs_plan9_386.go

Documentation: runtime

  package runtime
  
  const _PAGESIZE = 0x1000
  
  type ureg struct {
  	di    uint32 /* general registers */
  	si    uint32 /* ... */
  	bp    uint32 /* ... */
  	nsp   uint32
  	bx    uint32 /* ... */
  	dx    uint32 /* ... */
  	cx    uint32 /* ... */
  	ax    uint32 /* ... */
  	gs    uint32 /* data segments */
  	fs    uint32 /* ... */
  	es    uint32 /* ... */
  	ds    uint32 /* ... */
  	trap  uint32 /* trap _type */
  	ecode uint32 /* error code (or zero) */
  	pc    uint32 /* pc */
  	cs    uint32 /* old context */
  	flags uint32 /* old flags */
  	sp    uint32
  	ss    uint32 /* old stack segment */
  }
  
  type sigctxt struct {
  	u *ureg
  }
  
  //go:nosplit
  //go:nowritebarrierrec
  func (c *sigctxt) pc() uintptr { return uintptr(c.u.pc) }
  
  func (c *sigctxt) sp() uintptr { return uintptr(c.u.sp) }
  func (c *sigctxt) lr() uintptr { return uintptr(0) }
  
  func (c *sigctxt) setpc(x uintptr) { c.u.pc = uint32(x) }
  func (c *sigctxt) setsp(x uintptr) { c.u.sp = uint32(x) }
  func (c *sigctxt) setlr(x uintptr) {}
  
  func (c *sigctxt) savelr(x uintptr) {}
  
  func dumpregs(u *ureg) {
  	print("ax    ", hex(u.ax), "\n")
  	print("bx    ", hex(u.bx), "\n")
  	print("cx    ", hex(u.cx), "\n")
  	print("dx    ", hex(u.dx), "\n")
  	print("di    ", hex(u.di), "\n")
  	print("si    ", hex(u.si), "\n")
  	print("bp    ", hex(u.bp), "\n")
  	print("sp    ", hex(u.sp), "\n")
  	print("pc    ", hex(u.pc), "\n")
  	print("flags ", hex(u.flags), "\n")
  	print("cs    ", hex(u.cs), "\n")
  	print("fs    ", hex(u.fs), "\n")
  	print("gs    ", hex(u.gs), "\n")
  }
  
  func sigpanictramp() {}
  

View as plain text