// Copyright 2016 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef ZIRCON_CRASHLOGGER_H_
#define ZIRCON_CRASHLOGGER_H_

#include <stdint.h>

#define ZX_CRASHLOGGER_REQUEST_SELF_BT_MAGIC ((uint64_t)0xee726573756d65ee)

// Invoke this function to cause crashlogger to print a backtrace
// and resume the thread without killing the process.

static inline void zx_crashlogger_request_backtrace(void) {
#ifdef __x86_64__
    __asm__ ("int3" : : "a" (ZX_CRASHLOGGER_REQUEST_SELF_BT_MAGIC));
#endif
#ifdef __aarch64__
    // This is what gdb uses.
    __asm__ ("mov x0, %0\n"
             "\tbrk 0"
             : : "r" (ZX_CRASHLOGGER_REQUEST_SELF_BT_MAGIC) : "x0");
#endif
}

#endif // ZIRCON_CRASHLOGGER_H_
