0091fa4ad2c6f3bd8557b481a6afd12122826ca5
[15.05/openwrt.git] / target / linux / ixp4xx / patches-3.3 / 000-adjust_virtual_addresses.patch
1 The current fixed physical/virtual mappings for the internal peripherals
2 of the ixp4xx SoC devices is using a virtual address outside of the vmalloc
3 region. This results in kernel warnings like this on the boot console:
4
5   BUG: mapping for 0xc8000000 at 0xffbeb000 out of vmalloc space
6   BUG: mapping for 0xc4000000 at 0xffbfe000 out of vmalloc space
7   BUG: mapping for 0xc0000000 at 0xffbff000 out of vmalloc space
8
9 The virtual kernel memory layout lists this for the vmalloc region:
10
11     ...
12     vmalloc : 0xc2800000 - 0xff000000   ( 968 MB)
13     ...
14
15 With a little adjustment to the virtual address used we can map these
16 internal devices in the vmalloc region.
17
18 Signed-off-by: Greg Ungerer <gerg@uclinux.org>
19
20 ---
21 arch/arm/mach-ixp4xx/include/mach/ixp4xx-regs.h |   14 +++++++-------
22  1 files changed, 7 insertions(+), 7 deletions(-)
23
24 --- a/arch/arm/mach-ixp4xx/include/mach/ixp4xx-regs.h
25 +++ b/arch/arm/mach-ixp4xx/include/mach/ixp4xx-regs.h
26 @@ -32,11 +32,11 @@
27   *
28   * 0x6000000   0x00004000      ioremap'd       QMgr
29   *
30 - * 0xC0000000  0x00001000      0xffbff000      PCI CFG
31 + * 0xC0000000  0x00001000      0xfebff000      PCI CFG
32   *
33 - * 0xC4000000  0x00001000      0xffbfe000      EXP CFG
34 + * 0xC4000000  0x00001000      0xfebfe000      EXP CFG
35   *
36 - * 0xC8000000  0x00013000      0xffbeb000      On-Chip Peripherals
37 + * 0xC8000000  0x00013000      0xfebeb000      On-Chip Peripherals
38   */
39  
40  /*
41 @@ -49,21 +49,21 @@
42   * Expansion BUS Configuration registers
43   */
44  #define IXP4XX_EXP_CFG_BASE_PHYS       (0xC4000000)
45 -#define IXP4XX_EXP_CFG_BASE_VIRT       (0xFFBFE000)
46 +#define IXP4XX_EXP_CFG_BASE_VIRT       (0xFEBFE000)
47  #define IXP4XX_EXP_CFG_REGION_SIZE     (0x00001000)
48  
49  /*
50   * PCI Config registers
51   */
52  #define IXP4XX_PCI_CFG_BASE_PHYS       (0xC0000000)
53 -#define        IXP4XX_PCI_CFG_BASE_VIRT        (0xFFBFF000)
54 +#define        IXP4XX_PCI_CFG_BASE_VIRT        (0xFEBFF000)
55  #define IXP4XX_PCI_CFG_REGION_SIZE     (0x00001000)
56  
57  /*
58   * Peripheral space
59   */
60  #define IXP4XX_PERIPHERAL_BASE_PHYS    (0xC8000000)
61 -#define IXP4XX_PERIPHERAL_BASE_VIRT    (0xFFBEB000)
62 +#define IXP4XX_PERIPHERAL_BASE_VIRT    (0xFEBEB000)
63  #define IXP4XX_PERIPHERAL_REGION_SIZE  (0x00013000)
64  
65  /*
66 @@ -73,7 +73,7 @@
67   * aligned so that it * can be used with the low-level debug code.
68   */
69  #define        IXP4XX_DEBUG_UART_BASE_PHYS     (0xC8000000)
70 -#define        IXP4XX_DEBUG_UART_BASE_VIRT     (0xffb00000)
71 +#define        IXP4XX_DEBUG_UART_BASE_VIRT     (0xfeb00000)
72  #define        IXP4XX_DEBUG_UART_REGION_SIZE   (0x00001000)
73  
74  #define IXP4XX_EXP_CS0_OFFSET  0x00