Procházet zdrojové kódy

fix order of calling set_bios_mode()

Signed-off-by: Alexander Kuleshov <kuleshovmail@gmail.com>
Alexander Kuleshov před 6 roky
rodič
revize
b4f824db27
1 změnil soubory, kde provedl 18 přidání a 18 odebrání
  1. 18 18
      Booting/linux-bootstrap-2.md

+ 18 - 18
Booting/linux-bootstrap-2.md

@@ -358,6 +358,24 @@ if (cpu_level < req_level) {
 
 The `check_cpu` function checks the CPU's flags, the presence of [long mode](http://en.wikipedia.org/wiki/Long_mode) in the case of x86_64(64-bit) CPU, checks the processor's vendor and makes preparations for certain vendors like turning off SSE+SSE2 for AMD if they are missing, etc.
 
+at the next step, we may see a call to the `set_bios_mode` function after setup code found that a CPU is suitable. As we may see, this function is implemented only for the `x86_64` mode:
+
+```C
+static void set_bios_mode(void)
+{
+#ifdef CONFIG_X86_64
+	struct biosregs ireg;
+
+	initregs(&ireg);
+	ireg.ax = 0xec00;
+	ireg.bx = 2;
+	intcall(0x15, &ireg, NULL);
+#endif
+}
+```
+
+The `set_bios_mode` function executes the `0x15` BIOS interrupt to tell the BIOS that [long mode](https://en.wikipedia.org/wiki/Long_mode) (if `bx == 2`) will be used.
+
 Memory detection
 --------------------------------------------------------------------------------
 
@@ -404,24 +422,6 @@ You can see the result of this in the `dmesg` output, something like:
 [    0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
 ```
 
-Next, we may see a call to the `set_bios_mode` function. As we may see, this function is implemented only for the `x86_64` mode:
-
-```C
-static void set_bios_mode(void)
-{
-#ifdef CONFIG_X86_64
-	struct biosregs ireg;
-
-	initregs(&ireg);
-	ireg.ax = 0xec00;
-	ireg.bx = 2;
-	intcall(0x15, &ireg, NULL);
-#endif
-}
-```
-
-The `set_bios_mode` function executes the `0x15` BIOS interrupt to tell the BIOS that [long mode](https://en.wikipedia.org/wiki/Long_mode) (if `bx == 2`) will be used.
-
 Keyboard initialization
 --------------------------------------------------------------------------------