Changeset 1c6b3a2 in mainline


Ignore:
Timestamp:
2009-03-07T20:36:15Z (15 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
9482bf0b
Parents:
1515522
Message:

Improve the configuration file.

  • Support for easy configuration with sane defaults.
  • Fix the ambiguous MACHINE variable by introducing the PROCESSOR variable.
  • Eliminate some unnecessarily detailed questions by providing defaults for the Serengeti machine.
  • Introduce CONFIG_HID_IN and CONFIG_HID_OUT variables. They help to limit the number of offered HID devices. In the future, they can be also used to configure the way how the serial controller devices are connected to the keyboard / serial line modules on some platforms where we can't autodetect.
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • HelenOS.config

    r1515522 r1c6b3a2  
    2828#
    2929
     30## Configuration options
     31
     32% Assume sane defaults where sensible?
     33! DEFAULTS (y/n)
    3034
    3135## General platform options
     
    5761! [PLATFORM=ia64] MACHINE (choice)
    5862
     63% Machine type
     64@ "generic" Generic Sun workstation or server
     65@ "serengeti" Serengeti system
     66! [PLATFORM=sparc64] MACHINE (choice)
     67
    5968% CPU type
    6069@ "pentium4" Pentium 4
     
    6372@ "athlon_xp" Athlon XP
    6473@ "athlon_mp" Athlon MP
    65 ! [PLATFORM=ia32] MACHINE (choice)
     74! [DEFAULTS=n&PLATFORM=ia32] PROCESSOR (choice)
     75
     76% CPU type
     77@ "pentium4" Pentium 4
     78! [DEFAULTS=y&PLATFORM=ia32] PROCESSOR (choice)
    6679
    6780% CPU type
    6881@ "opteron" Opteron
    69 ! [PLATFORM=amd64] MACHINE (choice)
     82! [PLATFORM=amd64] PROCESSOR (choice)
    7083
    7184% CPU type
    7285@ "us" UltraSPARC I-II subarchitecture
    7386@ "us3" UltraSPARC III-IV subarchitecture
    74 ! [PLATFORM=sparc64] MACHINE (choice)
     87! [PLATFORM=sparc64&MACHINE=generic] PROCESSOR (choice)
     88
     89% CPU type
     90@ "us3"
     91! [PLATFORM=sparc64&MACHINE=serengeti] PROCESSOR (choice)
    7592
    7693% Ramdisk format
     
    215232@ "icc_native" ICC Native
    216233@ "suncc_native" Sun Studio C Compiler
    217 ! [PLATFORM=amd64|PLATFORM=ia32] COMPILER (choice)
     234! [DEFAULTS=n&(PLATFORM=amd64|PLATFORM=ia32)] COMPILER (choice)
    218235
    219236% Compiler
     
    221238@ "gcc_native" GCC Native
    222239@ "icc_native" ICC Native
    223 ! [PLATFORM=ia64] COMPILER (choice)
     240! [DEFAULTS=n&PLATFORM=ia64] COMPILER (choice)
    224241
    225242% Compiler
     
    227244@ "gcc_native" GCC Native
    228245@ "suncc_native" Sun Studio C Compiler
    229 ! [PLATFORM=sparc64] COMPILER (choice)
     246! [DEFAULTS=n&PLATFORM=sparc64] COMPILER (choice)
    230247
    231248% Compiler
    232249@ "gcc_cross" GCC Cross-compiler
    233250@ "gcc_native" GCC Native
    234 ! [PLATFORM=arm32|PLATFORM=mips32|PLATFORM=ppc32] COMPILER (choice)
    235 
     251! [DEFAULTS=n&(PLATFORM=arm32|PLATFORM=mips32|PLATFORM=ppc32)] COMPILER (choice)
     252
     253% Compiler
     254@ "gcc_cross" GCC Cross-compiler
     255! [DEFAULTS=y] COMPILER (choice)
    236256
    237257## Debug build options
    238258
    239259% Debug build
    240 ! CONFIG_DEBUG (y/n)
    241 
     260! [DEFAULTS=n]CONFIG_DEBUG (y/n)
     261% Debug build
     262! [DEFAULTS=y]CONFIG_DEBUG (y)
     263
     264% Deadlock detection support for spinlocks
     265! [DEFAULTS=n&CONFIG_DEBUG=y&CONFIG_SMP=y] CONFIG_DEBUG_SPINLOCK (y/n)
     266% Deadlock detection support for spinlocks
     267! [DEFAULTS=y&CONFIG_DEBUG=y&CONFIG_SMP=y] CONFIG_DEBUG_SPINLOCK (y)
    242268
    243269## Kernel configuration
    244270
    245271% Fences
    246 ! [PLATFORM=ia32&(MACHINE=athlon_xp|MACHINE=athlon_mp|MACHINE=pentium3)] CONFIG_FENCES_P3 (y)
     272! [PLATFORM=ia32&(PROCESSOR=athlon_xp|PROCESSOR=athlon_mp|PROCESSOR=pentium3)] CONFIG_FENCES_P3 (y)
    247273
    248274% Fences
    249 ! [PLATFORM=ia32&(MACHINE=pentium4|MACHINE=core)] CONFIG_FENCES_P4 (y)
     275! [PLATFORM=ia32&(PROCESSOR=pentium4|PROCESSOR=core)] CONFIG_FENCES_P4 (y)
    250276
    251277% Fences
     
    286312
    287313% Support for SMP
    288 ! [(PLATFORM=ia32&MACHINE!=athlon_xp)|PLATFORM=amd64|PLATFORM=sparc64|PLATFORM=ia64|(PLATFORM=mips32&MACHINE=msim)] CONFIG_SMP (y/n)
     314! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=sparc64|PLATFORM=ia64|(PLATFORM=mips32&MACHINE=msim)] CONFIG_SMP (y/n)
    289315
    290316% Improved support for hyperthreading
    291 ! [PLATFORM=amd64&CONFIG_SMP=y] CONFIG_HT (y/n)
    292 
     317! [DEFAULTS=n&PLATFORM=amd64&CONFIG_SMP=y] CONFIG_HT (y/n)
    293318% Improved support for hyperthreading
    294 ! [PLATFORM=ia32&MACHINE!=athlon_xp&MACHINE!=athlon_mp&MACHINE!=pentium3&CONFIG_SMP=y] CONFIG_HT (y/n)
     319! [DEFAULTS=y&PLATFORM=amd64&CONFIG_SMP=y] CONFIG_HT (y)
     320% Improved support for hyperthreading
     321! [DEFAULTS=n&PLATFORM=ia32&PROCESSOR!=athlon_xp&PROCESSOR!=athlon_mp&PROCESSOR!=pentium3&CONFIG_SMP=y] CONFIG_HT (y/n)
     322% Improved support for hyperthreading
     323! [DEFAULTS=y&PLATFORM=ia32&PROCESSOR!=athlon_xp&PROCESSOR!=athlon_mp&PROCESSOR!=pentium3&CONFIG_SMP=y] CONFIG_HT (y)
    295324
    296325% Lazy FPU context switching
    297 ! [CONFIG_FPU=y] CONFIG_FPU_LAZY (y/n)
     326! [DEFAULTS=n&CONFIG_FPU=y] CONFIG_FPU_LAZY (y/n)
     327% Lazy FPU context switching
     328! [DEFAULTS=y&CONFIG_FPU=y] CONFIG_FPU_LAZY (y)
    298329
    299330% Use VHPT
    300 ! [PLATFORM=ia64] CONFIG_VHPT (n/y)
     331! [DEFAULTS=n&PLATFORM=ia64] CONFIG_VHPT (n/y)
    301332
    302333% Use TSB
    303 ! [PLATFORM=sparc64] CONFIG_TSB (y/n)
     334! [DEFAULTS=n&PLATFORM=sparc64] CONFIG_TSB (y/n)
     335% Use TSB
     336! [DEFAULTS=y&PLATFORM=sparc64] CONFIG_TSB (y)
     337
     338% IO SAPIC on default address support
     339! [DEFAULTS=n&PLATFORM=ia64&MACHINE!=ski] CONFIG_IOSAPIC (y/n)
     340% IO SAPIC on default address support
     341! [DEFAULTS=y&PLATFORM=ia64&MACHINE!=ski] CONFIG_IOSAPIC (y)
     342
     343% Virtually indexed D-cache support
     344! [DEFAULTS=n&PLATFORM=sparc64] CONFIG_VIRT_IDX_DCACHE (y/n)
     345% Virtually indexed D-cache support
     346! [DEFAULTS=y&PLATFORM=sparc64] CONFIG_VIRT_IDX_DCACHE (y)
     347
     348% Support for userspace debuggers
     349! [DEFAULTS=n] CONFIG_UDEBUG (y/n)
     350% Support for userspace debuggers
     351! [DEFAULTS=y] CONFIG_UDEBUG (y)
     352
     353% Kernel console support
     354! [DEFAULTS=n] CONFIG_KCONSOLE (y/n)
     355% Kernel console support
     356! [DEFAULTS=y] CONFIG_KCONSOLE (y)
     357
     358% Detailed kernel logging
     359! [DEFAULTS=n] CONFIG_LOG (n/y)
     360
     361% Compile kernel tests
     362! [DEFAULTS=n] CONFIG_TEST (y/n)
     363% Compile kernel tests
     364! [DEFAULTS=y] CONFIG_TEST (y)
     365
     366## Hardware support
     367
     368% What is your input device?
     369@ "keyboard" Keyboard
     370@ "serial" Serial line
     371! CONFIG_HID_IN (choice)
     372
     373% What is your output device?
     374@ "monitor" Monitor
     375@ "serial" Serial line
     376! CONFIG_HID_OUT (choice)
    304377
    305378% i8042 controller support
    306 ! [PLATFORM=ia32|PLATFORM=amd64|(PLATFORM=ia64&MACHINE=i460GX)] CONFIG_I8042 (y/n)
     379! [CONFIG_HID_IN=keyboard&(PLATFORM=ia32|PLATFORM=amd64)] CONFIG_I8042 (y/n)
     380% i8042 controller support
     381! [CONFIG_HID_IN=keyboard&PLATFORM=ia64&MACHINE=i460GX] CONFIG_I8042 (y/n)
    307382
    308383% Support for NS16550 serial port
    309 ! [PLATFORM=sparc64] CONFIG_NS16550 (y/n)
    310 
     384! [CONFIG_HID_IN=serial|PLATFORM=sparc64] CONFIG_NS16550 (y/n)
    311385% Support for NS16550 serial port
    312 ! [PLATFORM=ia64&MACHINE!=ski] CONFIG_NS16550 (n/y)
     386! [CONFIG_HID_IN=serial&PLATFORM=ia64&MACHINE=i460GX] CONFIG_NS16550 (y/n)
    313387
    314388% Support for Z8530 serial port
     
    316390
    317391% Support for Serengeti console
    318 ! [PLATFORM=sparc64] CONFIG_SGCN (y/n)
     392! [CONFIG_HID_IN=serial&PLATFORM=sparc64&MACHINE=serengeti] CONFIG_SGCN (y/n)
    319393
    320394% PC keyboard support
    321 ! [PLATFORM=ia32|PLATFORM=amd64|(PLATFORM=ia64&MACHINE=i460GX)] CONFIG_PC_KBD (y/n)
     395! [CONFIG_HID_IN=keyboard&(PLATFORM=ia32|PLATFORM=amd64)] CONFIG_PC_KBD (y/n)
     396% PC keyboard support
     397! [CONFIG_HID_IN=keyboard&PLATFORM=ia64&MACHINE=i460GX] CONFIG_PC_KBD (y/n)
    322398
    323399% Sun keyboard support
    324 ! [PLATFORM=sparc64] CONFIG_SUN_KBD (y/n)
     400! [CONFIG_HID_IN=keyboard&PLATFORM=sparc64] CONFIG_SUN_KBD (y/n)
    325401
    326402% Serial line input module
    327 ! [PLATFORM=ia64&machine!=ski] CONFIG_SRLN (n/y)
     403! [CONFIG_HID_IN=serial] CONFIG_SRLN (y/n)
    328404
    329405% EGA support
    330 ! [PLATFORM=ia32|PLATFORM=amd64|(PLATFORM=ia64&MACHINE=i460GX)] CONFIG_EGA (y)
    331 
    332 % IOSapic on default address support
    333 ! [PLATFORM=ia64&MACHINE!=ski] CONFIG_IOSAPIC (y/n)
    334 
    335 % Virtually indexed D-cache support
    336 ! [PLATFORM=sparc64] CONFIG_VIRT_IDX_DCACHE (y/n)
    337 
    338 % Support for userspace debuggers
    339 ! CONFIG_UDEBUG (y/n)
    340 
    341 % Kernel console support
    342 ! CONFIG_KCONSOLE (y/n)
    343 
    344 % Detailed kernel logging
    345 ! CONFIG_LOG (n/y)
    346 
    347 % Deadlock detection support for spinlocks
    348 ! [CONFIG_DEBUG=y&CONFIG_SMP=y] CONFIG_DEBUG_SPINLOCK (y/n)
    349 
    350 % Compile kernel tests
    351 ! CONFIG_TEST (y/n)
    352 
    353 
    354 ## Hardware support
     406! [CONFIG_HID_OUT=monitor&(PLATFORM=ia32|PLATFORM=amd64)] CONFIG_EGA (y/n)
     407% EGA support
     408! [CONFIG_HID_OUT=monitor&PLATFORM=ia64&MACHINE=i460GX] CONFIG_EGA (y/n)
    355409
    356410% Framebuffer support
    357 ! [(PLATFORM=mips32&MACHINE=lgxemul)|(PLATFORM=mips32&MACHINE=bgxemul)|PLATFORM=ia32|PLATFORM=amd64|PLATFORM=arm32|(PLATFORM=sparc64&MACHINE=us3)] CONFIG_FB (y/n)
    358 
    359 % Framebuffer support
    360 ! [PLATFORM=ppc32|(PLATFORM=sparc64&MACHINE=us)] CONFIG_FB (y)
     411! [CONFIG_HID_OUT=monitor] CONFIG_FB (y/n)
    361412
    362413% Framebuffer width
     
    370421@ "1600"
    371422@ "2048"
    372 ! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_FB=y] CONFIG_VESA_WIDTH (choice)
     423! [DEFAULTS=n&(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_FB=y] CONFIG_VESA_WIDTH (choice)
     424
     425% Framebuffer width
     426@ "800"
     427! [DEFAULTS=y&(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_FB=y] CONFIG_VESA_WIDTH (choice)
    373428
    374429% Framebuffer height
     
    383438@ "1200"
    384439@ "1536"
    385 ! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_FB=y] CONFIG_VESA_HEIGHT (choice)
     440! [DEFAULTS=n&(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_FB=y] CONFIG_VESA_HEIGHT (choice)
     441
     442% Framebuffer height
     443@ "600"
     444! [DEFAULTS=y&(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_FB=y] CONFIG_VESA_HEIGHT (choice)
    386445
    387446% Framebuffer depth
     
    389448@ "16"
    390449@ "24"
    391 ! [(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_FB=y] CONFIG_VESA_BPP (choice)
     450! [DEFAULTS=n&(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_FB=y] CONFIG_VESA_BPP (choice)
     451
     452% Framebuffer depth
     453@ "16"
     454! [DEFAULTS=y&(PLATFORM=ia32|PLATFORM=amd64)&CONFIG_FB=y] CONFIG_VESA_BPP (choice)
    392455
    393456% Start AP processors by the loader
    394 ! [PLATFORM=sparc64&CONFIG_SMP=y] CONFIG_AP (y/n)
     457! [DEFAULTS=n&PLATFORM=sparc64&CONFIG_SMP=y] CONFIG_AP (y/n)
     458% Start AP processors by the loader
     459! [DEFAULTS=y&PLATFORM=sparc64&CONFIG_SMP=y] CONFIG_AP (y)
    395460
    396461% Use Block Address Translation by the loader
    397 ! [PLATFORM=ppc32] CONFIG_BAT (y/n)
     462! [DEFAULTS=n&PLATFORM=ppc32] CONFIG_BAT (y/n)
     463% Use Block Address Translation by the loader
     464! [DEFAULTS=y&PLATFORM=ppc32] CONFIG_BAT (y)
    398465
    399466% Preserve A.OUT header in isofs.b
    400 ! [PLATFORM=sparc64] CONFIG_AOUT_ISOFS_B (y/n)
     467! [PLATFORM=sparc64&MACHINE=generic] CONFIG_AOUT_ISOFS_B (y)
    401468
    402469% External ramdisk
     
    406473@ "us_qwerty" US QWERTY
    407474@ "us_dvorak" US Dvorak
    408 ! KBD_LAYOUT (choice)
     475! [DEFAULTS=n&CONFIG_HID_IN=keyboard] KBD_LAYOUT (choice)
     476% Keyboard layout
     477@ "us_qwerty" US QWERTY
     478! [DEFAULTS=y&CONFIG_HID_IN=keyboard] KBD_LAYOUT (choice)
  • kernel/arch/amd64/Makefile.inc

    r1515522 r1c6b3a2  
    4747#
    4848
    49 ifeq ($(MACHINE),opteron)
     49ifeq ($(PROCESSOR),opteron)
    5050        CMN2 := -march=opteron
    5151        GCC_CFLAGS += $(CMN2)
  • kernel/arch/ia32/Makefile.inc

    r1515522 r1c6b3a2  
    4646#
    4747
    48 ifeq ($(MACHINE),athlon_xp)
     48ifeq ($(PROCESSOR),athlon_xp)
    4949        CMN2 = -march=athlon-xp
    5050        SUNCC_CFLAGS += -xarch=ssea
    5151endif
    52 ifeq ($(MACHINE),athlon_mp)
     52ifeq ($(PROCESSOR),athlon_mp)
    5353        CMN2 = -march=athlon-mp
    5454        SUNCC_CFLAGS += xarch=ssea
    5555endif
    56 ifeq ($(MACHINE),pentium3)
     56ifeq ($(PROCESSOR),pentium3)
    5757        CMN2 = -march=pentium3
    5858        SUNCC_CFLAGS += -xarch=sse
    5959endif
    60 ifeq ($(MACHINE),pentium4)
     60ifeq ($(PROCESSOR),pentium4)
    6161        CMN2 = -march=pentium4
    6262        SUNCC_CFLAGS += -xarch=sse2
    6363endif
    64 ifeq ($(MACHINE),core)
     64ifeq ($(PROCESSOR),core)
    6565        CMN2 = -march=prescott
    6666        SUNCC_CFLAGS += -xarch=sse3
  • kernel/arch/sparc64/Makefile.inc

    r1515522 r1c6b3a2  
    4343DEFS += -D__64_BITS__
    4444
    45 ifeq ($(MACHINE),us)
     45ifeq ($(PROCESSOR),us)
    4646        DEFS += -DUS
    4747endif
    4848
    49 ifeq ($(MACHINE),us3)
     49ifeq ($(PROCESSOR),us3)
    5050        DEFS += -DUS3
    5151endif
Note: See TracChangeset for help on using the changeset viewer.