diff --git a/ChangeLog b/ChangeLog index 1f45736be..e1fc494ec 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2000-09-09 Alessandro Rubini + + * stage1/stage1.S (notification_string): Print "GRUB " instead + of "stage1 ". + * stage2/start.S [STAGE1_5] (notification_string): Print + "Loading stage1.5" instead of "stage1.5 ". + [!STAGE1_5] (notification_string): Print "Loading stage2" + instead of "stage2 ". + (notification_step): New label, followed by a string ".". + (notification_done): New label, followed by a string "\r\n". + (copy_buffer): Print NOTIFICATION_STEP after copying the buffer. + (bootit): Print NOTIFICATION_DONE before restoring %dx. + 2000-09-09 OKUJI Yoshinori From Alessandro Rubini: diff --git a/stage1/stage1.S b/stage1/stage1.S index 05e74719a..50d4fec8d 100644 --- a/stage1/stage1.S +++ b/stage1/stage1.S @@ -397,7 +397,7 @@ general_error: /* go here when you need to stop the machine hard after an error condition */ stop: jmp stop -notification_string: .string "stage1 " +notification_string: .string "GRUB " geometry_error_string: .string "Geom" hd_probe_error_string: .string "Hard Disk" read_error_string: .string "Read" diff --git a/stage2/start.S b/stage2/start.S index af079fc04..b96900d75 100644 --- a/stage2/start.S +++ b/stage2/start.S @@ -284,9 +284,9 @@ copy_buffer: movw %ax, %cx /* save addressing regs */ - pushw %ds pushw %si pushw %di + pushw %ds xorw %di, %di /* zero offset of destination addresses */ xorw %si, %si /* zero offset of source addresses */ @@ -298,10 +298,12 @@ copy_buffer: rep /* sets a repeat */ movsb /* this runs the actual copy */ - /* restore addressing regs */ + /* restore addressing regs and print a dot with correct DS + (MSG modifies SI, which is saved, and unused AX and BX) */ + popw %ds + MSG(notification_step) popw %di popw %si - popw %ds /* check if finished with this dataset */ cmpw $0, 4(%di) @@ -316,6 +318,8 @@ copy_buffer: /* END OF MAIN LOOP */ bootit: + /* print a newline */ + MSG(notification_done) popw %dx /* this makes sure %dl is our "boot" drive */ #ifdef STAGE1_5 ljmp $0, $0x2200 @@ -344,10 +348,13 @@ general_error: stop: jmp stop #ifdef STAGE1_5 -notification_string: .string "stage1.5 " +notification_string: .string "Loading stage1.5" #else -notification_string: .string "stage2 " +notification_string: .string "Loading stage2" #endif + +notification_step: .string "." +notification_done: .string "\r\n" geometry_error_string: .string "Geom" read_error_string: .string "Read"