COMBOOT API calls set the carry flag on failure. This was not being propagated because the COMBOOT interrupt handler used iret to return with EFLAGS restored from the stack. This patch propagates CF before returning from the interrupt. Reported-by: Geoff Lywood <glywood@vmware.com> Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Marty Connor <mdc@etherboot.org> Signed-off-by: Michael Brown <mcb30@ipxe.org>tags/v1.20.1
|
|
||
|
1 |
|
|
|
2 |
|
|
|
3 |
|
|
|
4 |
|
|
|
5 |
|
|
|
6 |
|
|
|
7 |
|
|
|
8 |
|
|
|
9 |
|
|
|
10 |
|
|
|
11 |
|
|
|
12 |
|
|
|
13 |
|
|
|
14 |
|
|
|
15 |
|
|
|
16 |
|
|
|
17 |
|
|
|
18 |
|
|
|
19 |
|
|
|
20 |
|
|
|
21 |
|
|
|
22 |
|
|
|
23 |
|
|
|
24 |
|
|
|
25 |
|
|
|
26 |
|
|
|
27 |
|
|
|
28 |
|
|
|
29 |
|
|
|
30 |
|
|
|
31 |
|
|
|
32 |
|
|
|
33 |
|
|
|
34 |
|
|
|
35 |
|
|
|
36 |
|
|
|
37 |
|
|
|
38 |
|
|
|
||
492 |
|
492 |
|
493 |
|
493 |
|
494 |
|
494 |
|
495 |
|
|
|
496 |
|
|
|
497 |
|
|
|
498 |
|
|
|
499 |
|
|
|
500 |
|
|
|
501 |
|
|
|
502 |
|
|
|
503 |
|
|
|
504 |
|
|
|
505 |
|
|
|
506 |
|
|
|
507 |
|
495 |
|
508 |
|
496 |
|
509 |
|
497 |
|
|
|
||
669 |
|
669 |
|
670 |
|
670 |
|
671 |
|
671 |
|
|
672 |
|
|
672 |
|
673 |
|
673 |
|
674 |
|
674 |
|
675 |
|
|
|
||
681 |
|
682 |
|
682 |
|
683 |
|
683 |
|
684 |
|
|
685 |
|
|
684 |
|
686 |
|
685 |
|
687 |
|
686 |
|
688 |
|
|
|
||
693 |
|
695 |
|
694 |
|
696 |
|
695 |
|
697 |
|
|
698 |
|
|
696 |
|
699 |
|
697 |
|
700 |
|
698 |
|
701 |
|