23 lines
602 B
C
23 lines
602 B
C
/*
|
|
* Copyright (C) 2020 Embecosm Limited
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
#include <machine/syscall.h>
|
|
#include "semihost_syscall.h"
|
|
|
|
#define ADP_Stopped_ApplicationExit 0x20026
|
|
|
|
/* Exit a program without cleaning up files. */
|
|
void
|
|
_exit (int exit_status)
|
|
{
|
|
#if __riscv_xlen == 32
|
|
syscall_errno (SEMIHOST_exit, (long *) ADP_Stopped_ApplicationExit);
|
|
#else
|
|
/* The semihosting exit operation only allows 64-bit targets to report the
|
|
exit code. */
|
|
long data_block[] = {ADP_Stopped_ApplicationExit, exit_status};
|
|
syscall_errno (SEMIHOST_exit, data_block);
|
|
#endif
|
|
while (1);
|
|
}
|