[RFC PATCH] Documentation/x86/boot.rst: minor languge improvement

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Suggested-by: H. Peter Anvin <hpa@xxxxxxxxx>
Signed-off-by: Cao jin <caoj.fnst@xxxxxxxxxxxxxx>
---
for 64-bit protocol, setup data still needs to be mapped, as there is
operation on it in extract_kernel(), like:

        sanitize_boot_params(boot_params);

initrd doesn't need to be mapped, which is also what KASLR does in its
mem_avoid_init().

 Documentation/x86/boot.rst | 31 +++++++++++++++----------------
 1 file changed, 15 insertions(+), 16 deletions(-)

diff --git a/Documentation/x86/boot.rst b/Documentation/x86/boot.rst
index 7fafc7ac00d7..392c6e147e70 100644
--- a/Documentation/x86/boot.rst
+++ b/Documentation/x86/boot.rst
@@ -1353,12 +1353,12 @@ In 32-bit boot protocol, the kernel is started by jumping to the
 32/64-bit kernel.
 
 At entry, the CPU must be in 32-bit protected mode with paging
-disabled; a GDT must be loaded with the descriptors for selectors
-__BOOT_CS(0x10) and __BOOT_DS(0x18); both descriptors must be 4G flat
-segment; __BOOT_CS must have execute/read permission, and __BOOT_DS
-must have read/write permission; CS must be __BOOT_CS and DS, ES, SS
-must be __BOOT_DS; interrupt must be disabled; %esi must hold the base
-address of the struct boot_params; %ebp, %edi and %ebx must be zero.
+disabled and a GDT must be loaded with the descriptors for selectors
+__BOOT_CS(0x10) and __BOOT_DS(0x18): both descriptors must be 4G flat
+segment with __BOOT_CS having execute/read permission and __BOOT_DS
+having read/write permission. CS must be __BOOT_CS and DS, ES, SS
+must be __BOOT_DS. Interrupt must be disabled and %esi must hold the
+base address of the struct boot_params. %ebp, %edi and %ebx must be zero.
 
 64-bit Boot Protocol
 ====================
@@ -1379,7 +1379,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 zero-page.txt.
+in 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
@@ -1389,15 +1389,14 @@ In 64-bit boot protocol, the kernel is started by jumping to the
 64-bit kernel entry point, which is the start address of loaded
 64-bit kernel plus 0x200.
 
-At entry, the CPU must be in 64-bit mode with paging enabled.
-The range with setup_header.init_size from start address of loaded
-kernel and zero page and command line buffer get ident mapping;
-a GDT must be loaded with the descriptors for selectors
-__BOOT_CS(0x10) and __BOOT_DS(0x18); both descriptors must be 4G flat
-segment; __BOOT_CS must have execute/read permission, and __BOOT_DS
-must have read/write permission; CS must be __BOOT_CS and DS, ES, SS
-must be __BOOT_DS; interrupt must be disabled; %rsi must hold the base
-address of the struct boot_params.
+At entry, the CPU must be in 64-bit mode. The range with
+setup_header.init_size from start address of loaded kernel, the zero page,
+and the command line buffer get identity-mapped, and a GDT must be loaded
+with the descriptors for selectors __BOOT_CS(0x10) and __BOOT_DS(0x18):
+both descriptors must be 4G flat segment with __BOOT_CS having execute/read
+permission and __BOOT_DS having read/write permission. CS must be __BOOT_CS
+and DS, ES, SS must be __BOOT_DS. Interrupt must be disabled and %rsi must
+hold the base address of the struct boot_params.
 
 EFI Handover Protocol (deprecated)
 ==================================
-- 
2.21.0






[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux