Commit 0f06f8fd authored by Kevin Marshall's avatar Kevin Marshall Committed by Commit Bot

Fuchsia: use CIPD to check out arch-specific QEMU binaries.

These binaries allow us to run QEMU on ARM; the current deployment
in the Fuchsia SDK folder is x86-64 only.

The "qemu" folder can safely be removed from the Fuchsia SDK
once this CL lands and the trybots are confirmed to still be in
working order.

Also modify the runner script to use arch-specific QEMU binaries.


Bug: 786193
Change-Id: I1515bdf330f496ff47f88ba3b131629d4e24fea3
Reviewed-on: https://chromium-review.googlesource.com/783699
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: default avatarDirk Pranke <dpranke@chromium.org>
Reviewed-by: default avatarScott Graham <scottmg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#519536}
parent be322fe0
...@@ -1300,6 +1300,16 @@ hooks = [ ...@@ -1300,6 +1300,16 @@ hooks = [
], ],
}, },
{
'name': 'Fuchsia QEMU ensure',
'pattern': '.',
'condition': 'checkout_fuchsia',
'action': ['src/build/cipd/cipd_wrapper.py',
'--chromium-root', 'src',
'--ensure-file', 'src/build/cipd/fuchsia/qemu.ensure',
],
},
# Download and initialize "vpython" VirtualEnv environment packages. # Download and initialize "vpython" VirtualEnv environment packages.
{ {
'name': 'vpython_common', 'name': 'vpython_common',
......
file://build/fuchsia/OWNERS
# Copyright 2017 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
@Subdir third_party/qemu-aarch64
fuchsia/qemu/linux-arm64 5c0de765eec81c8587d363121a0fdac3ed17313e
@Subdir third_party/qemu-x86_64
fuchsia/qemu/linux-amd64 ff5977bcc054ab81e4f1b887f89b690f86fad969
...@@ -56,6 +56,8 @@ template("generate_runner_script") { ...@@ -56,6 +56,8 @@ template("generate_runner_script") {
"//build/fuchsia/runner_common.py", "//build/fuchsia/runner_common.py",
"//build/util/lib/", "//build/util/lib/",
"//third_party/fuchsia-sdk/", "//third_party/fuchsia-sdk/",
"//third_party/qemu-aarch64/",
"//third_party/qemu-x86_64/",
] ]
runner_args += [ runner_args += [
......
...@@ -26,6 +26,8 @@ import elfinfo ...@@ -26,6 +26,8 @@ import elfinfo
DIR_SOURCE_ROOT = os.path.abspath( DIR_SOURCE_ROOT = os.path.abspath(
os.path.join(os.path.dirname(__file__), os.pardir, os.pardir)) os.path.join(os.path.dirname(__file__), os.pardir, os.pardir))
SDK_ROOT = os.path.join(DIR_SOURCE_ROOT, 'third_party', 'fuchsia-sdk') SDK_ROOT = os.path.join(DIR_SOURCE_ROOT, 'third_party', 'fuchsia-sdk')
QEMU_ROOT = os.path.join(DIR_SOURCE_ROOT, 'third_party',
'qemu-' + platform.machine())
SYMBOLIZATION_TIMEOUT_SECS = 10 SYMBOLIZATION_TIMEOUT_SECS = 10
# The guest will get 192.168.3.9 from DHCP, while the host will be # The guest will get 192.168.3.9 from DHCP, while the host will be
...@@ -649,7 +651,7 @@ def RunFuchsia(bootfs_data, use_device, kernel_path, dry_run, ...@@ -649,7 +651,7 @@ def RunFuchsia(bootfs_data, use_device, kernel_path, dry_run,
stdout=subprocess.PIPE, stdin=open(os.devnull)) stdout=subprocess.PIPE, stdin=open(os.devnull))
else: else:
qemu_path = os.path.join( qemu_path = os.path.join(
SDK_ROOT, 'qemu', 'bin', QEMU_ROOT,'bin',
'qemu-system-' + _TargetCpuToArch(bootfs_data.target_cpu)) 'qemu-system-' + _TargetCpuToArch(bootfs_data.target_cpu))
qemu_command = [qemu_path, qemu_command = [qemu_path,
'-m', '2048', '-m', '2048',
......
...@@ -159,6 +159,8 @@ ...@@ -159,6 +159,8 @@
/python_26 /python_26
/pywebsocket/src /pywebsocket/src
/pywebsocket/src /pywebsocket/src
/qemu-aarch64
/qemu-x86_64
/re2/src /re2/src
/requests/src /requests/src
/robolectric/lib/ /robolectric/lib/
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment