At least one boot sector (the DUET boot sector used for bootstrapping EFI from a non-EFI system) fails to initialise the high words of registers before using them in calculations, leading to undefined behaviour. Work around such broken boot sectors by explicitly zeroing the contents of all registers apart from %cs:%ip and %ss:%sp. Signed-off-by: Michael Brown <mcb30@ipxe.org>tags/v1.20.1
|
|
||
80 |
|
80 |
|
81 |
|
81 |
|
82 |
|
82 |
|
83 |
|
|
|
|
83 |
|
|
84 |
|
84 |
|
85 |
|
85 |
|
|
86 |
|
|
|
87 |
|
|
|
88 |
|
|
|
89 |
|
|
|
90 |
|
|
|
91 |
|
|
|
92 |
|
|
|
93 |
|
|
|
94 |
|
|
|
95 |
|
|
|
96 |
|
|
|
97 |
|
|
|
98 |
|
|
86 |
|
99 |
|
87 |
|
100 |
|
88 |
|
101 |
|