ARM: ixp4xx: move fixed mapping of internal devices into vmalloc region
PATCH 1/1 ARM: ixp4xx: move fixed mapping of internal devices into vmalloc region
From: Greg Ungerer <[email protected]>
The current fixed physical/virtual mappings for the internal peripherals of the ixp4xx SoC devices is using a virtual address outside of the vmalloc region. This results in kernel warnings like this on the boot console:
BUG: mapping for 0xc8000000 at 0xffbeb000 out of vmalloc space BUG: mapping for 0xc4000000 at 0xffbfe000 out of vmalloc space BUG: mapping for 0xc0000000 at 0xffbff000 out of vmalloc space
The virtual kernel memory layout lists this for the vmalloc region:
...
vmalloc : 0xc2800000 - 0xff000000 ( 968 MB)
...With a little adjustment to the virtual address used we can map these internal devices in the vmalloc region.
--- arch/arm/mach-ixp4xx/include/mach/ixp4xx-regs.h | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-)
arch/arm/mach-ixp4xx/include/mach/ixp4xx-regs.h +7 -7
@@ -32,11 +32,11 @@* * 0x6000000 0x00004000 ioremap'd QMgr * -* 0xC0000000 0x00001000 0xffbff000 PCI CFG +* 0xC0000000 0x00001000 0xfebff000 PCI CFG * -* 0xC4000000 0x00001000 0xffbfe000 EXP CFG +* 0xC4000000 0x00001000 0xfebfe000 EXP CFG * -* 0xC8000000 0x00013000 0xffbeb000 On-Chip Peripherals +* 0xC8000000 0x00013000 0xfebeb000 On-Chip Peripherals */ /*
@@ -49,21 +49,21 @@* Expansion BUS Configuration registers */ #define IXP4XX_EXP_CFG_BASE_PHYS (0xC4000000) -#define IXP4XX_EXP_CFG_BASE_VIRT (0xFFBFE000) +#define IXP4XX_EXP_CFG_BASE_VIRT (0xFEBFE000)#define IXP4XX_EXP_CFG_REGION_SIZE (0x00001000)/* * PCI Config registers */ #define IXP4XX_PCI_CFG_BASE_PHYS (0xC0000000) -#define IXP4XX_PCI_CFG_BASE_VIRT (0xFFBFF000) +#define IXP4XX_PCI_CFG_BASE_VIRT (0xFEBFF000)#define IXP4XX_PCI_CFG_REGION_SIZE (0x00001000)/* * Peripheral space */ #define IXP4XX_PERIPHERAL_BASE_PHYS (0xC8000000) -#define IXP4XX_PERIPHERAL_BASE_VIRT (0xFFBEB000) +#define IXP4XX_PERIPHERAL_BASE_VIRT (0xFEBEB000)#define IXP4XX_PERIPHERAL_REGION_SIZE (0x00013000)/*
@@ -73,7 +73,7 @@* aligned so that it * can be used with the low-level debug code. */ #define IXP4XX_DEBUG_UART_BASE_PHYS (0xC8000000) -#define IXP4XX_DEBUG_UART_BASE_VIRT (0xffb00000) +#define IXP4XX_DEBUG_UART_BASE_VIRT (0xfeb00000)#define IXP4XX_DEBUG_UART_REGION_SIZE (0x00001000)#define IXP4XX_EXP_CS0_OFFSET 0x00
Signature · 1 line
1.7.0.4
PATCH 1/1 ARM: ixp4xx: move fixed mapping of internal devices into vmalloc region
Quoted 13 lines · gerg at snapgear.com
From: Greg Ungerer <[email protected]>
The current fixed physical/virtual mappings for the internal peripherals of the ixp4xx SoC devices is using a virtual address outside of the vmalloc region. This results in kernel warnings like this on the boot console:
BUG: mapping for 0xc8000000 at 0xffbeb000 out of vmalloc space BUG: mapping for 0xc4000000 at 0xffbfe000 out of vmalloc space BUG: mapping for 0xc0000000 at 0xffbff000 out of vmalloc spaceThe virtual kernel memory layout lists this for the vmalloc region:
Quoted 8 lines
... vmalloc : 0xc2800000 - 0xff000000 ( 968 MB) ...With a little adjustment to the virtual address used we can map these internal devices in the vmalloc region.
Signed-off-by Greg Ungerer <[email protected]>
Imre, Krzysztof: do you prefer to take this patch into a branch of yours and send a pull request, or should we just apply it directly into arm-soc. In the former case, can you provide an Ack?
Arnd
PATCH 1/1 ARM: ixp4xx: move fixed mapping of internal devices into vmalloc region
Quoted 7 lines · Arnd Bergmann
Quoted 3 lines
BUG: mapping for 0xc8000000 at 0xffbeb000 out of vmalloc space BUG: mapping for 0xc4000000 at 0xffbfe000 out of vmalloc space BUG: mapping for 0xc0000000 at 0xffbff000 out of vmalloc spaceImre, Krzysztof: do you prefer to take this patch into a branch of yours and send a pull request, or should we just apply it directly into arm-soc. In the former case, can you provide an Ack?
My intention is to push the following instead:
Signature · 1 line
Krzysztof Halasa
PATCH 1/1 ARM: ixp4xx: move fixed mapping of internal devices into vmalloc region
Quoted 4 lines · Krzysztof Halasa
Quoted 3 lines
Quoted 3 lines
BUG: mapping for 0xc8000000 at 0xffbeb000 out of vmalloc space BUG: mapping for 0xc4000000 at 0xffbfe000 out of vmalloc space BUG: mapping for 0xc0000000 at 0xffbff000 out of vmalloc space
Quoted 8 lines
Quoted 3 lines
Imre, Krzysztof: do you prefer to take this patch into a branch of yours and send a pull request, or should we just apply it directly into arm-soc. In the former case, can you provide an Ack?
My intention is to push the following instead:
Ok, fine with me. I noticed however that this is missing a changelog. Maybe you can take the text that Greg sent.
I also wonder if this patch needs to be applied to earlier versions as well. Is linux-3.6 still working?
Arnd
PATCH 1/1 ARM: ixp4xx: move fixed mapping of internal devices into vmalloc region
Quoted 11 lines · Arnd Bergmann
Quoted 10 lines · Krzysztof Halasa
Quoted 7 lines
Quoted 3 lines
BUG: mapping for 0xc8000000 at 0xffbeb000 out of vmalloc space BUG: mapping for 0xc4000000 at 0xffbfe000 out of vmalloc space BUG: mapping for 0xc0000000 at 0xffbff000 out of vmalloc spaceImre, Krzysztof: do you prefer to take this patch into a branch of yours and send a pull request, or should we just apply it directly into arm-soc. In the former case, can you provide an Ack?
My intention is to push the following instead:
Quoted 8 lines
Ok, fine with me. I noticed however that this is missing a changelog. Maybe you can take the text that Greg sent.
I also wonder if this patch needs to be applied to earlier versions as well. Is linux-3.6 still working?
It only seemed to be a warning. The boards I tested on worked with no problems that I could see. That was on a linux-3.5 kernel.
Regards
Greg
Signature · 5 lines
------------------------------------------------------------------------ Greg Ungerer -- Principal Engineer EMAIL: gerg at snapgear.com SnapGear Group, McAfee PHONE: +61 7 3435 2888 8 Gardner Close, FAX: +61 7 3891 3630 Milton, QLD, 4064, Australia WEB: http://www.SnapGear.com