1SKI(1)                      General Commands Manual                     SKI(1)
2
3
4

NAME

6       ski, xski, bskinc - An IA-64 Instruction Set Simulator
7

SYNOPSIS

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

DESCRIPTION

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

Running in user-mode

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

Running in system-mode

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

Getting help inside ski

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

Using Xski

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

ENVIRONMENT VARIABLES

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

SEE ALSO

194       qemu(1), bochs(1)
195
196

AUTHORS

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)
Impressum