Hello community, here is the log from the commit of package grub checked in at Sat Oct 14 11:54:12 CEST 2006. -------- --- arch/i386/grub/grub.changes 2006-08-25 08:45:16.000000000 +0200 +++ /mounts/work_src_done/STABLE/grub/grub.changes 2006-10-12 13:13:15.000000000 +0200 @@ -1,0 +2,6 @@ +Thu Oct 12 13:03:27 CEST 2006 - agruen@suse.de + +- grub-a20.patch: Add a gate A20 workaround so that stage 2 + doesn't lock up on Intel Mac machines. + +------------------------------------------------------------------- New: ---- grub-a20.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ grub.spec ++++++ --- /var/tmp/diff_new_pack.ug9cXZ/_old 2006-10-14 11:53:51.000000000 +0200 +++ /var/tmp/diff_new_pack.ug9cXZ/_new 2006-10-14 11:53:51.000000000 +0200 @@ -18,7 +18,7 @@ License: GPL Group: System/Boot Version: 0.97 -Release: 19 +Release: 27 Source0: %{name}-%{version}.tar.gz Source1: installgrub Source2: grubonce @@ -40,6 +40,7 @@ Patch22: stage2-wildcard-zerowidth.diff Patch23: stage2-wildcard-doc.diff Patch24: grub-%{version}-protexec.patch +Patch25: http://www.scl.ameslab.gov/Projects/mini-xen/grub-a20.patch URL: http://www.gnu.org/software/grub/grub.en.html BuildRoot: %{_tmppath}/%{name}-%{version}-build Summary: Grand Unified Boot Loader @@ -92,6 +93,7 @@ #%patch22 -p1 #%patch23 -p1 %patch24 -p1 +%patch25 -p1 %build perl -pi -e 's,/usr/share/grub/i386-pc,/usr/lib/grub,' docs/grub.texi @@ -180,6 +182,9 @@ exit 0 %changelog -n grub +* Thu Oct 12 2006 - agruen@suse.de +- grub-a20.patch: Add a gate A20 workaround so that stage 2 + doesn't lock up on Intel Mac machines. * Fri Aug 25 2006 - snwint@suse.de - needs gcc41-32bit * Thu Aug 24 2006 - snwint@suse.de ++++++ grub-a20.patch ++++++ diff -u -r grub-0.97/stage2/asm.S grub-0.97-new/stage2/asm.S --- grub-0.97/stage2/asm.S 2004-06-19 16:55:22.000000000 +0000 +++ grub-0.97-new/stage2/asm.S 2006-05-19 10:56:12.000000000 +0000 @@ -1651,7 +1651,29 @@ jnz 3f ret -3: /* use keyboard controller */ +3: /* + * try to switch gateA20 using PORT92, the "Fast A20 and Init" + * register + */ + mov $0x92, %dx + inb %dx, %al + /* skip the port92 code if it's unimplemented (read returns 0xff) */ + cmpb $0xff, %al + jz 6f + + /* set or clear bit1, the ALT_A20_GATE bit */ + movb 4(%esp), %ah + testb %ah, %ah + jz 4f + orb $2, %al + jmp 5f +4: and $0xfd, %al + + /* clear the INIT_NOW bit; don't accidently reset the machine */ +5: and $0xfe, %al + outb %al, %dx + +6: /* use keyboard controller */ pushl %eax call gloop1 @@ -1661,9 +1683,12 @@ gloopint1: inb $K_STATUS + cmpb $0xff, %al + jz gloopint1_done andb $K_IBUF_FUL, %al jnz gloopint1 +gloopint1_done: movb $KB_OUTPUT_MASK, %al cmpb $0, 0x8(%esp) jz gdoit @@ -1684,6 +1709,8 @@ gloop1: inb $K_STATUS + cmpb $0xff, %al + jz gloop2ret andb $K_IBUF_FUL, %al jnz gloop1 @@ -1991,6 +2018,11 @@ ENTRY(console_getkey) push %ebp +wait_for_key: + call EXT_C(console_checkkey) + incl %eax + jz wait_for_key + call EXT_C(prot_to_real) .code16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@suse.de