Re: [PATCH] shorten the x86_64 boot setup GDT to what the commentsays

From: Steven Rostedt
Date: Thu Nov 09 2006 - 10:19:32 EST




On Thu, 9 Nov 2006, Alexander van Heukelum wrote:

> > gdt_48:
> > - .word 0x8000 # gdt limit=2048,
> > + .word 0x800 # gdt limit=2048,
> > # 256 GDT entries
> >
> > .word 0, 0 # gdt base (filled in later)
>
> The limit should be the offset of the last byte of the gdt table. So
> I think what was meant was really 0x7ff. Comparing this code with the
> i386-version, why does x86_64 need 256 entries here, while i386 is happy
> with just the code-segment and data-segment descriptors?
>


Hmm, Andi,

Should this be more like what is done in x86? Although this isn't a major
bug or anything, would it be cleaner. For example doing:

@@ -836,11 +836,15 @@ gdt:
.word 0x9200 # data read/write
.word 0x00CF # granularity = 4096, 386
# (+5th nibble of limit)
+gdt_end:
+ .align 4
+
+ .word 0 # alignment byte
idt_48:
.word 0 # idt limit = 0
.word 0, 0 # idt base = 0L
gdt_48:
- .word 0x8000 # gdt limit=2048,
+ .word gdt_end - gdt - 1 # gdt limit=2048,
# 256 GDT entries

.word 0, 0 # gdt base (filled in

instead?

If so, I can send you another patch that does this. Will need to test it
first.

-- Steve

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/