xref: /freebsd/sys/kern/firmw.S (revision c2e0d56f5e493a8514324fd5e062ddc99a68b599)
1a0953903SJohn Baldwin/*-
2a0953903SJohn Baldwin * SPDX-License-Identifier: BSD-2-Clause
3a0953903SJohn Baldwin *
4a0953903SJohn Baldwin * Copyright (c) 2020 John Baldwin <jhb@FreeBSD.org>
5a0953903SJohn Baldwin *
6a0953903SJohn Baldwin * This software was developed by SRI International and the University of
7a0953903SJohn Baldwin * Cambridge Computer Laboratory (Department of Computer Science and
8a0953903SJohn Baldwin * Technology) under DARPA contract HR0011-18-C-0016 ("ECATS"), as part of the
9a0953903SJohn Baldwin * DARPA SSITH research programme.
10a0953903SJohn Baldwin *
11a0953903SJohn Baldwin * Redistribution and use in source and binary forms, with or without
12a0953903SJohn Baldwin * modification, are permitted provided that the following conditions
13a0953903SJohn Baldwin * are met:
14a0953903SJohn Baldwin * 1. Redistributions of source code must retain the above copyright
15a0953903SJohn Baldwin *    notice, this list of conditions and the following disclaimer.
16a0953903SJohn Baldwin * 2. Redistributions in binary form must reproduce the above copyright
17a0953903SJohn Baldwin *    notice, this list of conditions and the following disclaimer in the
18a0953903SJohn Baldwin *    documentation and/or other materials provided with the distribution.
19a0953903SJohn Baldwin *
20a0953903SJohn Baldwin * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
21a0953903SJohn Baldwin * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22a0953903SJohn Baldwin * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23a0953903SJohn Baldwin * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
24a0953903SJohn Baldwin * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25a0953903SJohn Baldwin * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26a0953903SJohn Baldwin * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27a0953903SJohn Baldwin * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28a0953903SJohn Baldwin * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29a0953903SJohn Baldwin * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30a0953903SJohn Baldwin * SUCH DAMAGE.
31a0953903SJohn Baldwin */
32a0953903SJohn Baldwin
33a0953903SJohn Baldwin#include <sys/cdefs.h>
34a0953903SJohn Baldwin
35a0953903SJohn Baldwin#define	FIRMW_START(S)	__CONCAT(_binary_, __CONCAT(S, _start))
36a0953903SJohn Baldwin#define	FIRMW_END(S)	__CONCAT(_binary_, __CONCAT(S, _end))
37a0953903SJohn Baldwin
38a0953903SJohn Baldwin	.section rodata, "a", %progbits
39a0953903SJohn Baldwin	.globl	FIRMW_START(FIRMW_SYMBOL)
40a0953903SJohn Baldwin	.type	FIRMW_START(FIRMW_SYMBOL), %object
41a0953903SJohn BaldwinFIRMW_START(FIRMW_SYMBOL):
428a6ab0f7SJessica Clarke	.incbin	FIRMW_FILE
43a0953903SJohn Baldwin	.size	FIRMW_START(FIRMW_SYMBOL), . - FIRMW_START(FIRMW_SYMBOL)
44a0953903SJohn Baldwin	.globl	FIRMW_END(FIRMW_SYMBOL)
45a0953903SJohn Baldwin	.type	FIRMW_END(FIRMW_SYMBOL), %object
46a0953903SJohn BaldwinFIRMW_END(FIRMW_SYMBOL):
47a0953903SJohn Baldwin	.size	FIRMW_END(FIRMW_SYMBOL), . - FIRMW_END(FIRMW_SYMBOL)
48*c2e0d56fSAndrew Turner
49*c2e0d56fSAndrew Turner#if defined(__aarch64__)
50*c2e0d56fSAndrew Turner#include <machine/asm.h>
51*c2e0d56fSAndrew Turner#include <sys/elf_common.h>
52*c2e0d56fSAndrew TurnerGNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL)
53*c2e0d56fSAndrew Turner#endif
54