Changeset 169 for trunk/bootcode/regular/driveio.asm
- Timestamp:
- Apr 8, 2017, 12:28:07 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/bootcode/regular/driveio.asm
r168 r169 616 616 617 617 IFDEF AUX_DEBUG 618 IF 0618 IF 1 619 619 DBG_TEXT_OUT_AUX 'DriveIO_SaveLVMSectorXBR:' 620 620 PUSHRF 621 621 call DEBUG_DumpRegisters 622 ;~call AuxIO_DumpSector622 call AuxIO_DumpSector 623 623 ;~ call AuxIO_DumpParagraph 624 624 ;~ call AuxIO_TeletypeNL … … 653 653 sbb bx, 0 ; Propagate borrow to LBA hi 654 654 655 ; Writing an LVM sector is always the result of modifications to a 656 ; previously loaded one. So, now that we have the LBA address of the 657 ; LVM sector, the one about to be overwritten should be there. 658 ; If it's not, something is seriously wrong and we quit immetiately. 659 pusha ; Push our context except the flags 660 mov si, offset [Scratch] ; Sector buffer to load the LVM sector 661 call ClearSectorBuffer ; Make sure no old LVM info is present 662 mov di, ds ; Segment of buffer 663 call DriveIO_ReadSectorLBA ; Load the old LVM sector 664 call LVM_ValidateSector ; CF=1 if valid 665 cmc ; Complement for disk i/o semantics 666 popa ; Restore our context except the flags 667 668 ; OOPS, There was no LVM sector there !! 669 jc DriveIO_SaveLVMSectorXBR_no_lvm 670 655 671 ; Save the LVM sector pointed to by SI 656 672 mov di, ds ; Segment of that buffer 657 call DriveIO_WriteSectorLBA ; Readthe LVM sector658 659 IFDEF AUX_DEBUG 660 IF 0673 call DriveIO_WriteSectorLBA ; Write the LVM sector 674 675 IFDEF AUX_DEBUG 676 IF 1 661 677 DBG_TEXT_OUT_AUX 'LVMSecSaved' 662 678 PUSHRF … … 676 692 677 693 DriveIO_SaveLVMSectorXBR_no_lvm: 678 ; Indicate no valid LVM sector was loaded694 ; Indicate no valid LVM sector was saved 679 695 stc 680 696
Note:
See TracChangeset
for help on using the changeset viewer.