@@ -8,10 +8,12 @@ declare -A passthru_bdf
8
8
passthru_vpid=(
9
9
[" eth" ]=" 8086 156f"
10
10
[" sata" ]=" 8086 9d03"
11
+ [" nvme" ]=" 8086 f1a6"
11
12
)
12
13
passthru_bdf=(
13
14
[" eth" ]=" 0000:00:1f.6"
14
15
[" sata" ]=" 0000:00:17.0"
16
+ [" nvme" ]=" 0000:02:0.0"
15
17
)
16
18
17
19
function launch_hard_rt_vm()
@@ -26,28 +28,45 @@ modprobe pci_stub
26
28
# echo ${passthru_bdf["eth"]} > /sys/bus/pci/drivers/pci-stub/bind
27
29
28
30
# SATA pass-through
29
- echo ${passthru_vpid["sata"]} > /sys/bus/pci/drivers/pci-stub/new_id
30
- echo ${passthru_bdf["sata"]} > /sys/bus/pci/devices/${passthru_bdf["sata"]} /driver/unbind
31
- echo ${passthru_bdf["sata"]} > /sys/bus/pci/drivers/pci-stub/bind
31
+ # echo ${passthru_vpid["sata"]} > /sys/bus/pci/drivers/pci-stub/new_id
32
+ # echo ${passthru_bdf["sata"]} > /sys/bus/pci/devices/${passthru_bdf["sata"]}/driver/unbind
33
+ # echo ${passthru_bdf["sata"]} > /sys/bus/pci/drivers/pci-stub/bind
34
+
35
+ # NVME pass-through
36
+ echo ${passthru_vpid["nvme"]} > /sys/bus/pci/drivers/pci-stub/new_id
37
+ echo ${passthru_bdf["nvme"]} > /sys/bus/pci/devices/${passthru_bdf["nvme"]} /driver/unbind
38
+ echo ${passthru_bdf["nvme"]} > /sys/bus/pci/drivers/pci-stub/bind
32
39
33
40
# for pm setting
34
41
pm_channel=" --pm_notify_channel uart "
35
42
pm_by_vuart=" --pm_by_vuart tty,/dev/ttyS1"
36
43
37
44
38
45
/usr/bin/acrn-dm -A -m $mem_size -s 0:0,hostbridge \
39
- -k /usr/lib/kernel/default-iot-lts2018-preempt-rt \
40
46
--lapic_pt \
41
47
--rtvm \
42
48
--virtio_poll 1000000 \
43
- -s 2,passthru,0/17/0 \
49
+ -U 495ae2e5-2603-4d64-af76-d4bc5a8ec0e5 \
50
+ -s 2,passthru,02/0/0 \
44
51
-s 3,virtio-console,@stdio:stdio_port \
45
52
$pm_channel $pm_by_vuart \
46
- -B " root=/dev/sda3 rw rootwait maxcpus= $1 nohpet console=hvc0 \
47
- no_timer_check ignore_loglevel log_buf_len=16M \
48
- consoleblank=0 tsc=reliable x2apic_phys " hard_rtvm
53
+ --ovmf /usr/share/acrn/bios/OVMF.fd \
54
+ hard_rtvm
55
+
49
56
}
50
57
58
+ # -s 2,passthru,0/17/0 \ #please using "lspci -nn" check the bdf info
59
+
60
+ # Depends on which partation RT_LaaG is installed in;maybe need to change
61
+ # /dev/nvme0n1p3 to /dev/sda3 on NUC and uncomment SATA pass-through
62
+ # Add following RT_LaaG kernel cmdline into loader/entries/xxx.conf of EFI partation
63
+ # root=/dev/nvme0n1p3 rw rootwait nohpet console=hvc0 console=ttyS0 \
64
+ # no_timer_check ignore_loglevel log_buf_len=16M consoleblank=0 \
65
+ # clocksource=tsc tsc=reliable x2apic_phys processor.max_cstate=0 \
66
+ # intel_idle.max_cstate=0 intel_pstate=disabled mce=ignore_ce audit=0 \
67
+ # isolcpus=nohz,domain,1 nohz_full=1 rcu_nocbs=1 nosoftlockup idle=poll \
68
+ # irqaffinity=0
69
+
51
70
# offline SOS CPUs except BSP before launch UOS
52
71
for i in ` ls -d /sys/devices/system/cpu/cpu[1-99]` ; do
53
72
online=` cat $i /online`
0 commit comments