mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-30 21:44:27 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			41 lines
		
	
	
		
			877 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			877 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- a/arch/x86/boot/boot.h
 | |
| +++ b/arch/x86/boot/boot.h
 | |
| @@ -60,7 +60,7 @@ static inline void outl(u32 v, u16 port)
 | |
|  {
 | |
|  	asm volatile("outl %0,%1" : : "a" (v), "dN" (port));
 | |
|  }
 | |
| -static inline u32 inl(u32 port)
 | |
| +static inline u32 inl(u16 port)
 | |
|  {
 | |
|  	u32 v;
 | |
|  	asm volatile("inl %1,%0" : "=a" (v) : "dN" (port));
 | |
| --- a/arch/x86/boot/pm.c
 | |
| +++ b/arch/x86/boot/pm.c
 | |
| @@ -16,6 +16,9 @@
 | |
|  
 | |
|  #include "boot.h"
 | |
|  #include <asm/segment.h>
 | |
| +#ifdef CONFIG_X86_RDC
 | |
| +#include <asm/mach-rdc/rdc321x_defs.h>
 | |
| +#endif
 | |
|  
 | |
|  /*
 | |
|   * Invoke the realmode switch hook if present; otherwise
 | |
| @@ -160,6 +163,16 @@ void go_to_protected_mode(void)
 | |
|  		die();
 | |
|  	}
 | |
|  
 | |
| +#ifdef CONFIG_X86_RDC
 | |
| +	{
 | |
| +		u32 bootctl;
 | |
| +
 | |
| +		outl(0x80003840, RDC3210_CFGREG_ADDR);
 | |
| +		bootctl = inl(RDC3210_CFGREG_DATA) | 0x07ff0000;
 | |
| +		outl(bootctl, RDC3210_CFGREG_DATA);
 | |
| +	}
 | |
| +#endif
 | |
| +
 | |
|  	/* Reset coprocessor (IGNNE#) */
 | |
|  	reset_coprocessor();
 | |
|  
 |