Changeset 213
- Timestamp:
- Nov 9, 2017, 11:25:41 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/bootcode/regular/partscan.asm
r171 r213 442 442 ; Ignore these partitions, because there are no real Partitions 443 443 444 445 ; If this flag is set, no scanning should be done. 446 ; So we jump to the epilog which tries to mark a primary on the boot 447 ; disk because we are in an 'overflow' situation and a properly setup 448 ; MBR can do no harm. 449 mov al, cs:[TooManyPartitions] 450 test al, al 451 jnz PSSP_Epilog 452 453 454 ; Check the number of partitions for this iteration of the scan-loop. 455 ; If the maximum has been reached an error-box is shown to the user. 456 cmp word ptr cs:[NewPartitions],LocIPT_MaxPartitions 457 jae PSSP_TooManyPartitions 458 459 444 460 ; 445 ; Stop scanning if too many partitions. 461 ; The limit has not been reached yet, so check this partition for 462 ; potential adding to the list and jump over the error-box. 446 463 ; 447 cmp word ptr cs:[NewPartitions],LocIPT_MaxPartitions448 jae skip_check449 464 call PARTSCAN_CheckThisPartition 450 465 jmp PSSP_IgnorePartition 451 skip_check: 452 ; Cannot boot LVM-Data partitions 466 467 468 PSSP_TooManyPartitions: 469 470 ; If we are on the second iteration after we encountered too many 471 ; partitions we stop scanning. 472 mov al, cs:[TooManyPartitions] 473 test al, al 474 jnz PSSP_NoMarkPrimary 475 476 ; First time we encountered too many partitions, 477 ; show the error-box. 453 478 pusha 454 mov byte ptr cs:[TooManyPartitions],1455 479 mov cx, 0C04h 456 ;~ mov si, offset TXT_ERROR_TooManyPartitions457 480 mov si, offset TXT_TooManyPartitions 458 481 add si,5 ; We stole this string, so skip new-line and dash. 459 ;~ call SETUP_Warning_AreYouSure460 482 call SETUP_ShowErrorBox 483 484 ; Record that too many partitions are present. 485 mov byte ptr cs:[TooManyPartitions],1 461 486 popa 487 488 ; Further scanning is aborted. 489 jmp PSSP_Epilog 490 462 491 463 492 PSSP_IgnorePartition: … … 471 500 add si, LocBRPT_LenOfEntry ; 16 Bytes per partition entry 472 501 cmp si, 500+offset PartitionSector 502 503 504 ; Next iteration 473 505 jb PSSP_ScanLoop 506 507 508 PSSP_Epilog: 509 474 510 ; If we are on first HDD and in primary partition table -> mark primary 475 511 mov al, [BIOS_BootDisk]
Note:
See TracChangeset
for help on using the changeset viewer.