|
all: FreeBSD/ARM w/ cgo port
only supports ARMv6K or higher ARM core.
Starting at Patch Set 6, cgo is supported.
TODO:
1. still need to regen syscall/z* and some runtime files
2. blindly uses LDREX(D) in runtime and sync/atomic, need fixing (i know FreeBSD provides at least a cas implementation just like linux's kernel helper)
3. document how to setup a test VM
Status:
i think it's fully working, misc/cgo/test passed.
Remaining test failures:
--- FAIL: TestMulticastListener (0.06 seconds)
multicast_posix_test.go:121: "224.0.0.254:12345" not found in RIB
FAIL
FAIL net 10.360s
Note:
i developed this inside qemu-system-arm in a FreeBSD 9 VBox VM,
so i'm eager to know if this works on real hardware.
Note: i use GUMSTIX-QEMU kernel config, i basically just followed http://matrossi.blogspot.com/2011/09/freebsd-arm-on-qemu-in-virtualbox.html
except that i hacked qemu/hw/{pxa2xx,gumstix}.c, qemu/target-arm/translate.c to
support ARMv6K LDREX(D) inst. on pxa255 and also provide 512MiB memory to the kernel.
On the FreeBSD kernel side, i hacked sys/arm/xscale/pxa/pxa_machdep.c to skip
sdram probe and just blindly use 512MiB of memory.
Please ignore changes to .hgignore, test/testlib, test/run, src/make.bash.
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+270 lines, -54 lines) |
Patch |
 |
M |
.hgignore
|
View
|
1
2
3
4
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
src/make.bash
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
src/pkg/go/build/build.go
|
View
|
1
2
3
4
5
6
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
A |
src/pkg/runtime/cgo/gcc_freebsd_arm.c
|
View
|
1
2
3
4
5
|
1 chunk |
+109 lines, -0 lines |
0 comments
|
Download
|
 |
A |
src/pkg/sync/atomic/64bit_arm.go
|
View
|
1
|
1 chunk |
+36 lines, -0 lines |
0 comments
|
Download
|
 |
R |
src/pkg/sync/atomic/64bit_linux_arm.go
|
View
|
1
|
1 chunk |
+0 lines, -36 lines |
0 comments
|
Download
|
 |
A |
src/pkg/sync/atomic/asm_freebsd_arm.s
|
View
|
1
|
1 chunk |
+89 lines, -0 lines |
0 comments
|
Download
|
 |
M |
test/run
|
View
|
1
2
3
4
5
|
5 chunks |
+15 lines, -9 lines |
0 comments
|
Download
|
 |
M |
test/testlib
|
View
|
1
2
3
4
5
|
2 chunks |
+17 lines, -8 lines |
0 comments
|
Download
|
|