Files
Deshab-OS/CODE/linux/configs/utsm_x86_64_defconfig
T

260 lines
5.7 KiB
Plaintext
Raw Normal View History

2026-07-28 12:00:02 +08:00
#
# Linux 6.6 LTS minimal config for UTSM dual-kernel guest
#
# Build: make utsm_x86_64_defconfig && make -j$(nproc) bzImage
#
# Key design choices:
# - 64-bit only (CONFIG_64BIT=y)
# - Serial console (8250/16550 at 0x3F8)
# - virtio: console, block, net, fs (for UTSM host backends)
# - EFI stub disabled (UTSM uses custom VMX boot, not EFI)
# - Built-in drivers (no module loading needed for Phase 1)
# - No SMP (single CPU for Phase 1 simplicity)
# - printk to serial for debugging
CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_MMAP_RND_BITS_MIN=28
CONFIG_ARCH_MMAP_RND_BITS_MAX=32
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MMAP_RND_BITS=28
CONFIG_SMP=y
CONFIG_NR_CPUS=4
CONFIG_X86_64_SMP=y
CONFIG_SCHED_MC=y
CONFIG_SCHED_SMT=y
# Processor type
CONFIG_MK8=y
CONFIG_X86_CPU=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_PROCESSOR_SELECT=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
# Memory
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_DIRECT_GBPAGES=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_X86_PMEM_LEGACY_DEVICE=y
CONFIG_X86_PMEM_LEGACY=y
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_X86_RESERVE_LOW=64
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_ARCH_RANDOM=y
CONFIG_X86_SMAP=y
CONFIG_X86_INTEL_UMIP=y
CONFIG_X86_UMIP=y
# Power management (minimal)
CONFIG_PM=y
CONFIG_PM_CLK=y
# Bus options
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCI_MSI=y
CONFIG_PCI_MSI_IRQ_DOMAIN=y
CONFIG_PCI_LABEL=y
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
#Executable file formats
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_BINFMT_MISC=y
# Networking
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_SYN_COOKIES=y
CONFIG_TCP_CONG_CUBIC=y
# Device Drivers
# Serial console (critical: UTSM captures serial output)
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK_SERIAL=y
# PCI host bridge
CONFIG_PCI_HOST_GENERIC=y
# virtio (critical: UTSM provides virtio backends)
CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_INPUT=y
CONFIG_VIRTIO_MMIO=y
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
# virtio console (Phase 1.4: UTSM↔Linux console)
CONFIG_VIRTIO_CONSOLE=y
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_VIRTIO=y
2026-08-09 22:14:01 +08:00
# DRM + virtio-gpu (VSCode integration Phase 3: guest graphical output)
# Provides /dev/dri/card0 for Xorg modesetting + scanout to host framebuffer
CONFIG_DRM=y
CONFIG_DRM_VIRTIO_GPU=y
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_FB=y
CONFIG_FB_DEFERRED_IO=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FB_TILEBLITTING=y
# VT + console (X server needs /dev/tty0 + VT_SWITCH)
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
# Input evdev (VSCode integration Phase 2: virtio-input event devices)
# Required for /dev/input/eventX — X server evdev driver reads these
CONFIG_INPUT_EVDEV=y
# OverlayFS (VSCode integration Phase 4: rw layer over read-only rootfs)
# /sbin/init mounts overlay -o lowerdir=/,upperdir=/tmp/rw/upper,workdir=/tmp/rw/work /
CONFIG_OVERLAY_FS=y
# tmpfs xattr (overlayfs workdir needs xattr support)
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS_POSIX_ACL=y
2026-07-28 12:00:02 +08:00
# UTSM dual-kernel hypercall and IPC driver (Phase 1.3)
CONFIG_UTSM_HCALL=y
# virtio block (Phase 2: block device)
CONFIG_VIRTIO_BLK=y
CONFIG_VIRTIO_BLK_SCSI=y
# virtio net (Phase 2: network)
CONFIG_VIRTIO_NET=y
# virtio-fs (Phase 1.5: shared filesystem)
CONFIG_VIRTIO_FS=y
CONFIG_FUSE_FS=y
# Filesystems
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_FAT_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_TMPFS=y
CONFIG_PROC_FS=y
CONFIG_PROC_SYSCTL=y
CONFIG_SYSFS=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# Block devices
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_LOOP=y
# Input (minimal)
CONFIG_INPUT=y
CONFIG_INPUT_KEYBOARD=y
# RTC
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
# PNP/ACPI (minimal for QEMU)
CONFIG_ACPI=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_FAN=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
# File systems
CONFIG_FHANDLE=y
# Kernel hacking
CONFIG_PRINTK=y
CONFIG_PRINTK_TIME=y
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_RODATA=y
CONFIG_DEBUG_SET_MODULE_RONX=y
CONFIG_DEBUG_WX=y
# Security (minimal)
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
# Crypto (minimal)
CONFIG_CRYPTO=y
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_SHA256=y
# Library routines
CONFIG_CRC16=y
CONFIG_CRC32=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
# Initramfs
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# No module support (build everything in for Phase 1)
# CONFIG_MODULES is not set
# No EFI stub (UTSM uses custom VMX boot)
# CONFIG_EFI_STUB is not set
# CONFIG_EFI is not set
# Boot protocol
CONFIG_EARLY_PRINTK_SERIAL=y