Display fallback message in case poweroff fails (contributed by Feiran 'Fam' Zheng)
This commit is contained in:
parent
c7859a538c
commit
ebec792700
@ -54,18 +54,41 @@ gate_A20:
|
|||||||
mov $0x5301,%ax
|
mov $0x5301,%ax
|
||||||
mov $0x0,%bx
|
mov $0x0,%bx
|
||||||
int 0x15
|
int 0x15
|
||||||
|
jc apm_err
|
||||||
|
|
||||||
/* Enable power management */
|
/* Enable power management */
|
||||||
mov $0x5308,%ax
|
mov $0x5308,%ax
|
||||||
mov $0x1,%bx
|
mov $0x1,%bx
|
||||||
mov $0x1,%cx
|
mov $0x1,%cx
|
||||||
int 0x15
|
int 0x15
|
||||||
|
jc apm_err
|
||||||
|
|
||||||
/* Set power state to off */
|
/* Set power state to off */
|
||||||
mov $0x5307,%ax
|
mov $0x5307,%ax
|
||||||
mov $0x01,%bx
|
mov $0x01,%bx
|
||||||
mov $0x3,%cx
|
mov $0x3,%cx
|
||||||
int 0x15
|
int 0x15
|
||||||
|
jc apm_err
|
||||||
|
0: hlt
|
||||||
|
jmp 0b
|
||||||
|
|
||||||
|
poweroff_msg:
|
||||||
|
.ascii "You can poweroff the machine safely now"
|
||||||
|
poweroff_msg_end:
|
||||||
|
#define POWEROFF_MSG_LEN (poweroff_msg_end-poweroff_msg)
|
||||||
|
apm_err:
|
||||||
|
/* If APM can't perform the shutdown, print something to inform */
|
||||||
|
mov $0x02, %ax /* clear screen */
|
||||||
|
int $0x10
|
||||||
|
|
||||||
|
mov $(BIOS_POWEROFF_ENTRY >> 4), %ax
|
||||||
|
mov %ax, %es
|
||||||
|
mov $0x1301, %ax
|
||||||
|
mov $0x07, %bx
|
||||||
|
mov $POWEROFF_MSG_LEN, %cx
|
||||||
|
mov $0x0300, %dx
|
||||||
|
mov $(poweroff_msg - _poweroff16), %bp
|
||||||
|
int $0x10
|
||||||
0: hlt
|
0: hlt
|
||||||
jmp 0b
|
jmp 0b
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user