Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(93)

Side by Side Diff: tools/trusted_cross_toolchains/qemu_tool_mips32.sh

Issue 10703143: [MIPS] Toolchain scripts for MIPS architecture. (Closed) Base URL: http://src.chromium.org/native_client/trunk/src/native_client/
Patch Set: Minor update. Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | tools/trusted_cross_toolchains/trusted-toolchain-creator.mipsel.squeeze.sh » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/bin/bash 1 #!/bin/bash
2 # 2 #
3 # Copyright (c) 2012 The Native Client Authors. All rights reserved. 3 # Copyright 2012 The Native Client Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can
5 # found in the LICENSE file. 5 # be found in the LICENSE file.
6 6
7 set -o nounset 7 set -o nounset
8 set -o errexit 8 set -o errexit
9 9
10 #@ Various commands to emulate arm code using qemu 10 #@ Various commands to emulate mips32 code using qemu
11 #@ 11 #@
12 #@ Note: this script is not meant to be run as 12 #@ Note: this script is not meant to be run as
13 #@ tools/trusted_cross_toolchains/qemu_tool_arm.sh 13 #@ tools/llvm/qemu_tool.sh
14 #@ but rather as: 14 #@ but rather as:
15 #@ toolchain/linux_arm-trusted/qemu_tool_arm.sh 15 #@ toolchain/linux_mips-trusted/qemu-mips32
16 16
17 # From a qemu build based on qemu-0.10.1.tar.gz 17 # From a qemu build based on qemu-0.12.5.tar.gz
18 readonly SDK_ROOT=$(dirname $0) 18 readonly SDK_ROOT=$(dirname $0)
19 readonly QEMU=${SDK_ROOT}/qemu-arm 19 readonly QEMU=${SDK_ROOT}/qemu-mips32
20 readonly QEMU_STOCK=/usr/bin/qemu-arm 20 readonly QEMU_JAIL=${SDK_ROOT}/mips-release/mips-linux-gnu/libc/el
21 readonly QEMU_JAIL=${SDK_ROOT}
22 # NOTE: some useful debugging options for qemu: 21 # NOTE: some useful debugging options for qemu:
23 # env vars: 22 # env vars:
24 # QEMU_STRACE=1 23 # QEMU_STRACE=1
25 # args: 24 # args:
26 # -strace 25 # -strace
27 # -d out_asm,in_asm,op,int,exec,cpu 26 # -d out_asm,in_asm,op,int,exec,cpu
28 # c.f. cpu_log_items in qemu-XXX/exec.c 27 # c.f. cpu_log_items in qemu-XXX/exec.c
29 readonly QEMU_ARGS="-cpu cortex-a8" 28 readonly QEMU_ARGS=""
30 readonly QEMU_ARGS_DEBUG="-d in_asm,int,exec,cpu" 29 readonly QEMU_ARGS_DEBUG="-d in_asm,int,exec,cpu"
31 readonly QEMU_ARGS_DEBUG_SR="-d in_asm,int,exec,cpu,service_runtime" 30 readonly QEMU_ARGS_DEBUG_SR="-d in_asm,int,exec,cpu,service_runtime"
32 31
33 ###################################################################### 32 ######################################################################
34 # Helpers 33 # Helpers
35 ###################################################################### 34 ######################################################################
36 35
37 Banner() { 36 Banner() {
38 echo "######################################################################" 37 echo "######################################################################"
39 echo $* 38 echo $*
(...skipping 26 matching lines...) Expand all
66 #@ help 65 #@ help
67 #@ 66 #@
68 #@ print help for all modes 67 #@ print help for all modes
69 help () { 68 help () {
70 Usage 69 Usage
71 } 70 }
72 71
73 #@ 72 #@
74 #@ run 73 #@ run
75 #@ 74 #@
76 #@ run emulation using a locally patched qemu 75 #@ run stuff
77 run() { 76 run() {
78 CheckPrerequisites 77 CheckPrerequisites
79 exec ${QEMU} -L ${QEMU_JAIL} ${QEMU_ARGS} "$@" 78 exec ${QEMU} -L ${QEMU_JAIL} ${QEMU_ARGS} "$@"
80 } 79 }
81 80
82 #@ 81 #@
83 #@ run_stock
84 #@
85 #@ run emulation using the stock qemu
86 run_stock() {
87 exec ${QEMU_STOCK} -L ${QEMU_JAIL} ${QEMU_ARGS} "$@"
88 }
89
90 #@
91 #@ run_debug 82 #@ run_debug
92 #@ 83 #@
93 #@ run emulation but also generate trace in /tmp 84 #@ run stuff but also generate trace in /tmp
94 run_debug() { 85 run_debug() {
95 Hints 86 Hints
96 CheckPrerequisites 87 CheckPrerequisites
97 exec ${QEMU} -L ${QEMU_JAIL} ${QEMU_ARGS} ${QEMU_ARGS_DEBUG} "$@" 88 exec ${QEMU} -L ${QEMU_JAIL} ${QEMU_ARGS} ${QEMU_ARGS_DEBUG} "$@"
98 } 89 }
99 90
100 #@ 91 #@
101 #@ run_debug_service_runtime 92 #@ run_debug_service_runtime
102 #@ 93 #@
103 #@ run emulation but also generate trace in /tmp even for service_runtime 94 #@ run stuff but also generate trace in /tmp even for service_runtime
104 run_debug_service_runtime() { 95 run_debug_service_runtime() {
105 Hints 96 Hints
106 CheckPrerequisites 97 CheckPrerequisites
107 exec ${QEMU} -L ${QEMU_JAIL} ${QEMU_ARGS} ${QEMU_ARGS_DEBUG_SR} "$@" 98 exec ${QEMU} -L ${QEMU_JAIL} ${QEMU_ARGS} ${QEMU_ARGS_DEBUG_SR} "$@"
108 } 99 }
109 100
110 #@
111 #@ install_stock
112 #@
113 #@ install stock qemu emulator (for user mode)
114 install_stock_qemu() {
115 sudo apt-get install qemu-user
116 }
117
118 ###################################################################### 101 ######################################################################
119 if [[ "$0" == *run_under_qemu_arm ]] ; then 102 if [[ "$0" == *run_under_qemu_mips32 ]] ; then
120 run "$@" 103 run "$@"
121 elif [[ $# -eq 0 ]] ; then 104 elif [[ $# -eq 0 ]] ; then
122 echo "you must specify a mode on the commandline:" 105 echo "you must specify a mode on the commandline:"
123 echo 106 echo
124 Usage 107 Usage
125 exit -1 108 exit -1
126 elif [[ "$(type -t $1)" != "function" ]]; then 109 elif [[ "$(type -t $1)" != "function" ]]; then
127 echo "ERROR: unknown function '$1'." >&2 110 echo "ERROR: unknown function '$1'." >&2
128 echo "For help, try:" 111 echo "For help, try:"
129 echo " $0 help" 112 echo " $0 help"
130 exit 1 113 exit 1
131 else 114 else
132 "$@" 115 "$@"
133 fi 116 fi
OLDNEW
« no previous file with comments | « no previous file | tools/trusted_cross_toolchains/trusted-toolchain-creator.mipsel.squeeze.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698