fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / Documentation / x86_64 / boot-options.txt
index d78f8db..5c86ed6 100644 (file)
@@ -6,6 +6,18 @@ only the AMD64 specific ones are listed here.
 Machine check
 
    mce=off disable machine check
+   mce=bootlog Enable logging of machine checks left over from booting.
+               Disabled by default on AMD because some BIOS leave bogus ones.
+               If your BIOS doesn't do that it's a good idea to enable though
+               to make sure you log even machine check events that result
+               in a reboot. On Intel systems it is enabled by default.
+   mce=nobootlog
+               Disable boot machine check logging.
+   mce=tolerancelevel (number)
+               0: always panic, 1: panic if deadlock possible,
+               2: try to avoid panic, 3: never panic or exit (for testing)
+               default is 1
+               Can be also set using sysfs which is preferable.
 
    nomce (for compatibility with i386): same as mce=off
 
@@ -14,8 +26,6 @@ Machine check
 APICs
 
    apic                 Use IO-APIC. Default
-                Unless you have an NVidia or VIA/Uniprocessor board.
-               Then it defaults to off.
 
    noapic       Don't use the IO-APIC.
 
@@ -25,6 +35,27 @@ APICs
 
    pirq=...     See Documentation/i386/IO-APIC.txt
 
+   noapictimer  Don't set up the APIC timer
+
+   no_timer_check Don't check the IO-APIC timer. This can work around
+                problems with incorrect timer initialization on some boards.
+
+   apicmaintimer Run time keeping from the local APIC timer instead
+                 of using the PIT/HPET interrupt for this. This is useful
+                 when the PIT/HPET interrupts are unreliable.
+
+   noapicmaintimer  Don't do time keeping using the APIC timer.
+                Useful when this option was auto selected, but doesn't work.
+
+   apicpmtimer
+                Do APIC timer calibration using the pmtimer. Implies
+                apicmaintimer. Useful when your PIT timer is totally
+                broken.
+
+   disable_8254_timer / enable_8254_timer
+                Enable interrupt 0 timer routing over the 8254 in addition to over
+                the IO-APIC. The kernel tries to set a sensible default.
+
 Early Console
 
    syntax: earlyprintk=vga
@@ -44,7 +75,7 @@ Timing
   notsc
   Don't use the CPU time stamp counter to read the wall time.
   This can be used to work around timing problems on multiprocessor systems
-  with not properly synchronized CPUs. Only useful with a SMP kernel
+  with not properly synchronized CPUs.
 
   report_lost_ticks
   Report when timer interrupts are lost because some code turned off
@@ -61,6 +92,9 @@ Timing
   This is useful when you use a panic=... timeout and need the box
   quickly up again.
 
+  nohpet
+  Don't use the HPET timer.
+
 Idle loop
 
   idle=poll
@@ -68,13 +102,16 @@ Idle loop
   event. This will make the CPUs eat a lot more power, but may be useful
   to get slightly better performance in multiprocessor benchmarks. It also
   makes some profiling using performance counters more accurate.
+  Please note that on systems with MONITOR/MWAIT support (like Intel EM64T
+  CPUs) this option has no performance advantage over the normal idle loop.
+  It may also interact badly with hyperthreading.
 
 Rebooting
 
    reboot=b[ios] | t[riple] | k[bd] [, [w]arm | [c]old]
-   bios          Use the CPU reboto vector for warm reset
+   bios          Use the CPU reboot vector for warm reset
    warm   Don't set the cold reboot flag
-   cold   Set the cold reboto flag
+   cold   Set the cold reboot flag
    triple Force a triple fault (init)
    kbd    Use the keyboard controller. cold reset (default)
 
@@ -83,26 +120,17 @@ Rebooting
    Disadvantage is that not all hardware will be completely reinitialized
    on reboot so there may be boot problems on some systems.
 
+   reboot=force
+
+   Don't stop other CPUs on reboot. This can make reboot more reliable
+   in some cases.
+
 Non Executable Mappings
 
   noexec=on|off
 
-  on      Enable
+  on      Enable(default)
   off     Disable
-  noforce (default) Don't enable by default for heap/stack/data,
-          but allow PROT_EXEC to be effective
-
-  noexec32=opt{,opt}
-
-  Control the no exec default for 32bit processes.
-  Requires noexec=on or noexec=noforce to be effective.
-
-  Valid options:
-     all,on    Heap,stack,data is non executable.
-     off       (default) Heap,stack,data is executable
-     stack     Stack is non executable, heap/data is.
-     force     Don't imply PROT_EXEC for PROT_READ
-     compat    (default) Imply PROT_EXEC for PROT_READ
 
 SMP
 
@@ -112,10 +140,21 @@ SMP
 
   cpumask=MASK   only use cpus with bits set in mask
 
+  additional_cpus=NUM Allow NUM more CPUs for hotplug
+                (defaults are specified by the BIOS, see Documentation/x86_64/cpu-hotplug-spec)
+
 NUMA
 
   numa=off     Only set up a single NUMA node spanning all memory.
 
+  numa=noacpi   Don't parse the SRAT table for NUMA setup
+
+  numa=fake=X   Fake X nodes and ignore NUMA setup of the actual machine.
+
+  numa=hotadd=percent
+               Only allow hotadd memory to preallocate page structures upto
+               percent of already available memory.
+               numa=hotadd=0 will disable hotadd memory.
 
 ACPI
 
@@ -124,6 +163,12 @@ ACPI
                interpreter
   acpi=force   Force ACPI on (currently not needed)
 
+  acpi=strict   Disable out of spec ACPI workarounds.
+
+  acpi_sci={edge,level,high,low}  Set up ACPI SCI interrupt.
+
+  acpi=noirq   Don't route interrupts
+
 PCI
 
   pci=off      Don't use PCI
@@ -133,20 +178,88 @@ PCI
   pci=assign-busses    Assign busses
   pci=irqmask=MASK            Set PCI interrupt mask to MASK
   pci=lastbus=NUMBER          Scan upto NUMBER busses, no matter what the mptable says.
+  pci=noacpi           Don't use ACPI to set up PCI interrupt routing.
 
 IOMMU
 
-  iommu=[size][,noagp][,off][,force][,noforce][,leak][,memaper[=order]][,soft]
+ iommu=[size][,noagp][,off][,force][,noforce][,leak][,memaper[=order]][,merge]
+         [,forcesac][,fullflush][,nomerge][,noaperture][,calgary]
    size  set size of iommu (in bytes)
    noagp don't initialize the AGP driver and use full aperture.
    off   don't use the IOMMU
    leak  turn on simple iommu leak tracing (only when CONFIG_IOMMU_LEAK is on)
    memaper[=order] allocate an own aperture over RAM with size 32MB^order.
    noforce don't force IOMMU usage. Default.
-   force  Force IOMMU
-   soft   Use software bounce buffering for non 32bit IO. Default on Intel
-          machines. 
-
-  swiotlb=pages
-
-  Prereserve that many 4K pages for the software IO bounce buffering.
+   force  Force IOMMU.
+   merge  Do SG merging. Implies force (experimental)
+   nomerge Don't do SG merging.
+   forcesac For SAC mode for masks <40bits  (experimental)
+   fullflush Flush IOMMU on each allocation (default)
+   nofullflush Don't use IOMMU fullflush
+   allowed  overwrite iommu off workarounds for specific chipsets.
+   soft         Use software bounce buffering (default for Intel machines)
+   noaperture Don't touch the aperture for AGP.
+   allowdac Allow DMA >4GB
+           When off all DMA over >4GB is forced through an IOMMU or bounce
+           buffering.
+   nodac    Forbid DMA >4GB
+   panic    Always panic when IOMMU overflows
+   calgary  Use the Calgary IOMMU if it is available
+
+  swiotlb=pages[,force]
+
+  pages  Prereserve that many 128K pages for the software IO bounce buffering.
+  force  Force all IO through the software TLB.
+
+  calgary=[64k,128k,256k,512k,1M,2M,4M,8M]
+  calgary=[translate_empty_slots]
+  calgary=[disable=<PCI bus number>]
+
+    64k,...,8M - Set the size of each PCI slot's translation table
+    when using the Calgary IOMMU. This is the size of the translation
+    table itself in main memory. The smallest table, 64k, covers an IO
+    space of 32MB; the largest, 8MB table, can cover an IO space of
+    4GB. Normally the kernel will make the right choice by itself.
+
+    translate_empty_slots - Enable translation even on slots that have
+    no devices attached to them, in case a device will be hotplugged
+    in the future.
+
+    disable=<PCI bus number> - Disable translation on a given PHB. For
+    example, the built-in graphics adapter resides on the first bridge
+    (PCI bus number 0); if translation (isolation) is enabled on this
+    bridge, X servers that access the hardware directly from user
+    space might stop working. Use this option if you have devices that
+    are accessed from userspace directly on some PCI host bridge.
+
+Debugging
+
+  oops=panic Always panic on oopses. Default is to just kill the process,
+            but there is a small probability of deadlocking the machine.
+            This will also cause panics on machine check exceptions.
+            Useful together with panic=30 to trigger a reboot.
+
+  kstack=N   Print that many words from the kernel stack in oops dumps.
+
+  pagefaulttrace Dump all page faults. Only useful for extreme debugging
+               and will create a lot of output.
+
+  call_trace=[old|both|newfallback|new]
+               old: use old inexact backtracer
+               new: use new exact dwarf2 unwinder
+               both: print entries from both
+               newfallback: use new unwinder but fall back to old if it gets
+                       stuck (default)
+
+  call_trace=[old|both|newfallback|new]
+               old: use old inexact backtracer
+               new: use new exact dwarf2 unwinder
+               both: print entries from both
+               newfallback: use new unwinder but fall back to old if it gets
+                       stuck (default)
+
+Misc
+
+  noreplacement  Don't replace instructions with more appropriate ones
+                for the CPU. This may be useful on asymmetric MP systems
+                where some CPU have less capabilities than the others.