1SKI(1) General Commands Manual SKI(1)
2
3
4
6 ski, xski, bskinc - An IA-64 Instruction Set Simulator
7
9 ski [-help] [-i file] [-rest file] [-nonet] [-srcroot dir]
10 [-forceuser] [-forcesystem] [-strace] [-palen n] [-valen n] [-ri‐
11 dlen n] [-keylen n] [-grfile n]
12
13 xski [-help] [-i file] [-rest file] [-noconsole] [-nonet] [-src‐
14 root dir] [-forceuser] [-forcesystem] [-strace] [-palen n] [-valen
15 n] [-ridlen n] [-keylen n] [-grfile n]
16
17 bskinc [-help] [-i file] [-rest file] [-noconsole] [-nonet]
18 [-forceuser] [-forcesystem] [-icnt file] [-strace] [-palen n]
19 [-valen n] [-ridlen n] [-keylen n] [-grfile n]
20
22 Ski is an IA-64 instruction set simulator from Hewlett-Packard Company.
23 It simulates the IA-64 architecture as defined by the architecture man‐
24 ual. This is not a full platform simulator, i.e., no system chipset or
25 PCI bus simulation is done. However it supports the full instruction
26 set of the architecture, including privileged instructions and associ‐
27 ated semantics.
28
29 Ski can be used in two operating mode: user- and system-mode. In user
30 mode, you can run user level applications directly on top of the simu‐
31 lator. The emulation stops at the system call boundary. The system
32 call is emulated by calling the host OS, such as x86 Linux. Conversions
33 between 64-bit and 32-bit parameters are done by Ski as needed. This
34 allows fast execution of user programs. Most system calls are emulated,
35 though the emulation is not always 100 percent accurate.
36
37 In system-mode, operating-system kernel development and execution is
38 possible because interrupts and virtual memory behaviors are simulated.
39 In this mode you can actually run the Linux kernel and, once booted,
40 user applications can be run on top of the simulated kernel.
41
42 The ski simulator comes with three different interfaces. The simplest
43 one is the batch mode, called bskinc a shell running a script.
44
45 There is also a full-text curses-based mode, where you can interact
46 with the simulator to inspect code, set breakpoints, etc. This version
47 is called ski
48
49 Finally there is a graphical version called xski which gives you sev‐
50 eral windows where you can look at the code, inspect register contents,
51 etc.
52
53 All three modes provides the same core simulation, only the interface
54 is different.
55
56 OPTIONS
57 -help Prints the list of supported options for the specific interface
58 required. Not all options are available in every possible in‐
59 terface.
60
61 -nonet When running in kernel mode, this option tells the simulator not
62 to probe for existing Ethernet interfaces on the host. This way
63 the Linux kernel won't detect any device. This option is useful
64 when you don't want to run the simulator as root (or setuid to
65 root). For networking support root privilege is required.
66
67 -srcroot directory
68 Specify the directory where the program sources can be found.
69 This option is only useful when combined the "mixed mode" dis‐
70 play (see the "pm" command inside Ski).
71
72 -noconsole
73 Do not use an xterm as the default output console, but use the
74 current tty. This option is only useful when ski is invoked in
75 batch mode. It allows to run in the current terminal window.
76 This is used mostly within the NUE(1) environment.
77
78 -forceuser
79 Force the simulator into user-mode. The simulator normally
80 auto-detects which mode to run in, but this option is available
81 to force user-mode in case auto-detection fails for some reason.
82
83 -forcesystem
84 Force the simulator into system-mode. The simulator normally
85 auto-detects which mode to run in, but this option is available
86 to force system-mode in case auto-detection fails for some rea‐
87 son.
88
89 -strace
90 This option displays all the system calls executed by the user
91 level programs. It is only valid when running in user-mode. The
92 output looks like a highly simplified version of output from
93 strace(1).
94
95 -i file
96 Process initialization <file> at startup.
97
98 -icnt Store instruction counts in <file>.
99
100 -rest Restore simulation state from <file>.
101
102 -stats Display execution run-time and instruction rate.
103
104 -palen <n>
105 Implemented physical address bits. Default: n=63
106
107 -valen <n>
108 Implemented virtual address bits. Default: n=61
109
110 -ridlen <n>
111 Implemented RR.rid bits. Default: n=24
112
113 -keylen <n>
114 Implemented PKR.key bits. Default: n=24
115
116 -grlen <n>
117 General Register file size. Default: n=128
118
120 To run a simple IA-64 program in user-mode only, you can type in the
121 following:
122
123 $ bskinc my_ia64_prg
124
125
126 This will force execution is the current terminal and in batch mode.
127
128 IMPORTANT: To run dynamically linked IA-64 binaries, it is necessary to
129 have IA-64 versions of the necessary shared libraries installed. On
130 x86 Linux, this is most easily accomplished by installing the NUE(1)
131 environment.
132
133
135 To run a Linux kernel on top of the simulator, you need several compo‐
136 nents:
137
138 - a Linux kernel compiled to use the HP-simulator. It needs to have
139 the CONFIG_SIMSERIAL, CONFIG_SIMSCSI, and CONFIG_SIMETH options turned
140 on.
141
142
143 - a boot loader that goes with it (compiled with "make boot" in the
144 kernel source tree).
145
146
147 - a disk image file with IA-64 binaries on it.
148
149 Please refer to extra documentation to learn in greater details how to
150 build those 3 components.
151
152 Once you have those components, you launch execution by simply typing:
153
154 $ ski bootloader vmlinux simscsi=/path/sd simeth=eth0
155
156 In this example, the simscsi= option informs the Linux kernel where to
157 find the SCSI disk images. Here /path/sd is just the prefix, the kernel
158 will automatically look for /path/sd{a,b,c,...}. So the disk image must
159 use the full name, i.e., /path/sda. The simeth= indicates which local
160 interface to use for the simulated Ethernet driver. The simulator must
161 be run with root privilege to get the networking emulation to work.
162
163 You can specify other options on the command line, just like you would
164 do at the LILO boot prompt for instance.
165
166
168 When you run ski in interactive mode via ski or xski, you can get help
169 on commands by typing help.
170
171 When running in curses mode, you must make sure that you have the PAGER
172 environment variable set to whatever is your preferred pager command.
173 It is usually set to more(1) or less(1). If the variable does not exist
174 ski will default to using less(1). Note that less(1) usually behaves
175 the best when interacting with ski.
176
177
179 In this version (1.1.0) of ski, the X11 interface has not been built.
180 If you would like such a GUI, please feel free to contribute patches to
181 convert the current Motif version to something more modern.
182
183
185 SKI_USE_FAKE_XTERM
186 If this environment variable is set (the value is unimportant),
187 the ski-fake-xterm(1) utility will be used for output to stdout,
188 instead of xterm(1). This will result in a temporary file cre‐
189 ated in the current working directory with a name of the form
190 "ski.XXXXXX", where "XXXXXX" can be any six characters.
191
192
194 qemu(1), bochs(1)
195
196
198 Hewlett-Packard Company
199 Stephane Eranian <eranian@hpl.hp.com>
200 David Mosberger <davidm@hpl.hp.com>
201
202
203
204Hewlett-Packard Company Development Tools SKI(1)