| AMD64 specific boot options |
| |
| There are many others (usually documented in driver documentation), but |
| 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 |
| |
| Everything else is in sysfs now. |
| |
| APICs |
| |
| apic Use IO-APIC. Default |
| |
| noapic Don't use the IO-APIC. |
| |
| disableapic Don't use the local APIC |
| |
| nolapic Don't use the local APIC (alias for i386 compatibility) |
| |
| 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 |
| earlyprintk=serial[,ttySn[,baudrate]] |
| |
| The early console is useful when the kernel crashes before the |
| normal console is initialized. It is not enabled by |
| default because it has some cosmetic problems. |
| Append ,keep to not disable it when the real console takes over. |
| Only vga or serial at a time, not both. |
| Currently only ttyS0 and ttyS1 are supported. |
| Interaction with the standard serial driver is not very good. |
| The VGA output is eventually overwritten by the real console. |
| |
| 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. |
| |
| report_lost_ticks |
| Report when timer interrupts are lost because some code turned off |
| interrupts for too long. |
| |
| nmi_watchdog=NUMBER[,panic] |
| NUMBER can be: |
| 0 don't use an NMI watchdog |
| 1 use the IO-APIC timer for the NMI watchdog |
| 2 use the local APIC for the NMI watchdog using a performance counter. Note |
| This will use one performance counter and the local APIC's performance |
| vector. |
| When panic is specified panic when an NMI watchdog timeout occurs. |
| 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 |
| Don't do power saving in the idle loop using HLT, but poll for rescheduling |
| 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 reboot vector for warm reset |
| warm Don't set the cold reboot flag |
| cold Set the cold reboot flag |
| triple Force a triple fault (init) |
| kbd Use the keyboard controller. cold reset (default) |
| |
| Using warm reset will be much faster especially on big memory |
| systems because the BIOS will not go through the memory check. |
| 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(default) |
| off Disable |
| |
| SMP |
| |
| nosmp Only use a single CPU |
| |
| maxcpus=NUMBER only use upto NUMBER CPUs |
| |
| 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 |
| |
| acpi=off Don't enable ACPI |
| acpi=ht Use ACPI boot table parsing, but don't enable 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 |
| pci=conf1 Use conf1 access. |
| pci=conf2 Use conf2 access. |
| pci=rom Assign ROMs. |
| 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]][,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. |
| 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. |