rpms/kernel/devel linux-2.6-vesa-reg-clobber.patch, NONE, 1.1 kernel.spec, 1.138, 1.139

Dave Jones (davej) fedora-extras-commits at redhat.com
Fri Aug 31 20:24:48 UTC 2007


Author: davej

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv20251

Modified Files:
	kernel.spec 
Added Files:
	linux-2.6-vesa-reg-clobber.patch 
Log Message:
* Fri Aug 31 2007 Dave Jones <davej at redhat.com>
- Fix booting on Dell I5150.
  Apparently some VESA BIOS implementations clobber registers when called.


linux-2.6-vesa-reg-clobber.patch:

--- NEW FILE linux-2.6-vesa-reg-clobber.patch ---

Apparently some VESA BIOS implementations clobber our registers when called.
Tell gcc about it.

This makes my Dell Inspiron 5150 boot correctly instead of hanging.

Signed-off-by: Will Simoneau <simoneau at ele.uri.edu>

---

--- linux-2.6.22.noarch/arch/i386/boot/video-vesa.c~	2007-08-31 16:20:38.000000000 -0400
+++ linux-2.6.22.noarch/arch/i386/boot/video-vesa.c	2007-08-31 16:21:27.000000000 -0400
@@ -39,9 +39,11 @@ static int vesa_probe(void)
 
 	vginfo.signature = VBE2_MAGIC;
 
-	/* Optimistically assume a VESA BIOS is register-clean... */
 	ax = 0x4f00;
-	asm("int $0x10" : "+a" (ax), "=m" (vginfo) : "D" (&vginfo));
+	asm("int $0x10"
+		: "+a" (ax), "=m" (vginfo)
+		: "D" (&vginfo)
+		: "ebx", "ecx", "edx", "esi");
 
 	if (ax != 0x004f ||
 	    vginfo.signature != VESA_MAGIC ||
@@ -66,7 +68,8 @@ static int vesa_probe(void)
 		ax = 0x4f01;
 		asm("int $0x10"
 		    : "+a" (ax), "=m" (vminfo)
-		    : "c" (mode), "D" (&vminfo));
+		    : "c" (mode), "D" (&vminfo)
+		    : "ebx", "edx", "esi");
 
 		if (ax != 0x004f)
 			continue;


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.138
retrieving revision 1.139
diff -u -r1.138 -r1.139
--- kernel.spec	31 Aug 2007 19:31:27 -0000	1.138
+++ kernel.spec	31 Aug 2007 20:24:16 -0000	1.139
@@ -667,6 +667,7 @@
 Patch1506: linux-2.6-xfs-fix-filestreams-free-func-cast.patch
 Patch1508: linux-2.6-firewire-multi-lun.patch
 Patch1515: linux-2.6-lirc.patch
+Patch1600: linux-2.6-vesa-reg-clobber.patch
 
 %endif
 
@@ -1190,6 +1191,9 @@
 # http://www.lirc.org/
 ApplyPatch linux-2.6-lirc.patch
 
+# Some VESA BIOSs clobber registers on return.
+ApplyPatch linux-2.6-vesa-reg-clobber.patch
+
 # END OF PATCH APPLICATIONS
 
 %endif
@@ -1780,6 +1784,10 @@
 
 %changelog
 * Fri Aug 31 2007 Dave Jones <davej at redhat.com>
+- Fix booting on Dell I5150.
+  Apparently some VESA BIOS implementations clobber registers when called.
+
+* Fri Aug 31 2007 Dave Jones <davej at redhat.com>
 - Reenable CONFIG_ACPI_PROC_EVENT for now, acpid isn't ready.
 
 * Fri Aug 31 2007 Dave Jones <davej at redhat.com>




More information about the fedora-extras-commits mailing list