@@ -90,228 +90,8 @@ options:
90
90
--intr_monitor: enable interrupt storm monitor, params:
91
91
threshold/s,probe-period(s),delay_time(ms),delay_duration(ms)
92
92
93
- acrn-dm parameters
94
- ==================
95
-
96
- Here are further descriptions for each of these parameters:
97
-
98
- A, acpi
99
- Create ACPI tables
100
-
101
- With this option, DM will build an ACPI table into its VMs F-Segment
102
- (0xf2400). This ACPI table includes full tables for RSDP, RSDT, XSDT,
103
- MADT, FADT, HPET, MCFG, FACS, and DSDT. All these items are programmed
104
- according to acrn-dm command line configuration and derived from their
105
- default value.
106
-
107
- h, help
108
- Show a summary of commands
109
-
110
- W, virtio_msix
111
- This option forces virtio to use single-vector MSI
112
-
113
- By default, any virtio-based devices will use MSI-X as its interrupt
114
- method. If you want to use single-vector MSI interrupt, you can do so
115
- using this option.
116
-
117
- Y, mptgen
118
- Disable MPtable generation
119
-
120
- The MultiProcessor Specification (MPS) for the x86 architecture is an
121
- open standard describing enhancements to both operating systems and
122
- firmware that allows them to work with x86-compatible processors in a
123
- multi-processor configuration. MPS covers Advanced Programmable
124
- Interrupt Controller (APIC) architectures.
125
-
126
- By default, DM will create the MPtable for you. Use this option to
127
- disable it.
128
-
129
- v, version
130
- Show DM version
131
-
132
- enable_trusty
133
- Enable trusty for guest
134
-
135
- For Android guest OS, ACRN provides a VM environment with two worlds:
136
- normal world and trusty world. The Android OS runs in the the normal
137
- world. The trusty OS and security sensitive applications runs in the
138
- trusty world. The trusty world can see the memory of normal world but
139
- not vice versa. See :ref: `trusty_tee ` for more information.
140
-
141
- By default, the trusty world is disabled. Use this option to enable it.
142
-
143
- ptdev_no_reset
144
- Disable reset check for pci device
145
-
146
- When assigning a PCI device as a passthrough device, we will reset it
147
- first to get it to a valid device state. So if the device doesn't have
148
- the reset capability, the passthrough will fail. The PCI device reset
149
- can be disabled using this option.
150
-
151
- k, kernel <kernel_image_path>
152
- Set the kernel (full path) for the UOS kernel. The maximum length is
153
- 1023. The DM handles bzImage image format.
154
-
155
- usage: ``-k /path/to/your/kernel_image ``
156
-
157
- r, ramdisk <ramdisk_image_path>
158
- Set the ramdisk (full path) for the UOS. The maximum length is 1023.
159
- The supported ramdisk format depends on your UOS kernel configuration.
160
-
161
- usage: ``-r /path/to/your/ramdisk_image ``
162
-
163
- B, bootargs <bootargs>
164
- Set the UOS kernel command-line arguments. The maximum length is 1023.
165
- The bootargs string will be passed to the kernel as its cmdline.
166
-
167
- Example: ``-B "loglevel=7" ``: it specifies the kernel log level at 7
168
-
169
- c, ncpus <cpus>
170
- Set number of CPUs for UOS. This number is an integer and must not be
171
- more than the total number of CPUs in the system, minus one (which is
172
- used by the SOS).
173
-
174
- p, pincpu <vcpu:hostcpu>
175
- Pin host CPU to appointed vCPU:
176
-
177
- - vcpu is the ID of the CPU seen by the UOS, and
178
- - hostcpu is the physical CPU ID on the system.
179
-
180
- Example: ``-p "1:2" `` means pin the 2nd physical cpu to 1st vcpu in UOS
181
-
182
- s, pci_slot <slot_config>
183
- Setup PCI device configuration
184
-
185
- slot_config format is::
186
-
187
- <bus>:<slot>:<func>,<emul>[,<config>]
188
- <slot>[:<func>],<emul>[,<config>]
189
-
190
- Where:
191
-
192
- - ``slot `` is 0..31
193
- - ``func `` is 0..7
194
- - ``emul `` is a string describing the type of PCI device e.g. virtio-net
195
- - ``config `` is an optional device-dependent string, used for
196
- configuration.
197
-
198
- Examples::
199
-
200
- -s 7,xhci,1-2,2-2
201
-
202
- This configuration means the virtual xHCI will appear in PCI slot 7
203
- in UOS. Any physical USB device attached on 1-2 (bus 1, port 2) or
204
- 2-2 (bus 2, port 2) will be detected by UOS and be used as expected. To
205
- determine which bus and port a USB device is attached, you could run
206
- `lsusb -t ` in SOS.
207
-
208
- ::
209
-
210
- -s 9,virtio-blk,/root/test.img
211
-
212
- This add virtual block in PCI slot 9 and use "/root/test.img" as the
213
- disk image
214
-
215
- m, memsize <memory_size>
216
- Setup total memory size for UOS
217
-
218
- memory_size format is: "<size>{K/k, B/b, M/m, G/g}", and size is an
219
- integer.
220
-
221
- usage: ``-m 4g ``: set UOS memory to 4 gigabytes.
222
-
223
- U, uuid <uuid>
224
- Set UUID for a VM
225
-
226
- Every VM is identified by a UUID. You can define that UUID with this
227
- option. If you don't use this option, a default one
228
- ("d2795438-25d6-11e8-864e-cb7a18b34643") will be used.
229
-
230
- usage::
231
-
232
- -u "42795636-1d31-6512-7432-087d33b34756"
233
-
234
- set the newly created VM's UUID to "42795636-1d31-6512-7432-087d33b34756"
235
-
236
- i, ioc_node <ioc_mediator_parameters>
237
- (See **l, lpc ** description)
238
-
239
- l, lpc <lpc_device_configuration>
240
- IOC (IO Controller) is a bridge of an SoC to communicate with Vehicle Bus.
241
- It routes Vehicle Bus signals, for example extracted from CAN messages,
242
- from IOC to the SoC and back, as well as controlling the onboard
243
- peripherals from SoC. (These parameters are only available on a
244
- platform with IOC.)
245
-
246
- IOC DM opens ``/dev/ptmx `` device to create a peer PTY devices, IOC DM uses
247
- these to communicate with UART DM since UART DM needs a TTY capable
248
- device as its backend.
249
-
250
- The device model configuration command syntax for IOC mediator is::
251
-
252
- -i,[ioc_channel_path],[wakeup_reason]
253
- -l,[lpc_port],[ioc_channel_path]
254
-
255
- - ``ioc_channel_path `` is an absolute path for communication between IOC
256
- mediator and UART DM.
257
- - ``lpc_port `` is com1 or com2. IOC mediator needs one unassigned lpc
258
- port for data transfer between User OS and Service OS.
259
- - ``wakeup_reason `` is IOC mediator boot up reason, where each bit represents
260
- one wakeup reason.
261
-
262
- Currently the wakeup reason bits supported by IOC firmware are:
263
-
264
- - ``CBC_WK_RSN_BTN``(bit 5): ignition button.
265
- - ``CBC_WK_RSN_RTC``(bit 9): RTC timer.
266
- - CBC_WK_RSN_DOR(bit 11): Car door.
267
- - ``CBC_WK_RSN_SOC``(bit 23): SoC active/inactive.
268
-
269
- As an example, the following commands are used to enable IOC feature, the
270
- initial wakeup reason is ignition button, and cbc_attach uses ttyS1 for
271
- TTY line discipline in UOS::
272
-
273
- -i /run/acrn/ioc_$vm_name,0x20
274
- -l com2,/run/acrn/ioc_$vm_name
275
-
276
- vsbl <vsbl_file_path>
277
- Virtual Slim bootloader (vSBL) is the virtual bootloader supporting
278
- booting of the UOS on the ACRN hypervisor platform. The vSBL design is
279
- derived from Slim Bootloader, which follows a staged design approach
280
- that provides hardware initialization and launching a payload that
281
- provides the boot logic.
282
-
283
- The vSBL image is installed on the Service OS root filesystem by the
284
- service-os bundle, in ``/usr/share/acrn/bios/ ``. In the current design,
285
- the vSBL supports booting Android guest OS or Linux guest OS using the
286
- same vSBL image. For Android VM, the vSBL will load and verify trusty OS
287
- first, and trusty OS will then load and verify Android OS according to
288
- Android OS verification mechanism.
289
-
290
- usage::
291
-
292
- --vsbl /usr/share/acrn/bios/VSBL.bin
293
-
294
- uses ``/usr/share/acrn/bios/VSBL.bin `` as the vSBL image
295
-
296
- G, gvtargs <GVT_args>
297
- ACRN implements GVT-g for graphics virtualization (aka AcrnGT). This
298
- option allows you to set some of its parameters.
299
-
300
- GVT_args format: ``gvt_high_gm_sz gvt_low_gm_sz gvt_fence_sz ``
301
-
302
- Where:
303
-
304
- - ``gvt_high_gm_sz ``: GVT-g aperture size, unit is MB
305
- - ``gvt_low_gm_sz ``: GVT-g hidden gfx memory size, unit is MB
306
- - ``gvt_fence_sz ``: the number of fence registers
307
-
308
- Example::
309
-
310
- -G "10 128 6"
311
-
312
- sets up 10Mb for GVT-g aperture, 128M for GVT-g hidden
313
- memory, and 6 fence registers.
314
-
93
+ See :ref: `acrn-dm_parameters ` for more detailed descriptions of these
94
+ configuration options.
315
95
316
96
Here's an example showing how to run a VM with:
317
97
0 commit comments