# Copyright (c) 2019-2024 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0

CONFIG_PIC_DISABLE=y
CONFIG_LOAPIC=y
CONFIG_APIC_TSC_DEADLINE_TIMER=y
CONFIG_X2APIC=y
CONFIG_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_UART_CONSOLE=y
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=25000000
CONFIG_BUILD_OUTPUT_BIN=y
CONFIG_SHELL_BACKEND_SERIAL_INTERRUPT_DRIVEN=n
CONFIG_KERNEL_VM_SIZE=0x1000000
CONFIG_BUILD_NO_GAP_FILL=y
