|
@@ -189,14 +189,11 @@ NORET_TYPE void machine_kexec(struct kimage *image)
|
|
|
memcpy((void *)reboot_code_buffer, relocate_new_kernel,
|
|
|
relocate_new_kernel_size);
|
|
|
|
|
|
- /* The segment registers are funny things, they are
|
|
|
- * automatically loaded from a table, in memory wherever you
|
|
|
- * set them to a specific selector, but this table is never
|
|
|
- * accessed again you set the segment to a different selector.
|
|
|
- *
|
|
|
- * The more common model is are caches where the behide
|
|
|
- * the scenes work is done, but is also dropped at arbitrary
|
|
|
- * times.
|
|
|
+ /* The segment registers are funny things, they have both a
|
|
|
+ * visible and an invisible part. Whenever the visible part is
|
|
|
+ * set to a specific selector, the invisible part is loaded
|
|
|
+ * with from a table in memory. At no other time is the
|
|
|
+ * descriptor table in memory accessed.
|
|
|
*
|
|
|
* I take advantage of this here by force loading the
|
|
|
* segments, before I zap the gdt with an invalid value.
|