source: mainline/boot/arch/arm64/Makefile.inc@ c486f83

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since c486f83 was 69b6dd1f, checked in by Jakub Jermář <jakub@…>, 6 years ago

arm64: Add arm64virt uspace driver

  • Property mode set to 100644
File size: 2.9 KB
Line 
1#
2# Copyright (c) 2015 Petr Pavlu
3# All rights reserved.
4#
5# Redistribution and use in source and binary forms, with or without
6# modification, are permitted provided that the following conditions
7# are met:
8#
9# - Redistributions of source code must retain the above copyright
10# notice, this list of conditions and the following disclaimer.
11# - Redistributions in binary form must reproduce the above copyright
12# notice, this list of conditions and the following disclaimer in the
13# documentation and/or other materials provided with the distribution.
14# - The name of the author may not be used to endorse or promote products
15# derived from this software without specific prior written permission.
16#
17# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27#
28
29BOOT_OUTPUT = image.boot
30POST_OUTPUT = $(ROOT_PATH)/image.iso
31POSTBUILD = Makefile.grub
32GRUB_LOADER = chainloader
33
34BFD_NAME = elf64-littleaarch64
35# Request binary BFD output. The ARM64 port manually prepares the .text
36# section to look as a PE file than can be loaded on EFI systems.
37BFD_OUTPUT = binary
38BFD_ARCH = aarch64
39
40BITS = 64
41ENDIANESS = LE
42
43# UEFI binaries should be relocatable, the EFI boot service LoadImage() will
44# rebase the boot file using the .reloc information in the image if it cannot
45# load the binary at its preferred address. The ARM64 port does not provide this
46# information in its PE file (that would require manually creating it) but
47# instead the boot code is compiled with the -fpic option and the bootloader
48# relocates itself at runtime.
49#
50# N.B. The UEFI guarantees for AArch64 that during boot time the primary
51# processor is in the execution mode that has unaligned access enabled. The
52# -mstrict-align option is therefore not needed.
53EXTRA_CFLAGS = -fpic -fvisibility=hidden
54EXTRA_LDFLAGS = -Wl,-shared
55
56ifeq ($(MACHINE), virt)
57 RD_DRVS_ESSENTIAL += \
58 char/pl011 \
59 intctl/gicv2 \
60 platform/arm64virt
61endif
62
63SOURCES = \
64 arch/$(BARCH)/src/asm.S \
65 arch/$(BARCH)/src/main.c \
66 arch/$(BARCH)/src/relocate.c \
67 $(COMPS).o \
68 genarch/src/efi.c \
69 generic/src/gzip.c \
70 generic/src/inflate.c \
71 generic/src/kernel.c \
72 generic/src/memstr.c \
73 generic/src/payload.c \
74 generic/src/printf.c \
75 generic/src/printf_core.c \
76 generic/src/str.c \
77 generic/src/tar.c \
78 generic/src/version.c \
79 generic/src/vprintf.c
Note: See TracBrowser for help on using the repository browser.