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
----
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 arm/mm/ dma-mapping. c b/arch/ arm/mm/ dma-mapping. c arm/mm/ dma-mapping. c arm/mm/ dma-mapping. c maint_page( struct page *page, unsigned long offset,
size_ t len = left;
void *vaddr;
---
diff --git a/arch/
index 592f05d..f7f083a 100644
--- a/arch/
+++ b/arch/
@@ -448,6 +448,9 @@ static void dma_cache_
* optimized out.
*/
size_t left = size;
+
+ flush_cache_all();
+
do {
---
It's similar to test 3. Building kernel can run longer, but eventually it fails due to the same error
Error message: netfilter/ nf_nat_ standalone. o s:59470: Error: can't resolve value for symbol `.LASF2946' staging/ pohmelfs/ net.o] Error 1 staging/ pohmelfs] Error 2 netfilter/ nf_conntrack_ l3proto_ ipv4.o netfilter/ nf_conntrack_ proto_icmp. o netfilter/ nf_conntrack_ l3proto_ ipv4_compat. o netfilter/ nf_nat_ core.o netfilter/ nf_nat_ helper. o netfilter/ nf_nat_ proto_unknown. o netfilter/ nf_nat_ proto_common. o netfilter/ nf_nat_ proto_tcp. o netfilter/ nf_nat_ proto_udp. o netfilter/ nf_nat_ proto_icmp. o netfilter/ nf_defrag_ ipv4.o netfilter/ nf_nat_ amanda. o netfilter/ nf_nat_ ftp.o netfilter/ nf_nat_ h323.o xfrm6_tunnel. o ubuntu- maverick/ net/ipv6/ xfrm6_tunnel. c:29: ubuntu- maverick/ include/ net/xfrm. h:550: internal compiler error: Bus error //usr/share/ doc/gcc- 4.4/README. Bugs> for instructions. xfrm6_tunnel. o] Error 1 netfilter/ nf_nat_ irc.o netfilter/ nf_nat_ pptp.o
---
CC [M] net/ipv4/
/tmp/ccUqqYy4.s: Assembler messages:
/tmp/ccUqqYy4.
make[5]: *** [drivers/
make[4]: *** [drivers/
make[3]: *** [drivers/staging] Error 2
make[2]: *** [drivers] Error 2
make[2]: *** Waiting for unfinished jobs....
CC [M] net/ipv4/
CC [M] net/ipv4/
CC [M] net/ipv4/
CC [M] net/ipv4/
CC [M] net/ipv4/
CC [M] net/ipv4/
CC [M] net/ipv4/
CC [M] net/ipv4/
CC [M] net/ipv4/
CC [M] net/ipv4/
CC [M] net/ipv6/ah6.o
CC [M] net/ipv4/
CC [M] net/ipv6/esp6.o
CC [M] net/ipv4/
CC [M] net/ipv4/
CC [M] net/ipv6/ipcomp6.o
CC [M] net/ipv4/
CC [M] net/ipv6/
[ 5364.381378] Unhandled fault: imprecise external abort (0x1406) at 0x42a3e000
In file included from /home/ubuntu/
/home/ubuntu/
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:/
make[4]: *** [net/ipv6/
make[3]: *** [net/ipv6] Error 2
make[3]: *** Waiting for unfinished jobs....
CC [M] net/ipv4/
CC [M] net/ipv4/
----
Thanks a lot,
-Bryan