You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							88 lines
						
					
					
						
							2.0 KiB
						
					
					
				
			
		
		
	
	
							88 lines
						
					
					
						
							2.0 KiB
						
					
					
				| # --- SDE-COPYRIGHT-NOTE-BEGIN --- | |
| # This copyright note is auto-generated by ./scripts/Create-CopyPatch. | |
| # | |
| # Filename: package/.../grub/mactel.patch | |
| # Copyright (C) 2006 The T2 SDE Project | |
| # | |
| # More information can be found in the files COPYING and README. | |
| # | |
| # This patch file is dual-licensed. It is available under the license the | |
| # patched project is licensed under, as long as it is an OpenSource license | |
| # as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms | |
| # of the GNU General Public License as published by the Free Software | |
| # Foundation; either version 2 of the License, or (at your option) any later | |
| # version. | |
| # --- SDE-COPYRIGHT-NOTE-END --- | |
|  | |
| Pasted together out of the OpenSolaris forum ,-) to allow booting | |
| on Macintosh Intel hardware, such as the MacBooks and the like. | |
|  | |
|   - Rene Rebe <[email protected]> | |
|  | |
| --- grub-0.97/stage2/asm.S.vanilla	2006-05-31 19:43:15.858048750 +0200 | |
| +++ grub-0.97/stage2/asm.S	2006-05-31 19:47:11.584780750 +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 | |
|  
 | |
| 
 |