The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/i386/conf/NOTES

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 #
    2 # NOTES -- Lines that can be cut/pasted into kernel and hints configs.
    3 #
    4 # This file contains machine dependent kernel configuration notes.  For
    5 # machine independent notes, look in /sys/conf/NOTES.
    6 #
    7 # $FreeBSD: releng/5.2/sys/i386/conf/NOTES 123149 2003-12-04 19:57:56Z phk $
    8 #
    9 
   10 #
   11 # This directive is mandatory; it defines the architecture to be
   12 # configured for; in this case, the 386 family based IBM-PC and
   13 # compatibles.
   14 #
   15 machine         i386
   16 
   17 # 
   18 # We want LINT to cover profiling as well
   19 profile         2
   20 
   21 
   22 #####################################################################
   23 # SMP OPTIONS:
   24 #
   25 # The apic device enables the use of the I/O APIC for interrupt delivery.
   26 # The apic device can be used in both UP and SMP kernels, but is required
   27 # for SMP kernels.  Thus, the apic device is not strictly an SMP option,
   28 # but it is a prerequisite for SMP.
   29 #
   30 # Notes:
   31 #
   32 # Be sure to disable 'cpu I386_CPU' for SMP kernels.
   33 #
   34 # By default, mixed mode is used to route IRQ0 from the AT timer via
   35 # the 8259A master PIC through the ExtINT pin on the first I/O APIC.
   36 # This can be disabled via the NO_MIXED_MODE option.  In that case,
   37 # IRQ0 will be routed via an intpin on the first I/O APIC.  Not all
   38 # motherboards hook IRQ0 up to the first I/O APIC even though their
   39 # MP table or MADT may claim to do so.  That is why mixed mode is
   40 # enabled by default.
   41 #
   42 # HTT CPUs should only be used if they are enabled in the BIOS.  For
   43 # the ACPI case, ACPI only correctly tells us about any HTT CPUs if
   44 # they are enabled.  However, most HTT systems do not list HTT CPUs
   45 # in the MP Table if they are enabled, thus we guess at the HTT CPUs
   46 # for the MP Table case.  However, we shouldn't try to guess and use
   47 # these CPUs if HTTT is disabled.  Thus, HTT guessing is only enabled
   48 # for the MP Table if the user explicitly asks for it via the
   49 # MPTABLE_FORCE_HTT option.  Do NOT use this option if you have HTT
   50 # disabled in your BIOS.
   51 #
   52 
   53 # Mandatory:
   54 device          apic                    # I/O apic
   55 
   56 # Optional:
   57 options         MPTABLE_FORCE_HTT       # Enable HTT CPUs with the MP Table
   58 options         NO_MIXED_MODE           # Disable use of mixed mode
   59 
   60 
   61 #####################################################################
   62 # CPU OPTIONS
   63 
   64 #
   65 # You must specify at least one CPU (the one you intend to run on);
   66 # deleting the specification for CPUs you don't need to use may make
   67 # parts of the system run faster.
   68 # I386_CPU is mutually exclusive with the other CPU types.
   69 #
   70 #cpu            I386_CPU                
   71 cpu             I486_CPU
   72 cpu             I586_CPU                # aka Pentium(tm)
   73 cpu             I686_CPU                # aka Pentium Pro(tm)
   74 
   75 #
   76 # Options for CPU features.
   77 #
   78 # CPU_ATHLON_SSE_HACK tries to enable SSE instructions when the BIOS has
   79 # forgotten to enable them.
   80 #
   81 # CPU_BLUELIGHTNING_FPU_OP_CACHE enables FPU operand cache on IBM
   82 # BlueLightning CPU.  It works only with Cyrix FPU, and this option
   83 # should not be used with Intel FPU.
   84 #
   85 # CPU_BLUELIGHTNING_3X enables triple-clock mode on IBM Blue Lightning
   86 # CPU if CPU supports it. The default is double-clock mode on
   87 # BlueLightning CPU box.
   88 #
   89 # CPU_BTB_EN enables branch target buffer on Cyrix 5x86 (NOTE 1).
   90 #
   91 # CPU_DIRECT_MAPPED_CACHE sets L1 cache of Cyrix 486DLC CPU in direct
   92 # mapped mode.  Default is 2-way set associative mode.
   93 #
   94 # CPU_CYRIX_NO_LOCK enables weak locking for the entire address space
   95 # of Cyrix 6x86 and 6x86MX CPUs by setting the NO_LOCK bit of CCR1.
   96 # Otherwise, the NO_LOCK bit of CCR1 is cleared.  (NOTE 3)
   97 #
   98 # CPU_DISABLE_5X86_LSSER disables load store serialize (i.e. enables
   99 # reorder).  This option should not be used if you use memory mapped
  100 # I/O device(s).
  101 #
  102 # CPU_ELAN enables support for AMDs ElanSC520 CPU.
  103 #    CPU_ELAN_XTAL sets the clock crystal frequency in Hz
  104 #    CPU_ELAN_PPS enables precision timestamp code.
  105 #
  106 # CPU_SOEKRIS enables support www.soekris.com hardware.
  107 #
  108 # CPU_ENABLE_SSE enables SSE/MMX2 instructions support.  This is default
  109 # on I686_CPU and above.
  110 # CPU_DISABLE_SSE explicitly prevent I686_CPU from turning on SSE.
  111 #
  112 # CPU_FASTER_5X86_FPU enables faster FPU exception handler.
  113 #
  114 # CPU_I486_ON_386 enables CPU cache on i486 based CPU upgrade products
  115 # for i386 machines.
  116 #
  117 # CPU_IORT defines I/O clock delay time (NOTE 1).  Default values of
  118 # I/O clock delay time on Cyrix 5x86 and 6x86 are 0 and 7,respectively
  119 # (no clock delay).
  120 #
  121 # CPU_L2_LATENCY specifed the L2 cache latency value.  This option is used
  122 # only when CPU_PPRO2CELERON is defined and Mendocino Celeron is detected.
  123 # The default value is 5.
  124 #
  125 # CPU_LOOP_EN prevents flushing the prefetch buffer if the destination
  126 # of a jump is already present in the prefetch buffer on Cyrix 5x86(NOTE
  127 # 1).
  128 #
  129 # CPU_PPRO2CELERON enables L2 cache of Mendocino Celeron CPUs.  This option
  130 # is useful when you use Socket 8 to Socket 370 converter, because most Pentium
  131 # Pro BIOSs do not enable L2 cache of Mendocino Celeron CPUs.
  132 #
  133 # CPU_RSTK_EN enables return stack on Cyrix 5x86 (NOTE 1).
  134 #
  135 # CPU_SUSP_HLT enables suspend on HALT.  If this option is set, CPU
  136 # enters suspend mode following execution of HALT instruction.
  137 #
  138 # CPU_UPGRADE_HW_CACHE eliminates unneeded cache flush instruction(s).
  139 #
  140 # CPU_WT_ALLOC enables write allocation on Cyrix 6x86/6x86MX and AMD
  141 # K5/K6/K6-2 cpus.
  142 #
  143 # CYRIX_CACHE_WORKS enables CPU cache on Cyrix 486 CPUs with cache
  144 # flush at hold state.
  145 #
  146 # CYRIX_CACHE_REALLY_WORKS enables (1) CPU cache on Cyrix 486 CPUs
  147 # without cache flush at hold state, and (2) write-back CPU cache on
  148 # Cyrix 6x86 whose revision < 2.7 (NOTE 2).
  149 #
  150 # NO_F00F_HACK disables the hack that prevents Pentiums (and ONLY
  151 # Pentiums) from locking up when a LOCK CMPXCHG8B instruction is
  152 # executed.  This option is only needed if I586_CPU is also defined,
  153 # and should be included for any non-Pentium CPU that defines it.
  154 #
  155 # NO_MEMORY_HOLE is an optimisation for systems with AMD K6 processors
  156 # which indicates that the 15-16MB range is *definitely* not being
  157 # occupied by an ISA memory hole.
  158 #
  159 # CPU_DISABLE_CMPXCHG disables the CMPXCHG instruction on > i386 IA32 
  160 # machines.  VmWare seems to emulate this instruction poorly, causing 
  161 # the guest OS to run very slowly.  Enabling this with a SMP kernel
  162 # will cause the kernel to be unusable.
  163 #
  164 # NOTE 1: The options, CPU_BTB_EN, CPU_LOOP_EN, CPU_IORT,
  165 # CPU_LOOP_EN and CPU_RSTK_EN should not be used because of CPU bugs.
  166 # These options may crash your system.
  167 #
  168 # NOTE 2: If CYRIX_CACHE_REALLY_WORKS is not set, CPU cache is enabled
  169 # in write-through mode when revision < 2.7.  If revision of Cyrix
  170 # 6x86 >= 2.7, CPU cache is always enabled in write-back mode.
  171 #
  172 # NOTE 3: This option may cause failures for software that requires
  173 # locked cycles in order to operate correctly.
  174 #
  175 options         CPU_ATHLON_SSE_HACK
  176 options         CPU_BLUELIGHTNING_FPU_OP_CACHE
  177 options         CPU_BLUELIGHTNING_3X
  178 options         CPU_BTB_EN
  179 options         CPU_DIRECT_MAPPED_CACHE
  180 options         CPU_DISABLE_5X86_LSSER
  181 options         CPU_ELAN
  182 options         CPU_SOEKRIS
  183 options         CPU_ELAN_XTAL=32768000
  184 options         CPU_ELAN_PPS
  185 options         CPU_ENABLE_SSE
  186 #options        CPU_DISABLE_SSE
  187 options         CPU_FASTER_5X86_FPU
  188 options         CPU_I486_ON_386
  189 options         CPU_IORT
  190 options         CPU_L2_LATENCY=5
  191 options         CPU_LOOP_EN
  192 options         CPU_PPRO2CELERON
  193 options         CPU_RSTK_EN
  194 options         CPU_SUSP_HLT
  195 options         CPU_UPGRADE_HW_CACHE
  196 options         CPU_WT_ALLOC
  197 options         CYRIX_CACHE_WORKS
  198 options         CYRIX_CACHE_REALLY_WORKS
  199 #options        NO_F00F_HACK
  200 options         CPU_DISABLE_CMPXCHG
  201 
  202 # Debug options
  203 options         NPX_DEBUG       # enable npx debugging (FPU/math emu)
  204                                         #new math emulator
  205 
  206 #
  207 # PERFMON causes the driver for Pentium/Pentium Pro performance counters
  208 # to be compiled.  See perfmon(4) for more information.
  209 #
  210 options         PERFMON
  211 
  212 
  213 #####################################################################
  214 # NETWORKING OPTIONS
  215 
  216 #
  217 # DEVICE_POLLING adds support for mixed interrupt-polling handling
  218 # of network device drivers, which has significant benefits in terms
  219 # of robustness to overloads and responsivity, as well as permitting
  220 # accurate scheduling of the CPU time between kernel network processing
  221 # and other activities. The drawback is a moderate (up to 1/HZ seconds)
  222 # potential increase in response times.
  223 # It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING
  224 # to achieve smoother behaviour.
  225 # Additionally, you can enable/disable polling at runtime with the
  226 # sysctl variable kern.polling.enable (defaults off), and select
  227 # the CPU fraction reserved to userland with the sysctl variable
  228 # kern.polling.user_frac (default 50, range 0..100).
  229 #
  230 # Only the "dc" "fxp" and "sis" devices support this mode of operation at
  231 # the time of this writing.
  232 
  233 options         DEVICE_POLLING
  234 
  235 
  236 #####################################################################
  237 # CLOCK OPTIONS
  238 
  239 # The following options are used for debugging clock behavior only, and
  240 # should not be used for production systems.
  241 #
  242 # CLK_CALIBRATION_LOOP will run the clock calibration loop at startup
  243 # until the user presses a key.
  244 
  245 options         CLK_CALIBRATION_LOOP
  246 
  247 # The following two options measure the frequency of the corresponding
  248 # clock relative to the RTC (onboard mc146818a).
  249 
  250 options         CLK_USE_I8254_CALIBRATION
  251 options         CLK_USE_TSC_CALIBRATION
  252 
  253 
  254 #####################################################################
  255 # MISCELLANEOUS DEVICES AND OPTIONS
  256 
  257 device          speaker         #Play IBM BASIC-style noises out your speaker
  258 hint.speaker.0.at="isa"
  259 hint.speaker.0.port="0x61"
  260 device          gzip            #Exec gzipped a.out's. REQUIRES COMPAT_AOUT!
  261 device          apm_saver       # Requires APM
  262 
  263 
  264 #####################################################################
  265 # HARDWARE BUS CONFIGURATION
  266 
  267 #
  268 # ISA bus
  269 #
  270 device          isa
  271 
  272 #
  273 # Options for `isa':
  274 #
  275 # AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A
  276 # interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
  277 # This option breaks suspend/resume on some portables.
  278 #
  279 # AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A
  280 # interrupt controller.  This saves about 0.7-1.25 usec for each interrupt.
  281 # Automatic EOI is documented not to work for for the slave with the
  282 # original i8259A, but it works for some clones and some integrated
  283 # versions.
  284 #
  285 # MAXMEM specifies the amount of RAM on the machine; if this is not
  286 # specified, FreeBSD will first read the amount of memory from the CMOS
  287 # RAM, so the amount of memory will initially be limited to 64MB or 16MB
  288 # depending on the BIOS.  If the BIOS reports 64MB, a memory probe will
  289 # then attempt to detect the installed amount of RAM.  If this probe
  290 # fails to detect >64MB RAM you will have to use the MAXMEM option.
  291 # The amount is in kilobytes, so for a machine with 128MB of RAM, it would
  292 # be 131072 (128 * 1024).
  293 #
  294 # BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to
  295 # reset the CPU for reboot.  This is needed on some systems with broken
  296 # keyboard controllers.
  297 
  298 options         COMPAT_OLDISA   #Use ISA shims and glue for old drivers
  299 options         AUTO_EOI_1
  300 #options        AUTO_EOI_2
  301 
  302 options         MAXMEM=(128*1024)
  303 #options        BROKEN_KEYBOARD_RESET
  304 
  305 # 
  306 # EISA bus
  307 #
  308 # The EISA bus device is `eisa'.  It provides auto-detection and
  309 # configuration support for all devices on the EISA bus.
  310 
  311 device          eisa
  312 
  313 # By default, only 10 EISA slots are probed, since the slot numbers
  314 # above clash with the configuration address space of the PCI subsystem,
  315 # and the EISA probe is not very smart about this.  This is sufficient
  316 # for most machines, but in particular the HP NetServer LC series comes
  317 # with an onboard AIC7770 dual-channel SCSI controller on EISA slot #11,
  318 # thus you need to bump this figure to 12 for them.
  319 options         EISA_SLOTS=12
  320 
  321 #
  322 # MCA bus:
  323 #
  324 # The MCA bus device is `mca'.  It provides auto-detection and
  325 # configuration support for all devices on the MCA bus.
  326 # No hints are required for MCA.
  327 
  328 device          mca
  329 
  330 #
  331 # PCI bus & PCI options:
  332 #
  333 device          pci
  334 
  335 #
  336 # AGP GART support
  337 device          agp
  338 
  339 
  340 #####################################################################
  341 # HARDWARE DEVICE CONFIGURATION
  342 
  343 #
  344 # Mandatory devices:
  345 #
  346 
  347 # To include support for VGA VESA video modes
  348 options         VESA
  349 
  350 # Turn on extra debugging checks and output for VESA support.
  351 options         VESA_DEBUG
  352 
  353 # The pcvt console driver (vt220 compatible).
  354 device          vt
  355 hint.vt.0.at="isa"
  356 options         XSERVER                 # support for running an X server on vt
  357 options         FAT_CURSOR              # start with block cursor
  358 # This PCVT option is for keyboards such as those used on really old ThinkPads
  359 options         PCVT_SCANSET=2
  360 # Other PCVT options are documented in pcvt(4).
  361 options         PCVT_24LINESDEF
  362 options         PCVT_CTRL_ALT_DEL
  363 options         PCVT_META_ESC
  364 options         PCVT_NSCREENS=9
  365 options         PCVT_PRETTYSCRNS
  366 options         PCVT_SCREENSAVER
  367 options         PCVT_USEKBDSEC
  368 options         PCVT_VT220KEYB
  369 options         PCVT_GREENSAVER
  370 
  371 #
  372 # The Numeric Processing eXtension driver.  In addition to this, you
  373 # may configure a math emulator (see above).  If your machine has a
  374 # hardware FPU and the kernel configuration includes the npx device
  375 # *and* a math emulator compiled into the kernel, the hardware FPU
  376 # will be used, unless it is found to be broken or unless "flags" to
  377 # npx0 includes "0x08", which requests preference for the emulator.
  378 device          npx
  379 hint.npx.0.flags="0x0"
  380 hint.npx.0.irq="13"
  381 
  382 #
  383 # `flags' for npx0:
  384 #       0x01    don't use the npx registers to optimize bcopy.
  385 #       0x02    don't use the npx registers to optimize bzero.
  386 #       0x04    don't use the npx registers to optimize copyin or copyout.
  387 #       0x08    use emulator even if hardware FPU is available.
  388 # The npx registers are normally used to optimize copying and zeroing when
  389 # all of the following conditions are satisfied:
  390 #       I586_CPU is an option
  391 #       the cpu is an i586 (perhaps not a Pentium)
  392 #       the probe for npx0 succeeds
  393 #       INT 16 exception handling works.
  394 # Then copying and zeroing using the npx registers is normally 30-100% faster.
  395 # The flags can be used to control cases where it doesn't work or is slower.
  396 # Setting them at boot time using userconfig works right (the optimizations
  397 # are not used until later in the bootstrap when npx0 is attached).
  398 # Flag 0x08 automatically disables the i586 optimized routines.
  399 #
  400 
  401 #
  402 # Optional devices:
  403 #
  404 
  405 # 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create
  406 # the /dev/3dfx0 device to work with glide implementations. This should get
  407 # linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as
  408 # the tdfx DRI module from XFree86 and is completely unrelated.
  409 #
  410 # To enable Linuxulator support, one must also include COMPAT_LINUX in the
  411 # config as well, or you will not have the dependencies. The other option
  412 # is to load both as modules.
  413 
  414 device          tdfx                    # Enable 3Dfx Voodoo support
  415 options         TDFX_LINUX              # Enable Linuxulator support
  416 
  417 #
  418 # ACPI support using the Intel ACPI Component Architecture reference
  419 # implementation.
  420 #
  421 # ACPI_DEBUG enables the use of the debug.acpi.level and debug.acpi.layer
  422 # kernel environment variables to select initial debugging levels for the
  423 # Intel ACPICA code.  (Note that the Intel code must also have USE_DEBUGGER
  424 # defined when it is built).
  425 #
  426 # ACPI_MAX_THREADS sets the number of task threads started.
  427 #
  428 # ACPI_NO_SEMAPHORES makes the AcpiOs*Semaphore routines a no-op.
  429 #
  430 # ACPICA_PEDANTIC enables strict checking of AML.  Our default is to
  431 # relax these checks to allow code generated by the Microsoft compiler
  432 # to still execute.
  433 #
  434 # Note that building ACPI into the kernel is deprecated; the module is
  435 # normally loaded automatically by the loader.
  436 #
  437 device          acpi
  438 options         ACPI_DEBUG
  439 options         ACPI_MAX_THREADS=1
  440 #!options       ACPI_NO_SEMAPHORES
  441 #!options       ACPICA_PEDANTIC
  442 
  443 # DRM options:
  444 # mgadrm:    AGP Matrox G200, G400, G450, G550
  445 # r128drm:   ATI Rage 128
  446 # radeondrm: ATI Radeon up to 9000/9100
  447 # sisdrm:    SiS 300/305,540,630
  448 # tdfxdrm:   3dfx Voodoo 3/4/5 and Banshee
  449 # DRM_DEBUG: include debug printfs, very slow
  450 #
  451 # mga requires AGP in the kernel, and it is recommended
  452 # for AGP r128 and radeon cards.
  453 
  454 device          mgadrm
  455 device          "r128drm"
  456 device          radeondrm
  457 device          sisdrm
  458 device          tdfxdrm
  459 
  460 options         DRM_DEBUG
  461 
  462 # M-systems DiskOnchip products see src/sys/contrib/dev/fla/README
  463 device          fla
  464 hint.fla.0.at="isa"
  465 
  466 #
  467 # mse: Logitech and ATI InPort bus mouse ports
  468 
  469 device          mse
  470 hint.mse.0.at="isa"
  471 hint.mse.0.port="0x23c"
  472 hint.mse.0.irq="5"
  473 
  474 #
  475 # Network interfaces:
  476 #
  477 
  478 # ar:   Arnet SYNC/570i hdlc sync 2/4 port V.35/X.21 serial driver
  479 #       (requires sppp)
  480 # ath:  Atheros a/b/g WiFi adapters (requires ath_hal and wlan)
  481 # cx:   Cronyx/Sigma multiport sync/async (with Cisco or PPP framing)
  482 # ed:   Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503
  483 #       HP PC Lan+, various PC Card devices (refer to etc/defauls/pccard.conf)
  484 #       (requires miibus)
  485 # el:   3Com 3C501 (slow!)
  486 # ie:   AT&T StarLAN 10 and EN100; 3Com 3C507; unknown NI5210;
  487 #       Intel EtherExpress
  488 # le:   Digital Equipment EtherWorks 2 and EtherWorks 3 (DEPCA, DE100,
  489 #       DE101, DE200, DE201, DE202, DE203, DE204, DE205, DE422)
  490 # lnc:  Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL, AMD Am7990 and
  491 #       Am79C960)
  492 # oltr: Olicom ISA token-ring adapters OC-3115, OC-3117, OC-3118 and OC-3133
  493 #       (no hints needed).
  494 #       Olicom PCI token-ring adapters OC-3136, OC-3137, OC-3139, OC-3140,
  495 #       OC-3141, OC-3540, OC-3250
  496 # rdp:  RealTek RTL 8002-based pocket ethernet adapters
  497 # sbni: Granch SBNI12-xx ISA and PCI adapters
  498 # sr:   RISCom/N2 hdlc sync 1/2 port V.35/X.21 serial driver (requires sppp)
  499 # wl:   Lucent Wavelan (ISA card only).
  500 
  501 # Order for ISA/EISA devices is important here
  502 
  503 device          ar
  504 hint.ar.0.at="isa"
  505 hint.ar.0.port="0x300"
  506 hint.ar.0.irq="10"
  507 hint.ar.0.maddr="0xd0000"
  508 device          cx
  509 hint.cx.0.at="isa"
  510 hint.cx.0.port="0x240"
  511 hint.cx.0.irq="15"
  512 hint.cx.0.drq="7"
  513 device          ed
  514 #options        ED_NO_MIIBUS            # Disable ed miibus support
  515 hint.ed.0.at="isa"
  516 hint.ed.0.port="0x280"
  517 hint.ed.0.irq="5"
  518 hint.ed.0.maddr="0xd8000"
  519 device          el      1
  520 hint.el.0.at="isa"
  521 hint.el.0.port="0x300"
  522 hint.el.0.irq="9"
  523 device          ie                      # Hints only required for Starlan
  524 hint.ie.2.at="isa"
  525 hint.ie.2.port="0x300"
  526 hint.ie.2.irq="5"
  527 hint.ie.2.maddr="0xd0000"
  528 device          le      1
  529 hint.le.0.at="isa"
  530 hint.le.0.port="0x300"
  531 hint.le.0.irq="5"
  532 hint.le.0.maddr="0xd0000"
  533 device          lnc
  534 hint.lnc.0.at="isa"
  535 hint.lnc.0.port="0x280"
  536 hint.lnc.0.irq="10"
  537 hint.lnc.0.drq="0"
  538 device          rdp     1
  539 hint.rdp.0.at="isa"
  540 hint.rdp.0.port="0x378"
  541 hint.rdp.0.irq="7"
  542 hint.rdp.0.flags="2"
  543 device          sbni
  544 hint.sbni.0.at="isa"
  545 hint.sbni.0.port="0x210"
  546 hint.sbni.0.irq="0xefdead"
  547 hint.sbni.0.flags="0"
  548 device          sr
  549 hint.sr.0.at="isa"
  550 hint.sr.0.port="0x300"
  551 hint.sr.0.irq="5"
  552 hint.sr.0.maddr="0xd0000"
  553 device          oltr
  554 hint.oltr.0.at="isa"
  555 device          wl
  556 hint.wl.0.at="isa"
  557 hint.wl.0.port="0x300"
  558 options         WLCACHE         # enables the signal-strength cache
  559 options         WLDEBUG         # enables verbose debugging output
  560 
  561 device          ath
  562 device          ath_hal         # Atheros HAL (includes binary component)
  563 #device         wlan            # 802.11 layer
  564 
  565 #
  566 # ATA raid adapters
  567 #
  568 device          pst
  569 
  570 # 
  571 # SCSI host adapters:
  572 # 
  573 # ncv: NCR 53C500 based SCSI host adapters.
  574 # nsp: Workbit Ninja SCSI-3 based PC Card SCSI host adapters.
  575 # stg: TMC 18C30, 18C50 based SCSI host adapters.
  576 
  577 device          ncv
  578 device          nsp
  579 device          stg
  580 hint.stg.0.at="isa"
  581 hint.stg.0.port="0x140"
  582 hint.stg.0.port="11"
  583 
  584 #
  585 # Adaptec FSA RAID controllers, including integrated DELL controllers,
  586 # the Dell PERC 2/QC and the HP NetRAID-4M
  587 device          aac
  588 device          aacp    # SCSI Passthrough interface (optional, CAM required)
  589 
  590 #
  591 # IBM (now Adaptec) ServeRAID controllers
  592 device          ips
  593 
  594 #
  595 # SafeNet crypto driver: can be moved to the MI NOTES as soon as
  596 # it's tested on a big-endian machine
  597 #
  598 device          safe            # SafeNet 1141
  599 options         SAFE_DEBUG      # enable debugging support: hw.safe.debug
  600 options         SAFE_RNDTEST    # enable rndtest support
  601 
  602 #####################################################################
  603 
  604 #
  605 # Miscellaneous hardware:
  606 #
  607 # wt: Wangtek and Archive QIC-02/QIC-36 tape drives
  608 # ctx: Cortex-I frame grabber
  609 # apm: Laptop Advanced Power Management (experimental)
  610 # pmtimer: Timer device driver for power management events (APM or ACPI)
  611 # spigot: The Creative Labs Video Spigot video-acquisition board
  612 # dgb: Digiboard PC/Xi and PC/Xe series driver (ALPHA QUALITY!)
  613 # digi: Digiboard driver
  614 # gp:  National Instruments AT-GPIB and AT-GPIB/TNT board, PCMCIA-GPIB
  615 # asc: GI1904-based hand scanners, e.g. the Trust Amiscan Grey
  616 # gsc: Genius GS-4500 hand scanner.
  617 # spic: Sony Programmable I/O controller (VAIO notebooks)
  618 # stl: Stallion EasyIO and EasyConnection 8/32 (cd1400 based)
  619 # stli: Stallion EasyConnection 8/64, ONboard, Brumby (intelligent)
  620 
  621 # Notes on APM
  622 #  The flags takes the following meaning for apm0:
  623 #    0x0020  Statclock is broken.
  624 #  If apm is omitted, some systems require sysctl kern.timecounter.method=1
  625 #  for correct timekeeping.
  626 
  627 # Notes on the spigot:
  628 #  The video spigot is at 0xad6.  This port address can not be changed.
  629 #  The irq values may only be 10, 11, or 15
  630 #  I/O memory is an 8kb region.  Possible values are:
  631 #    0a0000, 0a2000, ..., 0fffff, f00000, f02000, ..., ffffff
  632 #    The start address must be on an even boundary.
  633 #  Add the following option if you want to allow non-root users to be able
  634 #  to access the spigot.  This option is not secure because it allows users
  635 #  direct access to the I/O page.
  636 #       options SPIGOT_UNSECURE
  637 
  638 # Notes on the Specialix SI/XIO driver:
  639 #  The host card is memory, not IO mapped.
  640 #  The Rev 1 host cards use a 64K chunk, on a 32K boundary.
  641 #  The Rev 2 host cards use a 32K chunk, on a 32K boundary.
  642 #  The cards can use an IRQ of 11, 12 or 15.
  643 
  644 # Notes on the Sony Programmable I/O controller
  645 #  This is a temporary driver that should someday be replaced by something
  646 #  that hooks into the ACPI layer. The device is hooked to the PIIX4's
  647 #  General Device 10 decoder, which means you have to fiddle with PCI
  648 #  registers to map it in, even though it is otherwise treated here as
  649 #  an ISA device. At the moment, the driver polls, although the device
  650 #  is capable of generating interrupts. It largely undocumented.
  651 #  The port location in the hint is where you WANT the device to be
  652 #  mapped. 0x10a0 seems to be traditional. At the moment the jogdial
  653 #  is the only thing truly supported, but aparently a fair percentage
  654 #  of the Vaio extra features are controlled by this device.
  655 
  656 # Notes on the Stallion stl and stli drivers:
  657 #  See src/i386/isa/README.stl for complete instructions.
  658 #  This is version 0.0.5alpha, unsupported by Stallion.
  659 #  The stl driver has a secondary IO port hard coded at 0x280.  You need
  660 #     to change src/i386/isa/stallion.c if you reconfigure this on the boards.
  661 #  The "flags" and "msize" settings on the stli driver depend on the board:
  662 #       EasyConnection 8/64 ISA:     flags 23         msize 0x1000
  663 #       EasyConnection 8/64 EISA:    flags 24         msize 0x10000
  664 #       EasyConnection 8/64 MCA:     flags 25         msize 0x1000
  665 #       ONboard ISA:                 flags 4          msize 0x10000
  666 #       ONboard EISA:                flags 7          msize 0x10000
  667 #       ONboard MCA:                 flags 3          msize 0x10000
  668 #       Brumby:                      flags 2          msize 0x4000
  669 #       Stallion:                    flags 1          msize 0x10000
  670 
  671 # Notes on the Digiboard PC/Xi and PC/Xe series driver
  672 #               
  673 # The NDGBPORTS option specifies the number of ports controlled by the
  674 # dgb(4) driver.  The default value is 16 ports per device.
  675 #
  676 # The following flag values have special meanings in dgb:
  677 #       0x01 - alternate layout of pins
  678 #       0x02 - use the windowed PC/Xe in 64K mode
  679 
  680 device          wt      1
  681 hint.wt.0.at="isa"
  682 hint.wt.0.port="0x300"
  683 hint.wt.0.irq="5"
  684 hint.wt.0.drq="1"
  685 device          ctx
  686 hint.ctx.0.at="isa"
  687 hint.ctx.0.port="0x230"
  688 hint.ctx.0.maddr="0xd0000"
  689 device          spigot  1
  690 hint.spigot.0.at="isa"
  691 hint.spigot.0.port="0xad6"
  692 hint.spigot.0.irq="15"
  693 hint.spigot.0.maddr="0xee000"
  694 device          apm
  695 hint.apm.0.flags="0x20"
  696 device          pmtimer                 # Adjust system timer at wakeup time
  697 device          gp
  698 hint.gp.0.at="isa"
  699 hint.gp.0.port="0x2c0"
  700 device          gsc     1
  701 hint.gsc.0.at="isa"
  702 hint.gsc.0.port="0x270"
  703 hint.gsc.0.drq="3"
  704 device          dgb       1
  705 options         NDGBPORTS=17
  706 hint.dgb.0.at="isa"
  707 hint.dgb.0.port="0x220"
  708 hint.dgb.0.maddr="0xfc000"
  709 device          digi
  710 hint.digi.0.at="isa"
  711 hint.digi.0.port="0x104"
  712 hint.digi.0.maddr="0xd0000"
  713 # BIOS & FEP/OS components of device digi.
  714 device          digi_CX
  715 device          digi_CX_PCI
  716 device          digi_EPCX
  717 device          digi_EPCX_PCI
  718 device          digi_Xe
  719 device          digi_Xem
  720 device          digi_Xr
  721 device          asc     1
  722 hint.asc.0.at="isa"
  723 hint.asc.0.port="0x3EB"
  724 hint.asc.0.drq="3"
  725 hint.asc.0.irq="10"
  726 device          spic
  727 hint.spic.0.at="isa"
  728 hint.spic.0.port="0x10a0"
  729 device          stl
  730 hint.stl.0.at="isa"
  731 hint.stl.0.port="0x2a0"
  732 hint.stl.0.irq="10"
  733 device          stli
  734 hint.stli.0.at="isa"
  735 hint.stli.0.port="0x2a0"
  736 hint.stli.0.maddr="0xcc000"
  737 hint.stli.0.flags="23"
  738 hint.stli.0.msize="0x1000"
  739 # You are unlikely to have the hardware for loran <phk@FreeBSD.org>
  740 device          loran
  741 hint.loran.0.at="isa"
  742 hint.loran.0.irq="5"
  743 # HOT1 Xilinx 6200 card (http://www.vcc.com/)
  744 device          xrpu
  745 
  746 #
  747 # Laptop/Notebook options:
  748 #
  749 # See also:
  750 #  apm under `Miscellaneous hardware'
  751 # above.
  752 
  753 # For older notebooks that signal a powerfail condition (external
  754 # power supply dropped, or battery state low) by issuing an NMI:
  755 
  756 options         POWERFAIL_NMI   # make it beep instead of panicing
  757 
  758 #
  759 # I2C Bus
  760 #
  761 # Philips i2c bus support is provided by the `iicbus' device.
  762 #
  763 # Supported interfaces:
  764 # pcf   Philips PCF8584 ISA-bus controller
  765 #
  766 device          pcf
  767 hint.pcf.0.at="isa"
  768 hint.pcf.0.port="0x320"
  769 hint.pcf.0.irq="5"
  770 
  771 #---------------------------------------------------------------------------
  772 # ISDN4BSD
  773 #
  774 # See /usr/share/examples/isdn/ROADMAP for an introduction to isdn4bsd.
  775 #
  776 # i4b passive ISDN cards support contains the following hardware drivers:
  777 #
  778 #       isic  - Siemens/Infineon ISDN ISAC/HSCX/IPAC chipset driver
  779 #       iwic  - Winbond W6692 PCI bus ISDN S/T interface controller
  780 #       ifpi  - AVM Fritz!Card PCI driver
  781 #       ifpi2  - AVM Fritz!Card PCI version 2 driver
  782 #       ihfc  - Cologne Chip HFC ISA/ISA-PnP chipset driver
  783 #       ifpnp - AVM Fritz!Card PnP driver 
  784 #       itjc  - Siemens ISAC / TJNet Tiger300/320 chipset
  785 #
  786 # i4b active ISDN cards support contains the following hardware drivers:
  787 #
  788 #       iavc  - AVM B1 PCI, AVM B1 ISA, AVM T1
  789 #
  790 # Note that the ``options'' (if given) and ``device'' lines must BOTH
  791 # be uncommented to enable support for a given card !
  792 #
  793 # In addition to a hardware driver (and probably an option) the mandatory
  794 # ISDN protocol stack devices and the mandatory support device must be 
  795 # enabled as well as one or more devices from the optional devices section.
  796 #
  797 #---------------------------------------------------------------------------
  798 #       isic driver (Siemens/Infineon chipsets)
  799 #
  800 device  isic
  801 #
  802 # ISA bus non-PnP Cards:
  803 # ----------------------
  804 #
  805 # Teles S0/8 or Niccy 1008
  806 options         TEL_S0_8
  807 hint.isic.0.at="isa"
  808 hint.isic.0.maddr="0xd0000"
  809 hint.isic.0.irq="5"
  810 hint.isic.0.flags="1"
  811 #
  812 # Teles S0/16 or Creatix ISDN-S0 or Niccy 1016
  813 options         TEL_S0_16
  814 hint.isic.0.at="isa"
  815 hint.isic.0.port="0xd80"
  816 hint.isic.0.maddr="0xd0000"
  817 hint.isic.0.irq="5"
  818 hint.isic.0.flags="2"
  819 #
  820 # Teles S0/16.3
  821 options         TEL_S0_16_3
  822 hint.isic.0.at="isa"
  823 hint.isic.0.port="0xd80"
  824 hint.isic.0.irq="5"
  825 hint.isic.0.flags="3"
  826 #
  827 # AVM A1 or AVM Fritz!Card
  828 options         AVM_A1
  829 hint.isic.0.at="isa"
  830 hint.isic.0.port="0x340"
  831 hint.isic.0.irq="5"
  832 hint.isic.0.flags="4"
  833 #
  834 # USRobotics Sportster ISDN TA intern
  835 options         USR_STI
  836 hint.isic.0.at="isa"
  837 hint.isic.0.port="0x268"
  838 hint.isic.0.irq="5"
  839 hint.isic.0.flags="7"
  840 #
  841 # ITK ix1 Micro ( < V.3, non-PnP version )
  842 options         ITKIX1
  843 hint.isic.0.at="isa"
  844 hint.isic.0.port="0x398"
  845 hint.isic.0.irq="10"
  846 hint.isic.0.flags="18"
  847 #
  848 # ELSA PCC-16
  849 options         ELSA_PCC16
  850 hint.isic.0.at="isa"
  851 hint.isic.0.port="0x360"
  852 hint.isic.0.irq="10"
  853 hint.isic.0.flags="20"
  854 #
  855 # ISA bus PnP Cards:
  856 # ------------------
  857 #
  858 # Teles S0/16.3 PnP
  859 options         TEL_S0_16_3_P
  860 #
  861 # Creatix ISDN-S0 P&P
  862 options         CRTX_S0_P
  863 #
  864 # Dr. Neuhaus Niccy Go@
  865 options         DRN_NGO
  866 #
  867 # Sedlbauer Win Speed
  868 options         SEDLBAUER
  869 #
  870 # Dynalink IS64PH
  871 options         DYNALINK 
  872 #
  873 # ELSA QuickStep 1000pro ISA
  874 options         ELSA_QS1ISA
  875 #
  876 # Siemens I-Surf 2.0
  877 options         SIEMENS_ISURF2
  878 #
  879 # Asuscom ISDNlink 128K ISA
  880 options         ASUSCOM_IPAC
  881 #
  882 # Eicon Diehl DIVA 2.0 and 2.02
  883 options         EICON_DIVA
  884 #
  885 # Compaq Microcom 610 ISDN card (Compaq series PSB2222I)
  886 options         COMPAQ_M610
  887 #
  888 # PCI bus Cards:
  889 # --------------
  890 #
  891 # Cyclades Cyclom-Y PCI serial driver
  892 device          cy      1
  893 options         CY_PCI_FASTINTR         # Use with cy_pci unless irq is shared
  894 hint.cy.0.at="isa"
  895 hint.cy.0.irq="10"
  896 hint.cy.0.maddr="0xd4000"
  897 hint.cy.0.msize="0x2000"
  898 #
  899 #---------------------------------------------------------------------------
  900 # ELSA MicroLink ISDN/PCI (same as ELSA QuickStep 1000pro PCI)
  901 options         ELSA_QS1PCI
  902 #
  903 #
  904 #---------------------------------------------------------------------------
  905 #       ifpnp driver for AVM Fritz!Card PnP
  906 #
  907 # AVM Fritz!Card PnP
  908 device ifpnp
  909 #
  910 #---------------------------------------------------------------------------
  911 #       ihfc driver for Cologne Chip ISA chipsets (experimental!)
  912 #
  913 # Teles 16.3c ISA PnP
  914 # AcerISDN P10 ISA PnP
  915 # TELEINT ISDN SPEED No.1
  916 device ihfc
  917 #
  918 #---------------------------------------------------------------------------
  919 #       ifpi driver for AVM Fritz!Card PCI
  920 #
  921 # AVM Fritz!Card PCI
  922 device  ifpi
  923 #
  924 #---------------------------------------------------------------------------
  925 #       ifpi2 driver for AVM Fritz!Card PCI version 2
  926 #
  927 # AVM Fritz!Card PCI version 2
  928 device  "ifpi2"
  929 #
  930 #---------------------------------------------------------------------------
  931 #       iwic driver for Winbond W6692 chipset
  932 #
  933 # ASUSCOM P-IN100-ST-D (and other Winbond W6692 based cards)
  934 device  iwic
  935 #
  936 #---------------------------------------------------------------------------
  937 #       itjc driver for Simens ISAC / TJNet Tiger300/320 chipset
  938 #
  939 # Traverse Technologies NETjet-S
  940 # Teles PCI-TJ
  941 device  itjc
  942 #
  943 #---------------------------------------------------------------------------
  944 #       iavc driver (AVM active cards, needs i4bcapi driver!)
  945 #
  946 device  iavc
  947 #
  948 # AVM B1 ISA bus (PnP mode not supported!)
  949 # ----------------------------------------
  950 hint.iavc.0.at="isa"
  951 hint.iavc.0.port="0x150"
  952 hint.iavc.0.irq="5"
  953 #
  954 #---------------------------------------------------------------------------
  955 #       ISDN Protocol Stack - mandatory for all hardware drivers
  956 #
  957 # Q.921 / layer 2 - i4b passive cards D channel handling
  958 device          "i4bq921"
  959 #
  960 # Q.931 / layer 3 - i4b passive cards D channel handling
  961 device          "i4bq931"
  962 #
  963 # layer 4 - i4b common passive and active card handling
  964 device          "i4b"
  965 #
  966 #---------------------------------------------------------------------------
  967 #       ISDN devices - mandatory for all hardware drivers
  968 #
  969 # userland driver to do ISDN tracing (for passive cards only)
  970 device          "i4btrc"        4
  971 #
  972 # userland driver to control the whole thing
  973 device          "i4bctl"
  974 #
  975 #---------------------------------------------------------------------------
  976 #       ISDN devices - optional
  977 #
  978 # userland driver for access to raw B channel
  979 device          "i4brbch"       4
  980 #
  981 # userland driver for telephony
  982 device          "i4btel"        2
  983 #
  984 # network driver for IP over raw HDLC ISDN
  985 device          "i4bipr"        4
  986 # enable VJ header compression detection for ipr i/f
  987 options         IPR_VJ
  988 # enable logging of the first n IP packets to isdnd (n=32 here)
  989 options         IPR_LOG=32
  990 #
  991 # network driver for sync PPP over ISDN; requires an equivalent
  992 # number of sppp device to be configured
  993 device          "i4bisppp"      4
  994 #
  995 # B-channel interface to the netgraph subsystem
  996 device          "i4bing"        2
  997 #
  998 # CAPI driver needed for active ISDN cards (see iavc driver above)
  999 device          "i4bcapi"
 1000 #
 1001 #---------------------------------------------------------------------------
 1002 
 1003 #
 1004 # Set the number of PV entries per process.  Increasing this can
 1005 # stop panics related to heavy use of shared memory. However, that can
 1006 # (combined with large amounts of physical memory) cause panics at
 1007 # boot time due the kernel running out of VM space.
 1008 #
 1009 # If you're tweaking this, you might also want to increase the sysctls
 1010 # "vm.v_free_min", "vm.v_free_reserved", and "vm.v_free_target".
 1011 #
 1012 # The value below is the one more than the default.
 1013 #
 1014 options         PMAP_SHPGPERPROC=201
 1015 
 1016 #
 1017 # Change the size of the kernel virtual address space.  Due to
 1018 # constraints in loader(8) on i386, this must be a multiple of 4.
 1019 # 256 = 1 GB of kernel address space.  Increasing this also causes
 1020 # a reduction of the address space in user processes.  512 splits
 1021 # the 4GB cpu address space in half (2GB user, 2GB kernel).
 1022 #
 1023 options         KVA_PAGES=260
 1024 
 1025 
 1026 #####################################################################
 1027 # ABI Emulation
 1028 
 1029 # Enable iBCS2 runtime support for SCO and ISC binaries
 1030 options         IBCS2
 1031 
 1032 # Emulate spx device for client side of SVR3 local X interface
 1033 options         SPX_HACK
 1034 
 1035 # Enable Linux ABI emulation
 1036 options         COMPAT_LINUX
 1037 
 1038 # Enable i386 a.out binary support
 1039 options         COMPAT_AOUT
 1040 
 1041 # Enable the linux-like proc filesystem support (requires COMPAT_LINUX
 1042 # and PSEUDOFS)
 1043 options         LINPROCFS
 1044 
 1045 #
 1046 # SysVR4 ABI emulation
 1047 #
 1048 # The svr4 ABI emulator can be statically compiled into the kernel or loaded as
 1049 # a KLD module.  
 1050 # The STREAMS network emulation code can also be compiled statically or as a 
 1051 # module.  If loaded as a module, it must be loaded before the svr4 module
 1052 # (the /usr/sbin/svr4 script does this for you).  If compiling statically,
 1053 # the `streams' device must be configured into any kernel which also
 1054 # specifies COMPAT_SVR4.  It is possible to have a statically-configured 
 1055 # STREAMS device and a dynamically loadable svr4 emulator;  the /usr/sbin/svr4
 1056 # script understands that it doesn't need to load the `streams' module under
 1057 # those circumstances.
 1058 # Caveat:  At this time, `options KTRACE' is required for the svr4 emulator
 1059 # (whether static or dynamic).  
 1060 # 
 1061 options         COMPAT_SVR4     # build emulator statically
 1062 options         DEBUG_SVR4      # enable verbose debugging
 1063 device          streams         # STREAMS network driver (required for svr4).
 1064 
 1065 
 1066 #####################################################################
 1067 # VM OPTIONS
 1068 
 1069 # Disable the 4 MByte page PSE CPU feature.  The PSE feature allows the
 1070 # kernel to use a 4 MByte pages to map the kernel instead of 4k pages.
 1071 # This saves on the amount of memory needed for page tables needed to
 1072 # map the kernel.  You should only disable this feature as a temporary
 1073 # workaround if you are having problems with it enabled.
 1074 #
 1075 #options        DISABLE_PSE
 1076 
 1077 # Disable the global pages PGE CPU feature.  The PGE feature allows pages
 1078 # to be marked with the PG_G bit.  TLB entries for these pages are not
 1079 # flushed from the cache when %cr3 is reloaded.  This can make context
 1080 # switches less expensive.  You should only disable this feature as a
 1081 # temporary workaround if you are having problems with it enabled.
 1082 #
 1083 #options        DISABLE_PG_G
 1084 
 1085 # KSTACK_PAGES is the number of memory pages to assign to the kernel
 1086 # stack of each thread.
 1087 
 1088 options         KSTACK_PAGES=3
 1089 
 1090 #####################################################################
 1091 
 1092 # More undocumented options for linting.
 1093 # Note that documenting these are not considered an affront.
 1094 
 1095 options         FB_INSTALL_CDEV         # install a CDEV entry in /dev
 1096 
 1097 # PECOFF module (Win32 Execution Format)
 1098 options         PECOFF_SUPPORT
 1099 options         PECOFF_DEBUG
 1100 
 1101 options         ENABLE_ALART
 1102 options         I4B_SMP_WORKAROUND
 1103 options         I586_PMC_GUPROF=0x70000
 1104 options         KBDIO_DEBUG=2
 1105 options         KBD_MAXRETRY=4
 1106 options         KBD_MAXWAIT=6
 1107 options         KBD_RESETDELAY=201
 1108 
 1109 options         PSM_DEBUG=1
 1110 
 1111 options         TIMER_FREQ=((14318182+6)/12)
 1112 
 1113 options         VM_KMEM_SIZE
 1114 options         VM_KMEM_SIZE_MAX
 1115 options         VM_KMEM_SIZE_SCALE

Cache object: 1f08f1c602e043ddda50838f472de3ee


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.