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 |
|