|
1 | 1 | #!/bin/bash
|
2 | 2 |
|
| 3 | +ipu_passthrough=0 |
| 4 | + |
3 | 5 | function launch_clearlinux()
|
4 | 6 | {
|
5 | 7 | if [ ! -f "/data/$5/$5.img" ]; then
|
@@ -54,22 +56,26 @@ echo "0000:00:0f.0" > /sys/bus/pci/devices/0000:00:0f.0/driver/unbind
|
54 | 56 | echo "0000:00:0f.0" > /sys/bus/pci/drivers/pci-stub/bind
|
55 | 57 |
|
56 | 58 | boot_ipu_option=""
|
57 |
| -# for ipu passthrough - ipu device 0:3.0 |
58 |
| -if [ -d "/sys/bus/pci/devices/0000:00:03.0" ]; then |
59 |
| - echo "8086 5a88" > /sys/bus/pci/drivers/pci-stub/new_id |
60 |
| - echo "0000:00:03.0" > /sys/bus/pci/devices/0000:00:03.0/driver/unbind |
61 |
| - echo "0000:00:03.0" > /sys/bus/pci/drivers/pci-stub/bind |
62 |
| - boot_ipu_option="$boot_ipu_option"" -s 12,passthru,0/3/0 " |
63 |
| -fi |
64 |
| - |
65 |
| -# for ipu passthrough - ipu related i2c 0:16.0 |
66 |
| -# please use virtual slot 22 for i2c 0:16.0 to make sure that the i2c controller |
67 |
| -# could get the same virtaul BDF as physical BDF |
68 |
| -if [ -d "/sys/bus/pci/devices/0000:00:16.0" ]; then |
69 |
| - echo "8086 5aac" > /sys/bus/pci/drivers/pci-stub/new_id |
70 |
| - echo "0000:00:16.0" > /sys/bus/pci/devices/0000:00:16.0/driver/unbind |
71 |
| - echo "0000:00:16.0" > /sys/bus/pci/drivers/pci-stub/bind |
72 |
| - boot_ipu_option="$boot_ipu_option"" -s 22,passthru,0/16/0 " |
| 59 | +if [ $ipu_passthrough == 1 ];then |
| 60 | + # for ipu passthrough - ipu device 0:3.0 |
| 61 | + if [ -d "/sys/bus/pci/devices/0000:00:03.0" ]; then |
| 62 | + echo "8086 5a88" > /sys/bus/pci/drivers/pci-stub/new_id |
| 63 | + echo "0000:00:03.0" > /sys/bus/pci/devices/0000:00:03.0/driver/unbind |
| 64 | + echo "0000:00:03.0" > /sys/bus/pci/drivers/pci-stub/bind |
| 65 | + boot_ipu_option="$boot_ipu_option"" -s 12,passthru,0/3/0 " |
| 66 | + fi |
| 67 | + |
| 68 | + # for ipu passthrough - ipu related i2c 0:16.0 |
| 69 | + # please use virtual slot 22 for i2c 0:16.0 to make sure that the i2c controller |
| 70 | + # could get the same virtaul BDF as physical BDF |
| 71 | + if [ -d "/sys/bus/pci/devices/0000:00:16.0" ]; then |
| 72 | + echo "8086 5aac" > /sys/bus/pci/drivers/pci-stub/new_id |
| 73 | + echo "0000:00:16.0" > /sys/bus/pci/devices/0000:00:16.0/driver/unbind |
| 74 | + echo "0000:00:16.0" > /sys/bus/pci/drivers/pci-stub/bind |
| 75 | + boot_ipu_option="$boot_ipu_option"" -s 22,passthru,0/16/0 " |
| 76 | + fi |
| 77 | +else |
| 78 | + boot_ipu_option="$boot_ipu_option"" -s 21,virtio-ipu " |
73 | 79 | fi
|
74 | 80 |
|
75 | 81 | # for sd card passthrough - SDXC/MMC Host Controller 00:1b.0
|
@@ -211,22 +217,26 @@ echo "0000:00:18.0" > /sys/bus/pci/devices/0000:00:18.0/driver/unbind
|
211 | 217 | echo "0000:00:18.0" > /sys/bus/pci/drivers/pci-stub/bind
|
212 | 218 |
|
213 | 219 | boot_ipu_option=""
|
214 |
| -# for ipu passthrough - ipu device 0:3.0 |
215 |
| -if [ -d "/sys/bus/pci/devices/0000:00:03.0" ]; then |
216 |
| - echo "8086 5a88" > /sys/bus/pci/drivers/pci-stub/new_id |
217 |
| - echo "0000:00:03.0" > /sys/bus/pci/devices/0000:00:03.0/driver/unbind |
218 |
| - echo "0000:00:03.0" > /sys/bus/pci/drivers/pci-stub/bind |
219 |
| - boot_ipu_option="$boot_ipu_option"" -s 12,passthru,0/3/0 " |
220 |
| -fi |
221 |
| - |
222 |
| -# for ipu passthrough - ipu related i2c 0:16.0 |
223 |
| -# please use virtual slot 22 for i2c 0:16.0 to make sure that the i2c controller |
224 |
| -# could get the same virtaul BDF as physical BDF |
225 |
| -if [ -d "/sys/bus/pci/devices/0000:00:16.0" ]; then |
226 |
| - echo "8086 5aac" > /sys/bus/pci/drivers/pci-stub/new_id |
227 |
| - echo "0000:00:16.0" > /sys/bus/pci/devices/0000:00:16.0/driver/unbind |
228 |
| - echo "0000:00:16.0" > /sys/bus/pci/drivers/pci-stub/bind |
229 |
| - boot_ipu_option="$boot_ipu_option"" -s 22,passthru,0/16/0 " |
| 220 | +if [ $ipu_passthrough == 1 ];then |
| 221 | + # for ipu passthrough - ipu device 0:3.0 |
| 222 | + if [ -d "/sys/bus/pci/devices/0000:00:03.0" ]; then |
| 223 | + echo "8086 5a88" > /sys/bus/pci/drivers/pci-stub/new_id |
| 224 | + echo "0000:00:03.0" > /sys/bus/pci/devices/0000:00:03.0/driver/unbind |
| 225 | + echo "0000:00:03.0" > /sys/bus/pci/drivers/pci-stub/bind |
| 226 | + boot_ipu_option="$boot_ipu_option"" -s 12,passthru,0/3/0 " |
| 227 | + fi |
| 228 | + |
| 229 | + # for ipu passthrough - ipu related i2c 0:16.0 |
| 230 | + # please use virtual slot 22 for i2c 0:16.0 to make sure that the i2c controller |
| 231 | + # could get the same virtaul BDF as physical BDF |
| 232 | + if [ -d "/sys/bus/pci/devices/0000:00:16.0" ]; then |
| 233 | + echo "8086 5aac" > /sys/bus/pci/drivers/pci-stub/new_id |
| 234 | + echo "0000:00:16.0" > /sys/bus/pci/devices/0000:00:16.0/driver/unbind |
| 235 | + echo "0000:00:16.0" > /sys/bus/pci/drivers/pci-stub/bind |
| 236 | + boot_ipu_option="$boot_ipu_option"" -s 22,passthru,0/16/0 " |
| 237 | + fi |
| 238 | +else |
| 239 | + boot_ipu_option="$boot_ipu_option"" -s 21,virtio-ipu " |
230 | 240 | fi
|
231 | 241 |
|
232 | 242 | #for memsize setting
|
|
0 commit comments