Comment 5 for bug 633227

Revision history for this message
Bryan Wu (cooloney) wrote :

After some discussion with Nicolas Pitre, I did following testing:

1. Just build kernel in MMC SD card.
The same result, It fails as our reported.

2. Add mem=512M vmalloc=1G to kernel boot command line,
Kernel doesn't boot on my board at all

3. Set CONFIG_VMSPLIT_2G=y
Building kernel can run longer, but eventually it fails due to the same error

4. Add flush_cache_all() at the begin of dma_cache_maint_page() function
---
diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
index 592f05d..f7f083a 100644
--- a/arch/arm/mm/dma-mapping.c
+++ b/arch/arm/mm/dma-mapping.c
@@ -448,6 +448,9 @@ static void dma_cache_maint_page(struct page *page, unsigned long offset,
         * optimized out.
         */
        size_t left = size;
+
+ flush_cache_all();
+
        do {
                size_t len = left;
                void *vaddr;
---

It's similar to test 3. Building kernel can run longer, but eventually it fails due to the same error

Error message:
---
  CC [M] net/ipv4/netfilter/nf_nat_standalone.o
/tmp/ccUqqYy4.s: Assembler messages:
/tmp/ccUqqYy4.s:59470: Error: can't resolve value for symbol `.LASF2946'
make[5]: *** [drivers/staging/pohmelfs/net.o] Error 1
make[4]: *** [drivers/staging/pohmelfs] Error 2
make[3]: *** [drivers/staging] Error 2
make[2]: *** [drivers] Error 2
make[2]: *** Waiting for unfinished jobs....
  CC [M] net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.o
  CC [M] net/ipv4/netfilter/nf_conntrack_proto_icmp.o
  CC [M] net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.o
  CC [M] net/ipv4/netfilter/nf_nat_core.o
  CC [M] net/ipv4/netfilter/nf_nat_helper.o
  CC [M] net/ipv4/netfilter/nf_nat_proto_unknown.o
  CC [M] net/ipv4/netfilter/nf_nat_proto_common.o
  CC [M] net/ipv4/netfilter/nf_nat_proto_tcp.o
  CC [M] net/ipv4/netfilter/nf_nat_proto_udp.o
  CC [M] net/ipv4/netfilter/nf_nat_proto_icmp.o
  CC [M] net/ipv6/ah6.o
  CC [M] net/ipv4/netfilter/nf_defrag_ipv4.o
  CC [M] net/ipv6/esp6.o
  CC [M] net/ipv4/netfilter/nf_nat_amanda.o
  CC [M] net/ipv4/netfilter/nf_nat_ftp.o
  CC [M] net/ipv6/ipcomp6.o
  CC [M] net/ipv4/netfilter/nf_nat_h323.o
  CC [M] net/ipv6/xfrm6_tunnel.o
[ 5364.381378] Unhandled fault: imprecise external abort (0x1406) at 0x42a3e000
In file included from /home/ubuntu/ubuntu-maverick/net/ipv6/xfrm6_tunnel.c:29:
/home/ubuntu/ubuntu-maverick/include/net/xfrm.h:550: internal compiler error: Bus error
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.4/README.Bugs> for instructions.
make[4]: *** [net/ipv6/xfrm6_tunnel.o] Error 1
make[3]: *** [net/ipv6] Error 2
make[3]: *** Waiting for unfinished jobs....
  CC [M] net/ipv4/netfilter/nf_nat_irc.o
  CC [M] net/ipv4/netfilter/nf_nat_pptp.o
----

Thanks a lot,
-Bryan