File: assert.c

package info (click to toggle)
tillitis-tkey-libs 0.1.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 372 kB
  • sloc: ansic: 2,936; makefile: 89; sh: 72; asm: 46
file content (26 lines) | stat: -rw-r--r-- 566 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-FileCopyrightText: 2022 Tillitis AB <tillitis.se>
// SPDX-License-Identifier: BSD-2-Clause

#include <tkey/assert.h>
#include <tkey/lib.h>
#include <tkey/qemu_debug.h>

void assert_fail(const char *assertion, const char *file, unsigned int line,
		 const char *function)
{
	qemu_puts("assert: ");
	qemu_puts(assertion);
	qemu_puts(" ");
	qemu_puts(file);
	qemu_puts(":");
	qemu_putinthex(line);
	qemu_puts(" ");
	qemu_puts(function);
	qemu_lf();

	// Force illegal instruction to halt CPU
	asm volatile("unimp");

	// Not reached
	__builtin_unreachable();
}