Update copyright year range in all GDB files.
[deliverable/binutils-gdb.git] / sim / testsuite / sim / or1k / or1k-asm-test-env.h
CommitLineData
702d582e
PG
1/* Testsuite macros for OpenRISC.
2
b811d2c2 3 Copyright (C) 2017-2020 Free Software Foundation, Inc.
702d582e
PG
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>. */
17
18#ifndef OR1K_ASM_TEST_ENV_H
19#define OR1K_ASM_TEST_ENV_H
20
21#include "or1k-asm.h"
22#include "or1k-asm-test.h"
23
24 .macro STANDARD_TEST_HEADER
25 /* Without the "a" (allocatable) flag, this section gets some
26 default flags and is discarded by objcopy when flattening to
27 the binary file. */
28 .section .exception_vectors, "ax"
29 .org 0x100
30 .global _start
31_start:
32 /* Clear R0 on start-up. There is no guarantee that R0 is hardwired
33 to zero and indeed it is not when simulating. */
34 CLEAR_REG r0
35 OR1K_DELAYED_NOP(l.j test_startup)
36 .section .text
37test_startup:
38 .endm
39
40 .macro STANDARD_TEST_BODY
41 LOAD_IMMEDIATE STACK_POINTER_R1, stack_begin
42 CLEAR_BSS r3, r4
43 CALL r3, start_tests
44 EXIT_SIMULATION_WITH_IMMEDIATE_EXIT_CODE SEC_SUCCESS
45 .section .stack
46 .space 4096 /* We need more than EXCEPTION_STACK_SKIP_SIZE bytes. */
47stack_begin:
48 .endm
49
50 .macro STANDARD_TEST_ENVIRONMENT
51 /* One of the test cases needs to do some tests before setting up
52 the stack and so on. That's the reason this macro is split into
53 2 parts allowing the caller to inject code between the 2
54 initialisation phases. */
55 STANDARD_TEST_HEADER
56 STANDARD_TEST_BODY
57 .endm
58
59#endif /* OR1K_ASM_TEST_ENV_H */
This page took 0.136193 seconds and 4 git commands to generate.