62 linhas
1.5 KiB
Plaintext
62 linhas
1.5 KiB
Plaintext
# Copyright 2016 The Fuchsia Authors
|
|
#
|
|
# Use of this source code is governed by a MIT-style
|
|
# license that can be found in the LICENSE file or at
|
|
# https://opensource.org/licenses/MIT
|
|
|
|
assert(target_cpu == "arm")
|
|
|
|
import("//gnbuild/config.gni")
|
|
import("//gnbuild/generate_ld_script.gni")
|
|
|
|
module("arm") {
|
|
configs += [
|
|
"//kernel/kernel:enable_vm",
|
|
"//kernel/lib/console:enable_console",
|
|
"//kernel/lib/magenta:enable_magenta",
|
|
]
|
|
include_dirs = [
|
|
"//kernel/dev/interrupt/include",
|
|
"//kernel/lib/heap/include",
|
|
"//kernel/lib/io/include",
|
|
"//kernel/lib/libc/include",
|
|
"//kernel/lib/magenta/include",
|
|
"//kernel/lib/user_copy/include",
|
|
"//system/ulib/magenta/include",
|
|
]
|
|
|
|
# These defines would be ideally defined as a config, but they're currently
|
|
# also shared by the ld script target and as such has to be defined as
|
|
# variable.
|
|
defines = kernel_defines
|
|
sources = [
|
|
"arm/arch.c",
|
|
"arm/asm.S",
|
|
"arm/cache-ops.S",
|
|
"arm/cache.c",
|
|
"arm/debug.c",
|
|
"arm/exceptions.S",
|
|
"arm/faults.c",
|
|
"arm/fpu.c",
|
|
"arm/mmu.c",
|
|
"arm/ops.S",
|
|
"arm/start.S",
|
|
"arm/thread.c",
|
|
"arm/uspace_entry.S",
|
|
]
|
|
deps = [
|
|
":onesegment_ld",
|
|
]
|
|
if (enable_smp) {
|
|
include_dirs += [ "//kernel/dev/interrupt/include" ]
|
|
sources += [ "arm/mp.c" ]
|
|
deps += [ "//kernel/dev/interrupt/arm_gic" ]
|
|
}
|
|
}
|
|
|
|
generate_ld_script("onesegment_ld") {
|
|
input = "system-onesegment.ld"
|
|
output = "${root_gen_dir}/system-onesegment.ld"
|
|
defines = kernel_defines
|
|
}
|