Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 71351b98 authored by H. Peter Anvin's avatar H. Peter Anvin
Browse files

[x86 setup] Make sure AH=00h when setting a video mode



Passing a u8 into a register doesn't mean gcc will zero-extend it.
Also, don't depend on thhe register not to change.

Per bug report from Saul Tamari.

Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
parent b015124e
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -73,9 +73,10 @@ static u8 vga_set_basic_mode(void)
		mode = 3;

	/* Set the mode */
	ax = mode;
	asm volatile(INT10
		     : : "a" (mode)
		     : "ebx", "ecx", "edx", "esi", "edi");
		     : "+a" (ax)
		     : : "ebx", "ecx", "edx", "esi", "edi");
	do_restore = 1;
	return mode;
}