summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386/pc386/startup/bsp_fatal_halt.c
blob: 07bbd793e0e76512a566c122779e8bd411c43fcd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/**
 *  COPYRIGHT (c) 2016.
 *  On-Line Applications Research Corporation (OAR).
 *
 *  The license and distribution terms for this file may be
 *  found in the file LICENSE in this distribution or at
 *  http://www.rtems.org/license/LICENSE.
 */

#include <bsp.h>

void _CPU_Fatal_halt(uint32_t source, uint32_t error)
{
  __asm__ volatile (
         "cli\n\t"
	 "movl %0,%%eax\n\t"
	 "hlt\n\t"
         : "=r" ((error))
         : "0" ((error))
  );
  #ifdef __GNUC__
    __builtin_unreachable();
  #endif
}