Index: HelenOS.config
===================================================================
--- HelenOS.config	(revision 4b8f1c34c25b81932a91b8e81daa5fcd3edea446)
+++ HelenOS.config	(revision 27fb3d6f9efd0c4396c87c135ff58e0b7b2e6766)
@@ -1,4 +1,4 @@
 #
-# Copyright (c) 2006 Ondrej Palkovsky 
+# Copyright (c) 2006 Ondrej Palkovsky
 # All rights reserved.
 #
@@ -27,7 +27,8 @@
 #
 
-## General configuration directives
-
-# Platform
+
+## General platform options
+
+% Platform
 @ "amd64" AMD64/Intel EM64T (PC)
 @ "arm32" ARM 32-bit
@@ -41,5 +42,5 @@
 ! PLATFORM (choice)
 
-# Machine
+% Machine type
 @ "msim" MSIM
 @ "simics" Simics
@@ -48,10 +49,35 @@
 ! [PLATFORM=mips32] MACHINE (choice)
 
-# Machine type
+% Machine type
 @ "i460GX" i460GX chipset machine
 @ "ski" Ski ia64 simulator
 ! [PLATFORM=ia64] MACHINE (choice)
 
-# Compiler
+% CPU type
+@ "pentium4" Pentium 4
+@ "pentium3" Pentium 3
+@ "core" Core Solo/Duo
+@ "athlon-xp" Athlon XP
+@ "athlon-mp" Athlon MP
+! [PLATFORM=ia32|PLATFORM=ia32xen] MACHINE (choice)
+
+% CPU type
+@ "opteron" Opteron
+! [PLATFORM=amd64] MACHINE (choice)
+
+% CPU type
+@ "us" UltraSPARC I-II subarchitecture
+@ "us3" UltraSPARC III-IV subarchitecture
+! [PLATFORM=sparc64] MACHINE (choice)
+
+% Ramdisk format
+@ "tmpfs" TMPFS image
+@ "fat" FAT16 image
+! RDFMT (choice)
+
+
+## Compiler options
+
+% Compiler
 @ "gcc_cross" GCC Cross-compiler
 @ "gcc_native" GCC Native
@@ -60,5 +86,5 @@
 ! [PLATFORM=amd64|PLATFORM=ia32|PLATFORM=ia32xen] COMPILER (choice)
 
-# Compiler
+% Compiler
 @ "gcc_cross" GCC Cross-compiler
 @ "gcc_native" GCC Native
@@ -66,5 +92,5 @@
 ! [PLATFORM=ia64] COMPILER (choice)
 
-# Compiler
+% Compiler
 @ "gcc_cross" GCC Cross-compiler
 @ "gcc_native" GCC Native
@@ -72,9 +98,124 @@
 ! [PLATFORM=sparc64] COMPILER (choice)
 
-# Compiler
+% Compiler
 @ "gcc_cross" GCC Cross-compiler
 @ "gcc_native" GCC Native
 ! [PLATFORM=arm32|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=ppc64] COMPILER (choice)
 
-# Debug build
+
+## Debug build options
+
+% Debug build
 ! CONFIG_DEBUG (y/n)
+
+
+## Kernel features options
+
+% Support for SMP
+! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=ia32xen|PLATFORM=sparc64|PLATFORM=ia64] CONFIG_SMP (y/n)
+
+% Improved support for hyperthreading
+! [(PLATFORM=ia32|PLATFORM=amd64|PLATFORM=ia32xen)&CONFIG_SMP=y] CONFIG_HT (y/n)
+
+% Simics BIOS AP boot fix
+! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_SMP=y] CONFIG_SIMICS_FIX (y/n)
+
+% Lazy FPU context switching
+! [(PLATFORM=mips32&MACHINE!=msim&MACHINE!=simics)|PLATFORM=amd64|PLATFORM=ia32|PLATFORM=ia64|PLATFORM=sparc64|PLATFORM=ia32xen] CONFIG_FPU_LAZY (y/n)
+
+% Use VHPT
+! [PLATFORM=ia64] CONFIG_VHPT (n/y)
+
+% Use TSB
+! [PLATFORM=sparc64] CONFIG_TSB (y/n)
+
+% Support for Z8530 serial port
+! [PLATFORM=sparc64] CONFIG_Z8530 (y/n)
+
+% Support for NS16550 serial port
+! [PLATFORM=sparc64|(PLATFORM=ia64&MACHINE!=ski)] CONFIG_NS16550 (n/y)
+
+% Support for Serengeti console
+! [PLATFORM=sparc64] CONFIG_SGCN (y/n)
+
+% IOSapic on default address support
+! [PLATFORM=ia64&MACHINE!=ski] CONFIG_IOSAPIC (y/n)
+
+% Interrupt-driven driver for Legacy Keyboard?
+! [CONFIG_NS16550=n&CONFIG_IOSAPIC=y&MACHINE!=ski] CONFIG_I8042_INTERRUPT_DRIVEN (y/n)
+
+% Interrupt-driven driver for NS16550?
+! [CONFIG_NS16550=y&((PLATFORM!=ia64)|CONFIG_IOSAPIC=y)&MACHINE!=ski] CONFIG_NS16550_INTERRUPT_DRIVEN (y/n)
+
+% Virtually indexed D-cache support
+! [PLATFORM=sparc64] CONFIG_VIRT_IDX_DCACHE (y/n)
+
+% Support for userspace debuggers
+! CONFIG_UDEBUG (n/y)
+
+% Kernel console support
+! CONFIG_KCONSOLE (y/n)
+
+% Detailed kernel logging
+! CONFIG_LOG (n/y)
+
+% Deadlock detection support for spinlocks
+! [CONFIG_DEBUG=y&CONFIG_SMP=y] CONFIG_DEBUG_SPINLOCK (y/n)
+
+% Watchpoint on rewriting AS with zero
+! [CONFIG_DEBUG=y&(PLATFORM=amd64|PLATFORM=ia32|PLATFORM=ia32xen)] CONFIG_DEBUG_AS_WATCHPOINT (y/n)
+
+% Save all interrupt registers
+! [CONFIG_DEBUG=y&(PLATFORM=amd64|PLATFORM=mips32|PLATFORM=ia32|PLATFORM=ia32xen)] CONFIG_DEBUG_ALLREGS (y/n)
+
+% Compile kernel tests
+! CONFIG_TEST (y/n)
+
+
+## Hardware support
+
+% Framebuffer support
+! [(PLATFORM=mips32&MACHINE=lgxemul)|(PLATFORM=mips32&MACHINE=bgxemul)|(PLATFORM=ia32)|(PLATFORM=amd64)|(PLATFORM=arm32)] CONFIG_FB (y/n)
+
+% Framebuffer width
+@ "640"
+@ "800"
+@ "1024"
+@ "1152"
+@ "1280"
+@ "1400"
+@ "1440"
+@ "1600"
+@ "2048"
+! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_FB=y] CONFIG_VESA_WIDTH (choice)
+
+% Framebuffer height
+@ "480"
+@ "600"
+@ "768"
+@ "852"
+@ "900"
+@ "960"
+@ "1024"
+@ "1050"
+@ "1200"
+@ "1536"
+! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_FB=y] CONFIG_VESA_HEIGHT (choice)
+
+% Framebuffer depth
+@ "8"
+@ "16"
+@ "24"
+! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_FB=y] CONFIG_VESA_BPP (choice)
+
+% Start AP processors by the loader
+! [PLATFORM=sparc64] CONFIG_SMP (y/n)
+
+% Use Block Address Translation by the loader
+! [PLATFORM=ppc32] CONFIG_BAT (y/n)
+
+% Preserve A.OUT header in isofs.b
+! [PLATFORM=sparc64] CONFIG_AOUT_ISOFS_B (y/n)
+
+% External ramdisk
+! [PLATFORM=sparc64] CONFIG_RD_EXTERNAL (y/n)
