blob: 73588151f5d13d87020658280d1d447a7d200390 [file] [log] [blame]
# Copyright 2019 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
declare_args() {
# Maximum number of CPUs the kernel will run on (others will be ignored).
smp_max_cpus = 32
if (current_cpu == "arm64") {
smp_max_cpus = 16
}
# Virtual address where the kernel is mapped statically. This is the
# base of addresses that appear in the kernel symbol table. At runtime
# KASLR relocation processing adjusts addresses in memory from this base
# to the actual runtime virtual address.
if (current_cpu == "arm64") {
kernel_base = "0xffffffff00000000"
} else if (current_cpu == "x64") {
kernel_base = "0xffffffff80100000" # Has KERNEL_LOAD_OFFSET baked into it.
}
# Virtual address where the kernel address space begins.
# Below this is the user address space.
if (current_cpu == "arm64") {
kernel_aspace_base = "0xffff000000000000"
} else if (current_cpu == "x64") {
kernel_aspace_base = "0xffffff8000000000UL" # -512GB
}
# Enable kernel lock dependency tracking.
enable_lock_dep = false
# Disable fair scheduler by default on all architectures.
# ZX-3959: Disable by default until E2E tests stabilize.
enable_fair_scheduler = false
# Enable detailed scheduler traces.
detailed_scheduler_tracing = false
# Enable userspace PCI and disable kernel PCI.
enable_user_pci = false
# Extra macro definitions for kernel code, e.g. "DISABLE_KASLR",
# "ENABLE_KERNEL_LL_DEBUG".
kernel_extra_defines = []
}
declare_args() {
# Enable kernel lock dependency tracking tests. By default this is
# enabled when tracking is enabled, but can also be eanbled independently
# to assess whether the tests build and *fail correctly* when lockdep is
# disabled.
enable_lock_dep_tests = enable_lock_dep
}