)]}'
{
  "commit": "d22472e6cc732174ca9147be3130ceb44e2f1748",
  "tree": "9f10707a90b4dd4634c03f6474c3d6c201b18d47",
  "parents": [
    "547edd129b4c60e7d1586fc3417f985577e8c92f"
  ],
  "author": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Fri Jul 13 23:02:28 2018 -0400"
  },
  "committer": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Fri Jul 13 23:17:59 2018 -0400"
  },
  "message": "x86: Use a KERNBASE address for the bootstack\n\nSince commit 20694dda54b5 (\"x86: Put the boot PMLs and stacks in BSS\"),\nwe have been unable to backtrace from kernel_init(), up until we are on\na stack from the kernel allocator.\n\nThe reason is that the kernel backtracer checks for framepointers above\nKERNBASE.  When we used an address from within the boot section, those\naddresses are at the bottom of the address space.  For instance, our\nstack page was around 0x50f000.\n\nWe can still use that page, which isn\u0027t present in the binary - we just\nneed to use the KERNBASE mapping for it.\n\nNote we can\u0027t use the normal BSS.  That gets zeroed out manually in\nkernel_init(), which is after we start using the stack.\n\nAlso note that we don\u0027t need to set the stacktop for the IDT right away.\nThat code was from before we had the kernel stack allocator.\n\nSigned-off-by: Barret Rhoden \u003cbrho@cs.berkeley.edu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bcde2df87d6648a7e673d8f4ab604e89c5fa7145",
      "old_mode": 33188,
      "old_path": "kern/arch/x86/entry64.S",
      "new_id": "61774cdaaeeb178e26acfe8879fac07e0e4596a0",
      "new_mode": 33188,
      "new_path": "kern/arch/x86/entry64.S"
    },
    {
      "type": "modify",
      "old_id": "b5af4030fd3b064f41138fd3532dbd13f554e59b",
      "old_mode": 33188,
      "old_path": "kern/arch/x86/trap.c",
      "new_id": "0e326a21cf4ba7f7595bc3a5b2b8aab49ae05f23",
      "new_mode": 33188,
      "new_path": "kern/arch/x86/trap.c"
    },
    {
      "type": "modify",
      "old_id": "92500e1605b89c9cd1bee78f913a3fb3c97c79a8",
      "old_mode": 33188,
      "old_path": "kern/include/pmap.h",
      "new_id": "b93158fd0751b93711af422eeec1b6f1e387f270",
      "new_mode": 33188,
      "new_path": "kern/include/pmap.h"
    }
  ]
}
