Skip to content

Commit

Permalink
docs: move x86 documentation into Documentation/arch/
Browse files Browse the repository at this point in the history
Move the x86 documentation under Documentation/arch/ as a way of cleaning
up the top-level directory and making the structure of our docs more
closely match the structure of the source directories it describes.

All in-kernel references to the old paths have been updated.

Acked-by: Dave Hansen <dave.hansen@linux.intel.com>
Cc: linux-arch@vger.kernel.org
Cc: x86@kernel.org
Cc: Borislav Petkov <bp@alien8.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/lkml/20230315211523.108836-1-corbet@lwn.net/
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
  • Loading branch information
Jonathan Corbet committed Mar 30, 2023
1 parent f030c8f commit ff61f07
Show file tree
Hide file tree
Showing 75 changed files with 54 additions and 54 deletions.
2 changes: 1 addition & 1 deletion Documentation/admin-guide/hw-vuln/mds.rst
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ Because the buffers are potentially shared between Hyper-Threads cross
Hyper-Thread attacks are possible.

Deeper technical information is available in the MDS specific x86
architecture section: :ref:`Documentation/x86/mds.rst <mds>`.
architecture section: :ref:`Documentation/arch/x86/mds.rst <mds>`.


Attack scenarios
Expand Down
2 changes: 1 addition & 1 deletion Documentation/admin-guide/hw-vuln/tsx_async_abort.rst
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ attacker needs to begin a TSX transaction and raise an asynchronous abort
which in turn potentially leaks data stored in the buffers.

More detailed technical information is available in the TAA specific x86
architecture section: :ref:`Documentation/x86/tsx_async_abort.rst <tsx_async_abort>`.
architecture section: :ref:`Documentation/arch/x86/tsx_async_abort.rst <tsx_async_abort>`.


Attack scenarios
Expand Down
6 changes: 3 additions & 3 deletions Documentation/admin-guide/kernel-parameters.rst
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ parameter is applicable::
X86-32 X86-32, aka i386 architecture is enabled.
X86-64 X86-64 architecture is enabled.
More X86-64 boot options can be found in
Documentation/x86/x86_64/boot-options.rst.
Documentation/arch/x86/x86_64/boot-options.rst.
X86 Either 32-bit or 64-bit x86 (same as X86-32+X86-64)
X86_UV SGI UV support is enabled.
XEN Xen support is enabled
Expand All @@ -192,10 +192,10 @@ In addition, the following text indicates that the option::
Parameters denoted with BOOT are actually interpreted by the boot
loader, and have no meaning to the kernel directly.
Do not modify the syntax of boot loader parameters without extreme
need or coordination with <Documentation/x86/boot.rst>.
need or coordination with <Documentation/arch/x86/boot.rst>.

There are also arch-specific kernel-parameters not documented here.
See for example <Documentation/x86/x86_64/boot-options.rst>.
See for example <Documentation/arch/x86/x86_64/boot-options.rst>.

Note that ALL kernel parameters listed below are CASE SENSITIVE, and that
a trailing = on the name of any parameter states that that parameter will
Expand Down
8 changes: 4 additions & 4 deletions Documentation/admin-guide/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2973,7 +2973,7 @@

mce [X86-32] Machine Check Exception

mce=option [X86-64] See Documentation/x86/x86_64/boot-options.rst
mce=option [X86-64] See Documentation/arch/x86/x86_64/boot-options.rst

md= [HW] RAID subsystems devices and level
See Documentation/admin-guide/md.rst.
Expand Down Expand Up @@ -4410,7 +4410,7 @@
and performance comparison.

pirq= [SMP,APIC] Manual mp-table setup
See Documentation/x86/i386/IO-APIC.rst.
See Documentation/arch/x86/i386/IO-APIC.rst.

plip= [PPT,NET] Parallel port network link
Format: { parport<nr> | timid | 0 }
Expand Down Expand Up @@ -5588,7 +5588,7 @@

serialnumber [BUGS=X86-32]

sev=option[,option...] [X86-64] See Documentation/x86/x86_64/boot-options.rst
sev=option[,option...] [X86-64] See Documentation/arch/x86/x86_64/boot-options.rst

shapers= [NET]
Maximal number of shapers.
Expand Down Expand Up @@ -6767,7 +6767,7 @@
Can be used multiple times for multiple devices.

vga= [BOOT,X86-32] Select a particular video mode
See Documentation/x86/boot.rst and
See Documentation/arch/x86/boot.rst and
Documentation/admin-guide/svga.rst.
Use vga=ask for menu.
This is actually a boot loader parameter; the value is
Expand Down
2 changes: 1 addition & 1 deletion Documentation/admin-guide/ras.rst
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ Architecture (MCA)\ [#f3]_.
mode).
.. [#f3] For more details about the Machine Check Architecture (MCA),
please read Documentation/x86/x86_64/machinecheck.rst at the Kernel tree.
please read Documentation/arch/x86/x86_64/machinecheck.rst at the Kernel tree.
EDAC - Error Detection And Correction
*************************************
Expand Down
4 changes: 2 additions & 2 deletions Documentation/admin-guide/sysctl/kernel.rst
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ is 0x15 and the full version number is 0x234, this file will contain
the value 340 = 0x154.

See the ``type_of_loader`` and ``ext_loader_type`` fields in
Documentation/x86/boot.rst for additional information.
Documentation/arch/x86/boot.rst for additional information.


bootloader_version (x86 only)
Expand All @@ -105,7 +105,7 @@ The complete bootloader version number. In the example above, this
file will contain the value 564 = 0x234.

See the ``type_of_loader`` and ``ext_loader_ver`` fields in
Documentation/x86/boot.rst for additional information.
Documentation/arch/x86/boot.rst for additional information.


bpf_stats_enabled
Expand Down
2 changes: 1 addition & 1 deletion Documentation/arch/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@ implementation.
../s390/index
../sh/index
../sparc/index
../x86/index
x86/index
../xtensa/index
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -1344,7 +1344,7 @@ follow::
In addition to read/modify/write the setup header of the struct
boot_params as that of 16-bit boot protocol, the boot loader should
also fill the additional fields of the struct boot_params as
described in chapter Documentation/x86/zero-page.rst.
described in chapter Documentation/arch/x86/zero-page.rst.

After setting up the struct boot_params, the boot loader can load the
32/64-bit kernel in the same way as that of 16-bit boot protocol.
Expand Down Expand Up @@ -1380,7 +1380,7 @@ can be calculated as follows::
In addition to read/modify/write the setup header of the struct
boot_params as that of 16-bit boot protocol, the boot loader should
also fill the additional fields of the struct boot_params as described
in chapter Documentation/x86/zero-page.rst.
in chapter Documentation/arch/x86/zero-page.rst.

After setting up the struct boot_params, the boot loader can load
64-bit kernel in the same way as that of 16-bit boot protocol, but
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ DeviceTree Booting
the decompressor (the real mode entry point goes to the same 32bit
entry point once it switched into protected mode). That entry point
supports one calling convention which is documented in
Documentation/x86/boot.rst
Documentation/arch/x86/boot.rst
The physical pointer to the device-tree block is passed via setup_data
which requires at least boot protocol 2.09.
The type filed is defined as
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ are aligned with platform MTRR setup. If MTRRs are only set up by the platform
firmware code though and the OS does not make any specific MTRR mapping
requests mtrr_type_lookup() should always return MTRR_TYPE_INVALID.

For details refer to Documentation/x86/pat.rst.
For details refer to Documentation/arch/x86/pat.rst.

.. tip::
On Intel P6 family processors (Pentium Pro, Pentium II and later)
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ physical address space. This "ought to be enough for anybody" ©.
QEMU 2.9 and later support 5-level paging.

Virtual memory layout for 5-level paging is described in
Documentation/x86/x86_64/mm.rst
Documentation/arch/x86/x86_64/mm.rst


Enabling 5-level paging
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ only the AMD64 specific ones are listed here.

Machine check
=============
Please see Documentation/x86/x86_64/machinecheck.rst for sysfs runtime tunables.
Please see Documentation/arch/x86/x86_64/machinecheck.rst for sysfs runtime tunables.

mce=off
Disable machine check
Expand Down Expand Up @@ -82,7 +82,7 @@ APICs
Don't use the local APIC (alias for i386 compatibility)

pirq=...
See Documentation/x86/i386/IO-APIC.rst
See Documentation/arch/x86/i386/IO-APIC.rst

noapictimer
Don't set up the APIC timer
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ For more information on the features of cpusets, see
Documentation/admin-guide/cgroup-v1/cpusets.rst.
There are a number of different configurations you can use for your needs. For
more information on the numa=fake command line option and its various ways of
configuring fake nodes, see Documentation/x86/x86_64/boot-options.rst.
configuring fake nodes, see Documentation/arch/x86/x86_64/boot-options.rst.

For the purposes of this introduction, we'll assume a very primitive NUMA
emulation setup of "numa=fake=4*512,". This will split our system memory into
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion Documentation/core-api/asm-annotations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ information. In particular, on properly annotated objects, ``objtool`` can be
run to check and fix the object if needed. Currently, ``objtool`` can report
missing frame pointer setup/destruction in functions. It can also
automatically generate annotations for the ORC unwinder
(Documentation/x86/orc-unwinder.rst)
(Documentation/arch/x86/orc-unwinder.rst)
for most code. Both of these are especially important to support reliable
stack traces which are in turn necessary for kernel live patching
(Documentation/livepatch/livepatch.rst).
Expand Down
2 changes: 1 addition & 1 deletion Documentation/driver-api/device-io.rst
Original file line number Diff line number Diff line change
Expand Up @@ -410,7 +410,7 @@ ioremap_uc()

ioremap_uc() behaves like ioremap() except that on the x86 architecture without
'PAT' mode, it marks memory as uncached even when the MTRR has designated
it as cacheable, see Documentation/x86/pat.rst.
it as cacheable, see Documentation/arch/x86/pat.rst.

Portable drivers should avoid the use of ioremap_uc().

Expand Down
2 changes: 1 addition & 1 deletion Documentation/virt/kvm/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7456,7 +7456,7 @@ system fingerprint. To prevent userspace from circumventing such restrictions
by running an enclave in a VM, KVM prevents access to privileged attributes by
default.

See Documentation/x86/sgx.rst for more details.
See Documentation/arch/x86/sgx.rst for more details.

7.26 KVM_CAP_PPC_RPT_INVALIDATE
-------------------------------
Expand Down
12 changes: 6 additions & 6 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -1071,7 +1071,7 @@ M: Naveen Krishna Chatradhi <naveenkrishna.chatradhi@amd.com>
R: Carlos Bilbao <carlos.bilbao@amd.com>
L: platform-driver-x86@vger.kernel.org
S: Maintained
F: Documentation/x86/amd_hsmp.rst
F: Documentation/arch/x86/amd_hsmp.rst
F: arch/x86/include/asm/amd_hsmp.h
F: arch/x86/include/uapi/asm/amd_hsmp.h
F: drivers/platform/x86/amd/hsmp.c
Expand Down Expand Up @@ -10643,7 +10643,7 @@ L: tboot-devel@lists.sourceforge.net
S: Supported
W: http://tboot.sourceforge.net
T: hg http://tboot.hg.sourceforge.net:8000/hgroot/tboot/tboot
F: Documentation/x86/intel_txt.rst
F: Documentation/arch/x86/intel_txt.rst
F: arch/x86/kernel/tboot.c
F: include/linux/tboot.h

Expand All @@ -10654,7 +10654,7 @@ L: linux-sgx@vger.kernel.org
S: Supported
Q: https://patchwork.kernel.org/project/intel-sgx/list/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/sgx
F: Documentation/x86/sgx.rst
F: Documentation/arch/x86/sgx.rst
F: arch/x86/entry/vdso/vsgx.S
F: arch/x86/include/asm/sgx.h
F: arch/x86/include/uapi/asm/sgx.h
Expand Down Expand Up @@ -17630,7 +17630,7 @@ M: Fenghua Yu <fenghua.yu@intel.com>
M: Reinette Chatre <reinette.chatre@intel.com>
L: linux-kernel@vger.kernel.org
S: Supported
F: Documentation/x86/resctrl*
F: Documentation/arch/x86/resctrl*
F: arch/x86/include/asm/resctrl.h
F: arch/x86/kernel/cpu/resctrl/
F: tools/testing/selftests/resctrl/
Expand Down Expand Up @@ -22660,7 +22660,7 @@ L: linux-kernel@vger.kernel.org
S: Maintained
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/core
F: Documentation/devicetree/bindings/x86/
F: Documentation/x86/
F: Documentation/arch/x86/
F: arch/x86/

X86 ENTRY CODE
Expand All @@ -22676,7 +22676,7 @@ M: Borislav Petkov <bp@alien8.de>
L: linux-edac@vger.kernel.org
S: Maintained
F: Documentation/ABI/testing/sysfs-mce
F: Documentation/x86/x86_64/machinecheck.rst
F: Documentation/arch/x86/x86_64/machinecheck.rst
F: arch/x86/kernel/cpu/mce/*

X86 MICROCODE UPDATE SUPPORT
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -986,7 +986,7 @@ config SMP
uniprocessor machines. On a uniprocessor machine, the kernel
will run faster if you say N here.

See also <file:Documentation/x86/i386/IO-APIC.rst>,
See also <file:Documentation/arch/x86/i386/IO-APIC.rst>,
<file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO available at
<http://tldp.org/HOWTO/SMP-HOWTO.html>.

Expand Down
10 changes: 5 additions & 5 deletions arch/x86/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -434,7 +434,7 @@ config SMP
Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
Management" code will be disabled if you say Y here.

See also <file:Documentation/x86/i386/IO-APIC.rst>,
See also <file:Documentation/arch/x86/i386/IO-APIC.rst>,
<file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO available at
<http://www.tldp.org/docs.html#howto>.

Expand Down Expand Up @@ -1324,7 +1324,7 @@ config MICROCODE
the Linux kernel.

The preferred method to load microcode from a detached initrd is described
in Documentation/x86/microcode.rst. For that you need to enable
in Documentation/arch/x86/microcode.rst. For that you need to enable
CONFIG_BLK_DEV_INITRD in order for the loader to be able to scan the
initrd for microcode blobs.

Expand Down Expand Up @@ -1510,7 +1510,7 @@ config X86_5LEVEL
A kernel with the option enabled can be booted on machines that
support 4- or 5-level paging.

See Documentation/x86/x86_64/5level-paging.rst for more
See Documentation/arch/x86/x86_64/5level-paging.rst for more
information.

Say N if unsure.
Expand Down Expand Up @@ -1774,7 +1774,7 @@ config MTRR
You can safely say Y even if your machine doesn't have MTRRs, you'll
just add about 9 KB to your kernel.

See <file:Documentation/x86/mtrr.rst> for more information.
See <file:Documentation/arch/x86/mtrr.rst> for more information.

config MTRR_SANITIZER
def_bool y
Expand Down Expand Up @@ -2551,7 +2551,7 @@ config PAGE_TABLE_ISOLATION
ensuring that the majority of kernel addresses are not mapped
into userspace.

See Documentation/x86/pti.rst for more details.
See Documentation/arch/x86/pti.rst for more details.

config RETPOLINE
bool "Avoid speculative indirect branches in kernel"
Expand Down
2 changes: 1 addition & 1 deletion arch/x86/Kconfig.debug
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ config IOMMU_DEBUG
code. When you use it make sure you have a big enough
IOMMU/AGP aperture. Most of the options enabled by this can
be set more finegrained using the iommu= command line
options. See Documentation/x86/x86_64/boot-options.rst for more
options. See Documentation/arch/x86/x86_64/boot-options.rst for more
details.

config IOMMU_LEAK
Expand Down
2 changes: 1 addition & 1 deletion arch/x86/boot/header.S
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,7 @@ start_sys_seg: .word SYSSEG # obsolete and meaningless, but just

type_of_loader: .byte 0 # 0 means ancient bootloader, newer
# bootloaders know to change this.
# See Documentation/x86/boot.rst for
# See Documentation/arch/x86/boot.rst for
# assigned ids

# flags, unused bits must be zero (RFU) bit within loadflags
Expand Down
2 changes: 1 addition & 1 deletion arch/x86/entry/entry_64.S
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
*
* entry.S contains the system-call and fault low-level handling routines.
*
* Some of this is documented in Documentation/x86/entry_64.rst
* Some of this is documented in Documentation/arch/x86/entry_64.rst
*
* A note on terminology:
* - iret frame: Architecture defined interrupt frame from SS to RIP
Expand Down
2 changes: 1 addition & 1 deletion arch/x86/include/asm/bootparam_utils.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ static void sanitize_boot_params(struct boot_params *boot_params)
* IMPORTANT NOTE TO BOOTLOADER AUTHORS: do not simply clear
* this field. The purpose of this field is to guarantee
* compliance with the x86 boot spec located in
* Documentation/x86/boot.rst . That spec says that the
* Documentation/arch/x86/boot.rst . That spec says that the
* *whole* structure should be cleared, after which only the
* portion defined by struct setup_header (boot_params->hdr)
* should be copied in.
Expand Down
2 changes: 1 addition & 1 deletion arch/x86/include/asm/page_64_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@

#define __START_KERNEL_map _AC(0xffffffff80000000, UL)

/* See Documentation/x86/x86_64/mm.rst for a description of the memory map. */
/* See Documentation/arch/x86/x86_64/mm.rst for a description of the memory map. */

#define __PHYSICAL_MASK_SHIFT 52

Expand Down
2 changes: 1 addition & 1 deletion arch/x86/include/asm/pgtable_64_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ extern unsigned int ptrs_per_p4d;
#define PGDIR_MASK (~(PGDIR_SIZE - 1))

/*
* See Documentation/x86/x86_64/mm.rst for a description of the memory map.
* See Documentation/arch/x86/x86_64/mm.rst for a description of the memory map.
*
* Be very careful vs. KASLR when changing anything here. The KASLR address
* range must not overlap with anything except the KASAN shadow area, which
Expand Down
2 changes: 1 addition & 1 deletion arch/x86/kernel/cpu/microcode/amd.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ static u8 amd_ucode_patch[MAX_NUMNODES][PATCH_MAX_SIZE];

/*
* Microcode patch container file is prepended to the initrd in cpio
* format. See Documentation/x86/microcode.rst
* format. See Documentation/arch/x86/microcode.rst
*/
static const char
ucode_path[] __maybe_unused = "kernel/x86/microcode/AuthenticAMD.bin";
Expand Down
2 changes: 1 addition & 1 deletion arch/x86/kernel/cpu/resctrl/monitor.c
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ unsigned int resctrl_rmid_realloc_limit;
#define CF(cf) ((unsigned long)(1048576 * (cf) + 0.5))

/*
* The correction factor table is documented in Documentation/x86/resctrl.rst.
* The correction factor table is documented in Documentation/arch/x86/resctrl.rst.
* If rmid > rmid threshold, MBM total and local values should be multiplied
* by the correction factor.
*
Expand Down
2 changes: 1 addition & 1 deletion arch/x86/kernel/cpu/sgx/sgx.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

#define EREMOVE_ERROR_MESSAGE \
"EREMOVE returned %d (0x%x) and an EPC page was leaked. SGX may become unusable. " \
"Refer to Documentation/x86/sgx.rst for more information."
"Refer to Documentation/arch/x86/sgx.rst for more information."

#define SGX_MAX_EPC_SECTIONS 8
#define SGX_EEXTEND_BLOCK_SIZE 256
Expand Down
Loading

0 comments on commit ff61f07

Please sign in to comment.