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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.