COMBOOT images use INTs to issue API calls; these end up making calls into gPXE from real mode, and so temporarily change the real-mode stack pointer. When our COMBOOT code uses a longjmp() to implement the various "exit COMBOOT image" API calls, this leaves the real-mode stack pointer stuck with its temporary value, which causes problems if we eventually try to exit out of gPXE back to the BIOS. Fix by adding rmsetjmp() and rmlongjmp() calls (analogous to sigsetjmp()/siglongjmp()); these save and restore the additional state needed for real-mode calls to function correctly.tags/v0.9.7
|
|
||
52 |
|
52 |
|
53 |
|
53 |
|
54 |
|
54 |
|
55 |
|
|
|
|
55 |
|
|
56 |
|
56 |
|
57 |
|
57 |
|
58 |
|
58 |
|
|
|
||
133 |
|
133 |
|
134 |
|
134 |
|
135 |
|
135 |
|
136 |
|
|
|
|
136 |
|
|
137 |
|
137 |
|
138 |
|
138 |
|
139 |
|
139 |
|
|
|
||
78 |
|
78 |
|
79 |
|
79 |
|
80 |
|
80 |
|
81 |
|
|
|
|
81 |
|
|
82 |
|
82 |
|
83 |
|
83 |
|
84 |
|
84 |
|
|
|
||
1 |
|
1 |
|
2 |
|
2 |
|
3 |
|
3 |
|
|
4 |
|
|
|
5 |
|
|
4 |
|
6 |
|
5 |
|
|
|
6 |
|
|
|
7 |
|
|
|
|
7 |
|
|
|
8 |
|
|
|
9 |
|
|
|
10 |
|
|
|
11 |
|
|
|
12 |
|
|
|
13 |
|
|
|
14 |
|
|
|
15 |
|
|
8 |
|
16 |
|
9 |
|
|
|
10 |
|
|
|
|
17 |
|
|
|
18 |
|
|
|
19 |
|
|
|
20 |
|
|
|
21 |
|
|
|
22 |
|
|
|
23 |
|
|
|
24 |
|
|
|
25 |
|
|
|
26 |
|
|
|
27 |
|
|
|
28 |
|
|
|
29 |
|
|
|
30 |
|
|
|
31 |
|
|
|
32 |
|
|
|
33 |
|
|
|
34 |
|
|
|
35 |
|
|
|
36 |
|
|
11 |
|
37 |
|
12 |
|
38 |
|
|
|
||
67 |
|
67 |
|
68 |
|
68 |
|
69 |
|
69 |
|
70 |
|
|
|
|
70 |
|
|
71 |
|
71 |
|
72 |
|
72 |
|
73 |
|
73 |
|
|
|
||
235 |
|
235 |
|
236 |
|
236 |
|
237 |
|
237 |
|
238 |
|
|
|
|
238 |
|
|
239 |
|
239 |
|
240 |
|
240 |
|
241 |
|
241 |
|
|
|
||
248 |
|
248 |
|
249 |
|
249 |
|
250 |
|
250 |
|
251 |
|
|
|
|
251 |
|
|
252 |
|
252 |
|
253 |
|
253 |
|
254 |
|
254 |
|
|
|
||
347 |
|
347 |
|
348 |
|
348 |
|
349 |
|
349 |
|
350 |
|
|
|
|
350 |
|
|
351 |
|
351 |
|
352 |
|
352 |
|
353 |
|
353 |
|
354 |
|
354 |
|
355 |
|
355 |
|
356 |
|
|
|
|
356 |
|
|
357 |
|
357 |
|
358 |
|
358 |
|
359 |
|
359 |
|
|
|
||
552 |
|
552 |
|
553 |
|
553 |
|
554 |
|
554 |
|
555 |
|
|
|
|
555 |
|
|
556 |
|
556 |
|
557 |
|
557 |
|
558 |
|
558 |
|