diff options
| author | Michael Brown | 2008-11-07 00:08:10 +0100 |
|---|---|---|
| committer | Michael Brown | 2008-11-07 04:48:25 +0100 |
| commit | 29e6f9835ea0277c262b1ab2c4acee1d69cb7099 (patch) | |
| tree | ba53b2dcc7d2fd841ede1773a4cc3ac186a26524 /src/drivers/net | |
| parent | [phantom] Allow for PXE boot to be enabled/disabled on a per-port basis (diff) | |
| download | ipxe-29e6f9835ea0277c262b1ab2c4acee1d69cb7099.tar.gz ipxe-29e6f9835ea0277c262b1ab2c4acee1d69cb7099.tar.xz ipxe-29e6f9835ea0277c262b1ab2c4acee1d69cb7099.zip | |
[i386] Add data32 prefixes to all lgdt/lidt instructions
With a 16-bit operand, lgdt/lidt will load only a 24-bit base address,
ignoring the high-order bits. This meant that we could fail to fully
restore the GDT across a call into gPXE, if the GDT happened to be
located above the 16MB mark.
Not all of our lgdt/lidt instructions require a data32 prefix (for
example, reloading the real-mode IDT can never require a 32-bit base
address), but by adding them everywhere we will hopefully not forget
the necessary ones in future.
Diffstat (limited to 'src/drivers/net')
0 files changed, 0 insertions, 0 deletions
