2
* GRUB -- GRand Unified Bootloader
3
* Copyright (C) 2008,2009 Free Software Foundation, Inc.
5
* GRUB 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.
10
* GRUB 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.
15
* You should have received a copy of the GNU General Public License
16
* along with GRUB. If not, see <http://www.gnu.org/licenses/>.
20
* Copyright (c) 1997-2000 Doug Rabson
21
* All rights reserved.
23
* Redistribution and use in source and binary forms, with or without
24
* modification, are permitted provided that the following conditions
26
* 1. Redistributions of source code must retain the above copyright
27
* notice, this list of conditions and the following disclaimer.
28
* 2. Redistributions in binary form must reproduce the above copyright
29
* notice, this list of conditions and the following disclaimer in the
30
* documentation and/or other materials provided with the distribution.
32
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
33
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
34
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
35
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
36
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
37
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
38
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
39
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
40
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
41
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
44
* $FreeBSD: stable/8/sys/sys/linker.h 199583 2009-11-20 15:27:52Z jhb $
47
#ifndef GRUB_FREEBSD_LINKER_CPU_HEADER
48
#define GRUB_FREEBSD_LINKER_CPU_HEADER 1
50
#define FREEBSD_MODINFO_END 0x0000 /* End of list */
51
#define FREEBSD_MODINFO_NAME 0x0001 /* Name of module (string) */
52
#define FREEBSD_MODINFO_TYPE 0x0002 /* Type of module (string) */
53
#define FREEBSD_MODINFO_ADDR 0x0003 /* Loaded address */
54
#define FREEBSD_MODINFO_SIZE 0x0004 /* Size of module */
55
#define FREEBSD_MODINFO_EMPTY 0x0005 /* Has been deleted */
56
#define FREEBSD_MODINFO_ARGS 0x0006 /* Parameters string */
57
#define FREEBSD_MODINFO_METADATA 0x8000 /* Module-specfic */
59
#define FREEBSD_MODINFOMD_AOUTEXEC 0x0001 /* a.out exec header */
60
#define FREEBSD_MODINFOMD_ELFHDR 0x0002 /* ELF header */
61
#define FREEBSD_MODINFOMD_SSYM 0x0003 /* start of symbols */
62
#define FREEBSD_MODINFOMD_ESYM 0x0004 /* end of symbols */
63
#define FREEBSD_MODINFOMD_DYNAMIC 0x0005 /* _DYNAMIC pointer */
64
#define FREEBSD_MODINFOMD_ENVP 0x0006 /* envp[] */
65
#define FREEBSD_MODINFOMD_HOWTO 0x0007 /* boothowto */
66
#define FREEBSD_MODINFOMD_KERNEND 0x0008 /* kernend */
67
#define FREEBSD_MODINFOMD_SHDR 0x0009 /* section header table */
68
#define FREEBSD_MODINFOMD_NOCOPY 0x8000 /* don't copy this metadata to the kernel */
70
#define FREEBSD_MODINFOMD_SMAP 0x1001
72
#define FREEBSD_MODINFOMD_DEPLIST (0x4001 | FREEBSD_MODINFOMD_NOCOPY) /* depends on */