diff --git a/src/pkg/runtime/tiny/README b/src/pkg/runtime/tiny/README index bbe00f3eaa..42e730d8f5 100755 --- a/src/pkg/runtime/tiny/README +++ b/src/pkg/runtime/tiny/README @@ -6,8 +6,7 @@ for 386 and arm. 386 It is very primitive but can run go/test/sieve.go, the concurrent -prime sieve, on a uniprocessor. It has only been tested using the -Bochs emulator. +prime sieve, on a uniprocessor. To run, first build the tools by running all.bash with GOARCH=386 and GOOS set to your normal GOOS (linux, darwin). Then: @@ -22,14 +21,37 @@ and GOOS set to your normal GOOS (linux, darwin). Then: 8l -a sieve.8 >sieve.asm # can consult sieve.asm for debugging dd if=/dev/zero of=disk count=10000 cat bootblock 8.out | dd of=disk conv=notrunc - bochs Use the built-in print(text string) function to print to the console. +BOCHS + You may have to tweak the .bochsrc depending on your system, and you may need to install the Bochs emulator. + $ cp dot-bochsrc .bochsrc + $ $EDITOR .bochsrc # tweak it if required + $ bochs + + +ORACLE xVM VIRTUALBOX + +Get VirtualBox installed, and the do: + + ... build 'disk', described above + $ VBoxManage convertfromraw disk go-tiny.vdi + $ VirtualBox + create a new VM; as disk use the go-tiny.vdi image. + start the vm. + +QEMU / KVM + +This should work the same for qemu and kvm (really: qemu-kvm). + + ... build 'disk', described above + $ qemu -hda disk + ARM diff --git a/src/pkg/runtime/tiny/thread.c b/src/pkg/runtime/tiny/thread.c index e4b58256f2..e62953128b 100644 --- a/src/pkg/runtime/tiny/thread.c +++ b/src/pkg/runtime/tiny/thread.c @@ -59,6 +59,11 @@ unlock(Lock *l) l->key = 0; } +void destroylock(Lock *l) +{ + // nothing +} + void noteclear(Note *n) {