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.tags/v0.9.6
|  |  | ||
| 341 |  | 341 |  | 
| 342 |  | 342 |  | 
| 343 |  | 343 |  | 
| 344 |  |  | |
|  | 344 |  | |
| 345 |  | 345 |  | 
| 346 |  | 346 |  | 
| 347 |  | 347 |  | 
|  |  | ||
| 377 |  | 377 |  | 
| 378 |  | 378 |  | 
| 379 |  | 379 |  | 
| 380 |  |  | |
|  | 380 |  | |
| 381 |  | 381 |  | 
| 382 |  | 382 |  | 
| 383 |  | 383 |  | 
|  |  | ||
| 203 |  | 203 |  | 
| 204 |  | 204 |  | 
| 205 |  | 205 |  | 
| 206 |  |  | |
| 207 |  |  | |
|  | 206 |  | |
|  | 207 |  | |
| 208 |  | 208 |  | 
| 209 |  | 209 |  | 
| 210 |  | 210 |  | 
|  |  | ||
| 316 |  | 316 |  | 
| 317 |  | 317 |  | 
| 318 |  | 318 |  | 
| 319 |  |  | |
|  | 319 |  | |
| 320 |  | 320 |  | 
| 321 |  | 321 |  | 
| 322 |  | 322 |  | 
|  |  | ||
| 424 |  | 424 |  | 
| 425 |  | 425 |  | 
| 426 |  | 426 |  | 
| 427 |  |  | |
| 428 |  |  | |
|  | 427 |  | |
|  | 428 |  | |
| 429 |  | 429 |  | 
| 430 |  | 430 |  | 
| 431 |  | 431 |  |