From: Roman Bolshakov <r.bolshakov@yadro.com>
To: <kvm@vger.kernel.org>
Cc: Cameron Esfahani <dirty@apple.com>,
Roman Bolshakov <r.bolshakov@yadro.com>
Subject: [kvm-unit-tests PATCH 2/2] README: Document steps to run the tests on macOS
Date: Fri, 20 Mar 2020 17:55:41 +0300 [thread overview]
Message-ID: <20200320145541.38578-3-r.bolshakov@yadro.com> (raw)
In-Reply-To: <20200320145541.38578-1-r.bolshakov@yadro.com>
While at it, mention that hvf is a valid accel parameter.
Cc: Cameron Esfahani <dirty@apple.com>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
---
README.macOS.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++
README.md | 6 ++++--
2 files changed, 51 insertions(+), 2 deletions(-)
create mode 100644 README.macOS.md
diff --git a/README.macOS.md b/README.macOS.md
new file mode 100644
index 0000000..de46d5f
--- /dev/null
+++ b/README.macOS.md
@@ -0,0 +1,47 @@
+# kvm-unit-tests on macOS
+
+Cross-compiler with ELF support is required for build of kvm-unit-tests on
+macOS.
+
+## Building cross-compiler from source
+
+A cross-compiler toolchain can be built from source using crosstool-ng. The
+latest released version of
+[crosstool-ng](https://github.com/crosstool-ng/crosstool-ng) can be installed
+using [homebrew](https://brew.sh)
+```
+$ brew install crosstool-ng
+```
+
+A case-sensitive APFS/HFS+ volume has to be created using Disk Utility as a
+build and installation directory for the cross-compiler. Please [see Apple
+documentation](https://support.apple.com/guide/disk-utility/dsku19ed921c/mac)
+for details.
+
+Assuming the case-sensitive volume is named /Volumes/BuildTools, the
+cross-compiler can be built and installed there:
+```
+$ X_BUILD_DIR=/Volumes/BuildTools/ct-ng-build
+$ X_INSTALL_DIR=/Volumes/BuildTools/x-tools
+$ mkdir $X_BUILD_DIR
+$ ct-ng -C $X_BUILD_DIR x86_64-unknown-linux-gnu
+$ ct-ng -C $X_BUILD_DIR build CT_PREFIX=$X_INSTALL_DIR
+```
+
+Once compiled, the cross-compiler can be used to build the tests:
+```
+$ ./configure --cross-prefix=$X_INSTALL_DIR/x86_64-unknown-linux-gnu/bin/x86_64-unknown-linux-gnu-
+$ make
+```
+
+## Pre-built cross-compiler
+
+x86_64-elf-gcc package in Homebrew provides pre-built cross-compiler but it
+fails to compile kvm-unit-tests.
+
+## Running the tests
+
+GNU coreutils should be installed prior to running the tests:
+```
+$ brew install coreutils
+```
diff --git a/README.md b/README.md
index 396fbf8..48be206 100644
--- a/README.md
+++ b/README.md
@@ -15,6 +15,8 @@ To create the test images do:
in this directory. Test images are created in ./ARCH/\*.flat
+NOTE: GCC cross-compiler is required for [build on macOS](README.macOS.md).
+
## Standalone tests
The tests can be built as standalone. To create and use standalone tests do:
@@ -47,7 +49,7 @@ environment variable:
QEMU=/tmp/qemu/x86_64-softmmu/qemu-system-x86_64 ./x86-run ./x86/msr.flat
-To select an accelerator, for example "kvm" or "tcg", specify the
+To select an accelerator, for example "kvm", "hvf" or "tcg", specify the
ACCEL=name environment variable:
ACCEL=kvm ./x86-run ./x86/msr.flat
@@ -78,7 +80,7 @@ which can then be accessed in the usual ways, e.g. VAL = getenv("KEY").
Any key=val strings can be passed, but some have reserved meanings in
the framework. The list of reserved environment variables is below
- QEMU_ACCEL either kvm or tcg
+ QEMU_ACCEL either kvm, hvf or tcg
QEMU_VERSION_STRING string of the form `qemu -h | head -1`
KERNEL_VERSION_STRING string of the form `uname -r`
--
2.24.1
next prev parent reply other threads:[~2020-03-20 14:57 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-20 14:55 [kvm-unit-tests PATCH 0/2] Add support of hvf accel Roman Bolshakov
2020-03-20 14:55 ` [kvm-unit-tests PATCH 1/2] scripts/arch-run: Support testing " Roman Bolshakov
2020-03-23 22:16 ` Cameron Esfahani
2020-03-20 14:55 ` Roman Bolshakov [this message]
2020-03-23 22:17 ` [kvm-unit-tests PATCH 2/2] README: Document steps to run the tests on macOS Cameron Esfahani
2020-03-20 15:37 ` [kvm-unit-tests PATCH 0/2] Add support of hvf accel Roman Bolshakov
2020-03-23 22:18 ` Cameron Esfahani
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200320145541.38578-3-r.bolshakov@yadro.com \
--to=r.bolshakov@yadro.com \
--cc=dirty@apple.com \
--cc=kvm@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).