diff options
author | ronald | 2011-08-03 19:21:09 +0000 |
---|---|---|
committer | ronald | 2011-08-03 19:21:09 +0000 |
commit | 2597ac00f7328c869b9b8b9172b5567b841b7b52 (patch) | |
tree | 70e281639c8a838f321d949701af49771a1363a6 /intelmac.patch | |
download | aur-2597ac00f7328c869b9b8b9172b5567b841b7b52.tar.gz |
upgpkg: grub 0.97-18
fix compile issues; handle new kernel naming scheme in install-grub script; make install-grub script slightly smarter (though still not very smart)
git-svn-id: file:///srv/repos/svn-packages/svn@134414 eb2447ed-0c53-47e4-bac8-5bc4a241df78
Diffstat (limited to 'intelmac.patch')
-rw-r--r-- | intelmac.patch | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/intelmac.patch b/intelmac.patch new file mode 100644 index 000000000000..a3fabc7330d1 --- /dev/null +++ b/intelmac.patch @@ -0,0 +1,67 @@ +--- grub-0.97.orig/stage2/asm.S 2004-06-19 18:55:22.000000000 +0200 ++++ grub-0.97/stage2/asm.S 2006-04-21 11:10:52.000000000 +0200 +@@ -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 + |