GDT Tutorial: Difference between revisions

Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content deleted Content added
Fixed bit shifting error as pointed out on the talk page, some comments and changed SEG_TYPE to SEG_DESCTYPE to differentiate segment and descriptor types
Alexander (talk | contribs)
m a little typo/grammar fix
Line 76: Line 76:
=== Filling the table ===
=== Filling the table ===


You noticed that I didn't gave a real structure for <tt>GDT[]</tt>, didn't you? That's on purpose. The actual structure of descriptors is a little messy for backwards compatibility with the 286's GDT. Base address are split on 3 different fields and you cannot encode any limit you want. Plus, here and there, you have flags that you need to set up properly if you want things to work.
You noticed that I didn't give a real structure for <tt>GDT[]</tt>, didn't you? That's on purpose. The actual structure of descriptors is a little messy for backwards compatibility with the 286's GDT. Base address are split on 3 different fields and you cannot encode any limit you want. Plus, here and there, you have flags that you need to set up properly if you want things to work.


<source lang="c">
<source lang="c">