From owner-svn-soc-all@FreeBSD.ORG Wed Aug 6 01:41:57 2014 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 87ED6D6C for ; Wed, 6 Aug 2014 01:41:57 +0000 (UTC) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 749EA26F2 for ; Wed, 6 Aug 2014 01:41:57 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id s761fv2Y022301 for ; Wed, 6 Aug 2014 01:41:57 GMT (envelope-from astarasikov@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id s761fvD1022299 for svn-soc-all@FreeBSD.org; Wed, 6 Aug 2014 01:41:57 GMT (envelope-from astarasikov@FreeBSD.org) Date: Wed, 6 Aug 2014 01:41:57 GMT Message-Id: <201408060141.s761fvD1022299@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to astarasikov@FreeBSD.org using -f From: astarasikov@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r271981 - soc2014/astarasikov/head/sys/arm/goldfish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Aug 2014 01:41:57 -0000 Author: astarasikov Date: Wed Aug 6 01:41:56 2014 New Revision: 271981 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=271981 Log: [goldfish]: add a README on using Android Emulator Added: soc2014/astarasikov/head/sys/arm/goldfish/README Added: soc2014/astarasikov/head/sys/arm/goldfish/README ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2014/astarasikov/head/sys/arm/goldfish/README Wed Aug 6 01:41:56 2014 (r271981) @@ -0,0 +1,25 @@ +What is Goldfish Board? + It is a virtual ARM board provided by Android Emulator. + +What do I need to keep in mind? + I have literally spent more than a month hunting down various MMU bugs + that prevented FreeBSD from booting successfully on a Goldfish board. + + Turned out, Android Emulator's support for ARM1136 CPU lacked C13 CP15 + register used for TLS and PCPU. Emulating TLS via a + memory page at 0xffff0000 did not help much. Anyway, the emulator + supports emulating an ARMv7-compatible Cortex A8. + + I have not tracked down the exact difference in MMU management between + Linux and FreeBSD that caused random memory corruption on Goldfish. However, + it is known that FreeBSD works on QEMU with VERSATILEPB board. Unfortunately + the versions of Android Emulator from the SDK are based on an ancient QEMU + version that probably had some bug. Luckily, since Android-L preview release, + Google publishes prebuilt versions of Android Emulator from the latest source + code that do not have that bug. Please use the following the + "l-preview" branch from the following git repository: + https://android.googlesource.com/platform/prebuilts/android-emulator + +I can't find Android Emulator for FreeBSD! + Use the linux one. It works fine provided that you mount linprocfs at /proc + and install linux libraries (for example, linux_base-f10) including GTK