romprefix.S currently calls uninstall() with an invalid value in %ax. Consequently, base memory is not freed after a ROM boot attempt (or after entering iPXE during POST). The uninstall() function is physically present in .text16, and so can use %cs to determine the .text16 segment address. The .data16 segment address is not required, since uninstall() is called only by code paths which set up .data16 to immediately follow .text16. Signed-off-by: Michael Brown <mcb30@ipxe.org>tags/v1.20.1
|
|
||
| 545 |
|
545 |
|
| 546 |
|
546 |
|
| 547 |
|
547 |
|
| 548 |
|
|
|
| 549 |
|
|
|
|
548 |
|
|
| 550 |
|
549 |
|
| 551 |
|
550 |
|
| 552 |
|
551 |
|
|
|
||
| 559 |
|
558 |
|
| 560 |
|
559 |
|
| 561 |
|
560 |
|
|
561 |
|
|
| 562 |
|
562 |
|
| 563 |
|
563 |
|
| 564 |
|
|
|
|
564 |
|
|
| 565 |
|
565 |
|
| 566 |
|
566 |
|
| 567 |
|
567 |
|
| 568 |
|
568 |
|
| 569 |
|
|
|
| 570 |
|
569 |
|
| 571 |
|
570 |
|
| 572 |
|
571 |
|
|
|
||
| 574 |
|
573 |
|
| 575 |
|
574 |
|
| 576 |
|
575 |
|
|
576 |
|
|
| 577 |
|
577 |
|
| 578 |
|
578 |
|
| 579 |
|
579 |
|
|
|
||
| 581 |
|
581 |
|
| 582 |
|
582 |
|
| 583 |
|
583 |
|
|
584 |
|
|
| 584 |
|
585 |
|
| 585 |
|
586 |
|
| 586 |
|
587 |
|
|
|
||
| 872 |
|
873 |
|
| 873 |
|
874 |
|
| 874 |
|
875 |
|
| 875 |
|
|
|
| 876 |
|
|
|
|
876 |
|
|
| 877 |
|
877 |
|
| 878 |
|
878 |
|
| 879 |
|
879 |
|