<div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial">Hi, All,<br><br>Why kernel reloads these segment registers in startup_32 again ? Just liking the following:<br><br>=======================<br>ENTRY(startup_32)<br>&nbsp;&nbsp;&nbsp; movl pa(stack_start),%ecx<br><br>&nbsp;&nbsp;&nbsp; /* test KEEP_SEGMENTS flag to see if the bootloader is asking<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; us to not reload segments */<br>&nbsp;&nbsp;&nbsp; testb $(1&lt;&lt;6), BP_loadflags(%esi)<br>&nbsp;&nbsp;&nbsp; jnz 2f<br><br>/*<br>&nbsp;* Set segments to known values.<br>&nbsp;*/<br>&nbsp;&nbsp;&nbsp; lgdt pa(boot_gdt_descr)<br>&nbsp;&nbsp;&nbsp; movl $(__BOOT_DS),%eax<br>&nbsp;&nbsp;&nbsp; movl %eax,%ds<br>&nbsp;&nbsp;&nbsp; ...<br>======================<br><br>Considering bootloader, such as GRUB has already load these segments, so why kernel reloads them again while wasting CPU ?<br><br>Thanks,<br>Jacky<br><br><br></div><br><br><span title="neteasefooter"><span id="netease_mail_footer"></span></span>