Re: [PATCH 21/27] Documentation: x86: convert x86_64/boot-options.txt to reST

From: Changbin Du
Date: Thu May 02 2019 - 01:50:31 EST


On Sat, Apr 27, 2019 at 03:30:31PM -0300, Mauro Carvalho Chehab wrote:
> Em Fri, 26 Apr 2019 23:31:44 +0800
> Changbin Du <changbin.du@xxxxxxxxx> escreveu:
>
> > This converts the plain text documentation to reStructuredText format and
> > add it to Sphinx TOC tree. No essential content change.
> >
> > Signed-off-by: Changbin Du <changbin.du@xxxxxxxxx>
> > ---
> > Documentation/x86/index.rst | 1 +
> > Documentation/x86/x86_64/boot-options.rst | 326 ++++++++++++++++++++++
> > Documentation/x86/x86_64/boot-options.txt | 278 ------------------
> > Documentation/x86/x86_64/index.rst | 10 +
> > 4 files changed, 337 insertions(+), 278 deletions(-)
> > create mode 100644 Documentation/x86/x86_64/boot-options.rst
> > delete mode 100644 Documentation/x86/x86_64/boot-options.txt
> > create mode 100644 Documentation/x86/x86_64/index.rst
> >
> > diff --git a/Documentation/x86/index.rst b/Documentation/x86/index.rst
> > index 19323c5b89ce..e7becb146c30 100644
> > --- a/Documentation/x86/index.rst
> > +++ b/Documentation/x86/index.rst
> > @@ -27,3 +27,4 @@ Linux x86 Support
> > resctrl_ui
> > usb-legacy-support
> > i386/index
> > + x86_64/index
> > diff --git a/Documentation/x86/x86_64/boot-options.rst b/Documentation/x86/x86_64/boot-options.rst
> > new file mode 100644
> > index 000000000000..2378f30c694a
> > --- /dev/null
> > +++ b/Documentation/x86/x86_64/boot-options.rst
> > @@ -0,0 +1,326 @@
> > +.. SPDX-License-Identifier: GPL-2.0
> > +
> > +===========================
> > +AMD64 Specific Boot Options
> > +===========================
> > +
> > +There are many others (usually documented in driver documentation), but
> > +only the AMD64 specific ones are listed here.
> > +
> > +Machine check
> > +=============
> > +Please see Documentation/x86/x86_64/machinecheck for sysfs runtime tunables.
> > +
> > + mce=off
> > + Disable machine check
> > + mce=no_cmci
> > + Disable CMCI(Corrected Machine Check Interrupt) that
> > + Intel processor supports. Usually this disablement is
> > + not recommended, but it might be handy if your hardware
> > + is misbehaving.
> > + Note that you'll get more problems without CMCI than with
> > + due to the shared banks, i.e. you might get duplicated
> > + error logs.
> > + mce=dont_log_ce
> > + Don't make logs for corrected errors. All events reported
> > + as corrected are silently cleared by OS.
> > + This option will be useful if you have no interest in any
> > + of corrected errors.
> > + mce=ignore_ce
> > + Disable features for corrected errors, e.g. polling timer
> > + and CMCI. All events reported as corrected are not cleared
> > + by OS and remained in its error banks.
> > + Usually this disablement is not recommended, however if
> > + there is an agent checking/clearing corrected errors
> > + (e.g. BIOS or hardware monitoring applications), conflicting
> > + with OS's error handling, and you cannot deactivate the agent,
> > + then this option will be a help.
> > + mce=no_lmce
> > + Do not opt-in to Local MCE delivery. Use legacy method
> > + to broadcast MCEs.
> > + mce=bootlog
> > + Enable logging of machine checks left over from booting.
> > + Disabled by default on AMD Fam10h and older 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[,monarchtimeout] (number,number)
> > + tolerance levels:
> > + 0: always panic on uncorrected errors, log corrected errors
> > + 1: panic or SIGBUS on uncorrected errors, log corrected errors
> > + 2: SIGBUS or log uncorrected errors, log corrected errors
> > + 3: never panic or SIGBUS, log all errors (for testing only)
> > + Default is 1
> > + Can be also set using sysfs which is preferable.
> > + monarchtimeout:
> > + Sets the time in us to wait for other CPUs on machine checks. 0
> > + to disable.
> > + mce=bios_cmci_threshold
> > + Don't overwrite the bios-set CMCI threshold. This boot option
> > + prevents Linux from overwriting the CMCI threshold set by the
> > + bios. Without this option, Linux always sets the CMCI
> > + threshold to 1. Enabling this may make memory predictive failure
> > + analysis less effective if the bios sets thresholds for memory
> > + errors since we will not see details for all errors.
> > + mce=recovery
> > + Force-enable recoverable machine check code paths
> > +
> > + 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/x86/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.
> > +
> > + apicpmtimer
> > + Do APIC timer calibration using the pmtimer. Implies
> > + apicmaintimer. Useful when your PIT timer is totally broken.
> > +
> > +Timing
> > +======
> > +
> > + notsc
> > + Deprecated, use tsc=unstable instead.
> > +
> > + 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] | a[cpi] | e[fi] [, [w]arm | [c]old]
> > + * bios - Use the CPU reboot vector for warm reset
>
> Please use the same convention as the one you used before, e. g.:
>
> * bios
> Use the CPU reboot vector for warm reset
>
> and so on.
>
Sure.

> After such change:
>
> Reviewed-by: Mauro Carvalho Chehab <mchehab+samsung@xxxxxxxxxx>
>
>
> > + * 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)
> > + * acpi - Use the ACPI RESET_REG in the FADT. If ACPI is not configured or
> > + the ACPI reset does not work, the reboot path attempts the reset
> > + using the keyboard controller.
> > + * efi - Use efi reset_system runtime service. If EFI is not configured or
> > + the EFI reset does not work, the reboot path attempts the reset using
> > + the keyboard controller.
> > +
> > + 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
> > +
> > +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=<size>[MG]
> > + If given as a memory unit, fills all system RAM with nodes of
> > + size interleaved over physical nodes.
> > +
> > + numa=fake=<N>
> > + If given as an integer, fills all system RAM with N fake nodes
> > + interleaved over physical nodes.
> > +
> > + numa=fake=<N>U
> > + If given as an integer followed by 'U', it will divide each
> > + physical node into N emulated nodes.
> > +
> > +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
> > + acpi=nocmcff
> > + Disable firmware first mode for corrected errors. This
> > + disables parsing the HEST CMC error source to check if
> > + firmware has set the FF flag. This may result in
> > + duplicate corrected error reports.
> > +
> > +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 up to NUMBER busses, no matter what the mptable says.
> > + pci=noacpi
> > + Don't use ACPI to set up PCI interrupt routing.
> > +
> > +IOMMU (input/output memory management unit)
> > +===========================================
> > +Multiple x86-64 PCI-DMA mapping implementations exist, for example:
> > +
> > + 1. <lib/dma-direct.c>: use no hardware/software IOMMU at all
> > + (e.g. because you have < 3 GB memory).
> > + Kernel boot message: "PCI-DMA: Disabling IOMMU"
> > +
> > + 2. <arch/x86/kernel/amd_gart_64.c>: AMD GART based hardware IOMMU.
> > + Kernel boot message: "PCI-DMA: using GART IOMMU"
> > +
> > + 3. <arch/x86_64/kernel/pci-swiotlb.c> : Software IOMMU implementation. Used
> > + e.g. if there is no hardware IOMMU in the system and it is need because
> > + you have >3GB memory or told the kernel to us it (iommu=soft))
> > + Kernel boot message: "PCI-DMA: Using software bounce buffering
> > + for IO (SWIOTLB)"
> > +
> > + 4. <arch/x86_64/pci-calgary.c> : IBM Calgary hardware IOMMU. Used in IBM
> > + pSeries and xSeries servers. This hardware IOMMU supports DMA address
> > + mapping with memory protection, etc.
> > + Kernel boot message: "PCI-DMA: Using Calgary IOMMU"
> > +
> > +::
> > +
> > + iommu=[<size>][,noagp][,off][,force][,noforce]
> > + [,memaper[=<order>]][,merge][,fullflush][,nomerge]
> > + [,noaperture][,calgary]
> > +
> > +General iommu options:
> > +
> > + off
> > + Don't initialize and use any kind of IOMMU.
> > + noforce
> > + Don't force hardware IOMMU usage when it is not needed. (default).
> > + force
> > + Force the use of the hardware IOMMU even when it is
> > + not actually needed (e.g. because < 3 GB memory).
> > + soft
> > + Use software bounce buffering (SWIOTLB) (default for
> > + Intel machines). This can be used to prevent the usage
> > + of an available hardware IOMMU.
> > +
> > +iommu options only relevant to the AMD GART hardware IOMMU:
> > +
> > + <size>
> > + Set the size of the remapping area in bytes.
> > + allowed
> > + Overwrite iommu off workarounds for specific chipsets.
> > + fullflush
> > + Flush IOMMU on each allocation (default).
> > + nofullflush
> > + Don't use IOMMU fullflush.
> > + memaper[=<order>]
> > + Allocate an own aperture over RAM with size 32MB<<order.
> > + (default: order=1, i.e. 64MB)
> > + merge
> > + Do scatter-gather (SG) merging. Implies "force" (experimental).
> > + nomerge
> > + Don't do scatter-gather (SG) merging.
> > + noaperture
> > + Ask the IOMMU not to touch the aperture for AGP.
> > + noagp
> > + Don't initialize the AGP driver and use full aperture.
> > + panic
> > + Always panic when IOMMU overflows.
> > + calgary
> > + Use the Calgary IOMMU if it is available
> > +
> > +iommu options only relevant to the software bounce buffering (SWIOTLB) IOMMU
> > +implementation:
> > +
> > + swiotlb=<pages>[,force]
> > + <pages>
> > + Prereserve that many 128K pages for the software IO bounce buffering.
> > + force
> > + Force all IO through the software TLB.
> > +
> > +Settings for the IBM Calgary hardware IOMMU currently found in IBM
> > +pSeries and xSeries machines
> > +
> > + calgary=[64k,128k,256k,512k,1M,2M,4M,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.
> > + calgary=[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.
> > + calgary=[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.
> > + panic
> > + Always panic when IOMMU overflows
> > +
> > +
> > +Miscellaneous
> > +=============
> > +
> > + nogbpages
> > + Do not use GB pages for kernel direct mappings.
> > + gbpages
> > + Use GB pages for kernel direct mappings.
> > diff --git a/Documentation/x86/x86_64/boot-options.txt b/Documentation/x86/x86_64/boot-options.txt
> > deleted file mode 100644
> > index abc53886655e..000000000000
> > --- a/Documentation/x86/x86_64/boot-options.txt
> > +++ /dev/null
> > @@ -1,278 +0,0 @@
> > -AMD64 specific boot options
> > -
> > -There are many others (usually documented in driver documentation), but
> > -only the AMD64 specific ones are listed here.
> > -
> > -Machine check
> > -
> > - Please see Documentation/x86/x86_64/machinecheck for sysfs runtime tunables.
> > -
> > - mce=off
> > - Disable machine check
> > - mce=no_cmci
> > - Disable CMCI(Corrected Machine Check Interrupt) that
> > - Intel processor supports. Usually this disablement is
> > - not recommended, but it might be handy if your hardware
> > - is misbehaving.
> > - Note that you'll get more problems without CMCI than with
> > - due to the shared banks, i.e. you might get duplicated
> > - error logs.
> > - mce=dont_log_ce
> > - Don't make logs for corrected errors. All events reported
> > - as corrected are silently cleared by OS.
> > - This option will be useful if you have no interest in any
> > - of corrected errors.
> > - mce=ignore_ce
> > - Disable features for corrected errors, e.g. polling timer
> > - and CMCI. All events reported as corrected are not cleared
> > - by OS and remained in its error banks.
> > - Usually this disablement is not recommended, however if
> > - there is an agent checking/clearing corrected errors
> > - (e.g. BIOS or hardware monitoring applications), conflicting
> > - with OS's error handling, and you cannot deactivate the agent,
> > - then this option will be a help.
> > - mce=no_lmce
> > - Do not opt-in to Local MCE delivery. Use legacy method
> > - to broadcast MCEs.
> > - mce=bootlog
> > - Enable logging of machine checks left over from booting.
> > - Disabled by default on AMD Fam10h and older 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[,monarchtimeout] (number,number)
> > - tolerance levels:
> > - 0: always panic on uncorrected errors, log corrected errors
> > - 1: panic or SIGBUS on uncorrected errors, log corrected errors
> > - 2: SIGBUS or log uncorrected errors, log corrected errors
> > - 3: never panic or SIGBUS, log all errors (for testing only)
> > - Default is 1
> > - Can be also set using sysfs which is preferable.
> > - monarchtimeout:
> > - Sets the time in us to wait for other CPUs on machine checks. 0
> > - to disable.
> > - mce=bios_cmci_threshold
> > - Don't overwrite the bios-set CMCI threshold. This boot option
> > - prevents Linux from overwriting the CMCI threshold set by the
> > - bios. Without this option, Linux always sets the CMCI
> > - threshold to 1. Enabling this may make memory predictive failure
> > - analysis less effective if the bios sets thresholds for memory
> > - errors since we will not see details for all errors.
> > - mce=recovery
> > - Force-enable recoverable machine check code paths
> > -
> > - 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/x86/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.
> > - apicpmtimer
> > - Do APIC timer calibration using the pmtimer. Implies
> > - apicmaintimer. Useful when your PIT timer is totally
> > - broken.
> > -
> > -Timing
> > -
> > - notsc
> > - Deprecated, use tsc=unstable instead.
> > -
> > - 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] | a[cpi] | e[fi] [, [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)
> > - acpi Use the ACPI RESET_REG in the FADT. If ACPI is not configured or the
> > - ACPI reset does not work, the reboot path attempts the reset using
> > - the keyboard controller.
> > - efi Use efi reset_system runtime service. If EFI is not configured or the
> > - EFI reset does not work, the reboot path attempts the reset using
> > - the keyboard controller.
> > -
> > - 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
> > -
> > -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=<size>[MG]
> > - If given as a memory unit, fills all system RAM with nodes of
> > - size interleaved over physical nodes.
> > -
> > - numa=fake=<N>
> > - If given as an integer, fills all system RAM with N fake nodes
> > - interleaved over physical nodes.
> > -
> > - numa=fake=<N>U
> > - If given as an integer followed by 'U', it will divide each
> > - physical node into N emulated nodes.
> > -
> > -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
> > -
> > - acpi=nocmcff Disable firmware first mode for corrected errors. This
> > - disables parsing the HEST CMC error source to check if
> > - firmware has set the FF flag. This may result in
> > - duplicate corrected error reports.
> > -
> > -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 up to NUMBER busses, no matter what the mptable says.
> > - pci=noacpi Don't use ACPI to set up PCI interrupt routing.
> > -
> > -IOMMU (input/output memory management unit)
> > -
> > - Multiple x86-64 PCI-DMA mapping implementations exist, for example:
> > -
> > - 1. <lib/dma-direct.c>: use no hardware/software IOMMU at all
> > - (e.g. because you have < 3 GB memory).
> > - Kernel boot message: "PCI-DMA: Disabling IOMMU"
> > -
> > - 2. <arch/x86/kernel/amd_gart_64.c>: AMD GART based hardware IOMMU.
> > - Kernel boot message: "PCI-DMA: using GART IOMMU"
> > -
> > - 3. <arch/x86_64/kernel/pci-swiotlb.c> : Software IOMMU implementation. Used
> > - e.g. if there is no hardware IOMMU in the system and it is need because
> > - you have >3GB memory or told the kernel to us it (iommu=soft))
> > - Kernel boot message: "PCI-DMA: Using software bounce buffering
> > - for IO (SWIOTLB)"
> > -
> > - 4. <arch/x86_64/pci-calgary.c> : IBM Calgary hardware IOMMU. Used in IBM
> > - pSeries and xSeries servers. This hardware IOMMU supports DMA address
> > - mapping with memory protection, etc.
> > - Kernel boot message: "PCI-DMA: Using Calgary IOMMU"
> > -
> > - iommu=[<size>][,noagp][,off][,force][,noforce]
> > - [,memaper[=<order>]][,merge][,fullflush][,nomerge]
> > - [,noaperture][,calgary]
> > -
> > - General iommu options:
> > - off Don't initialize and use any kind of IOMMU.
> > - noforce Don't force hardware IOMMU usage when it is not needed.
> > - (default).
> > - force Force the use of the hardware IOMMU even when it is
> > - not actually needed (e.g. because < 3 GB memory).
> > - soft Use software bounce buffering (SWIOTLB) (default for
> > - Intel machines). This can be used to prevent the usage
> > - of an available hardware IOMMU.
> > -
> > - iommu options only relevant to the AMD GART hardware IOMMU:
> > - <size> Set the size of the remapping area in bytes.
> > - allowed Overwrite iommu off workarounds for specific chipsets.
> > - fullflush Flush IOMMU on each allocation (default).
> > - nofullflush Don't use IOMMU fullflush.
> > - memaper[=<order>] Allocate an own aperture over RAM with size 32MB<<order.
> > - (default: order=1, i.e. 64MB)
> > - merge Do scatter-gather (SG) merging. Implies "force"
> > - (experimental).
> > - nomerge Don't do scatter-gather (SG) merging.
> > - noaperture Ask the IOMMU not to touch the aperture for AGP.
> > - noagp Don't initialize the AGP driver and use full aperture.
> > - panic Always panic when IOMMU overflows.
> > - calgary Use the Calgary IOMMU if it is available
> > -
> > - iommu options only relevant to the software bounce buffering (SWIOTLB) IOMMU
> > - implementation:
> > - swiotlb=<pages>[,force]
> > - <pages> Prereserve that many 128K pages for the software IO
> > - bounce buffering.
> > - force Force all IO through the software TLB.
> > -
> > - Settings for the IBM Calgary hardware IOMMU currently found in IBM
> > - pSeries and xSeries machines:
> > -
> > - calgary=[64k,128k,256k,512k,1M,2M,4M,8M]
> > - calgary=[translate_empty_slots]
> > - calgary=[disable=<PCI bus number>]
> > - panic Always panic when IOMMU overflows
> > -
> > - 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.
> > -
> > -Miscellaneous
> > -
> > - nogbpages
> > - Do not use GB pages for kernel direct mappings.
> > - gbpages
> > - Use GB pages for kernel direct mappings.
> > diff --git a/Documentation/x86/x86_64/index.rst b/Documentation/x86/x86_64/index.rst
> > new file mode 100644
> > index 000000000000..a8cf7713cac9
> > --- /dev/null
> > +++ b/Documentation/x86/x86_64/index.rst
> > @@ -0,0 +1,10 @@
> > +.. SPDX-License-Identifier: GPL-2.0
> > +
> > +==============
> > +x86_64 Support
> > +==============
> > +
> > +.. toctree::
> > + :maxdepth: 2
> > +
> > + boot-options
>
>
>
> Thanks,
> Mauro

--
Cheers,
Changbin Du