[backfire] merge r22561
[openwrt-10.03/.git] / target / linux / rdc / patches-2.6.32 / 005-fix_amit_breakage.patch
1 --- a/arch/x86/boot/boot.h
2 +++ b/arch/x86/boot/boot.h
3 @@ -64,7 +64,7 @@ static inline void outl(u32 v, u16 port)
4  {
5         asm volatile("outl %0,%1" : : "a" (v), "dN" (port));
6  }
7 -static inline u32 inl(u32 port)
8 +static inline u32 inl(u16 port)
9  {
10         u32 v;
11         asm volatile("inl %1,%0" : "=a" (v) : "dN" (port));
12 --- a/arch/x86/boot/pm.c
13 +++ b/arch/x86/boot/pm.c
14 @@ -14,6 +14,9 @@
15  
16  #include "boot.h"
17  #include <asm/segment.h>
18 +#ifdef CONFIG_X86_RDC321X
19 +#include <asm/rdc321x_defs.h>
20 +#endif
21  
22  /*
23   * Invoke the realmode switch hook if present; otherwise
24 @@ -112,6 +115,16 @@ void go_to_protected_mode(void)
25                 die();
26         }
27  
28 +#ifdef CONFIG_X86_RDC321X
29 +       {
30 +               u32 bootctl;
31 +
32 +               outl(0x80003840, RDC3210_CFGREG_ADDR);
33 +               bootctl = inl(RDC3210_CFGREG_DATA) | 0x07ff0000;
34 +               outl(bootctl, RDC3210_CFGREG_DATA);
35 +       }
36 +#endif
37 +
38         /* Reset coprocessor (IGNNE#) */
39         reset_coprocessor();
40