diff --git a/sig/Hygon Arch/assets/HCT/HCT_VM12.png b/sig/Hygon Arch/assets/HCT/HCT_VM12.png
new file mode 100644
index 0000000000000000000000000000000000000000..0989a02fe8012c43730b1985d666f6accd603ba6
Binary files /dev/null and b/sig/Hygon Arch/assets/HCT/HCT_VM12.png differ
diff --git a/sig/Hygon Arch/assets/HCT/HCT_VM14.png b/sig/Hygon Arch/assets/HCT/HCT_VM14.png
new file mode 100644
index 0000000000000000000000000000000000000000..f028d548d9e0f6c42e8816c0ef9a4957de4c7293
Binary files /dev/null and b/sig/Hygon Arch/assets/HCT/HCT_VM14.png differ
diff --git a/sig/Hygon Arch/assets/HCT/HCT_VM15.png b/sig/Hygon Arch/assets/HCT/HCT_VM15.png
new file mode 100644
index 0000000000000000000000000000000000000000..fb9ed6bbb571c8968b8820c6e3632fd46a58ea18
Binary files /dev/null and b/sig/Hygon Arch/assets/HCT/HCT_VM15.png differ
diff --git a/sig/Hygon Arch/assets/HCT/HCT_VM16.png b/sig/Hygon Arch/assets/HCT/HCT_VM16.png
new file mode 100644
index 0000000000000000000000000000000000000000..a4ab8a8a2c8f4e0a0c45b05f0f6a883bf58e073c
Binary files /dev/null and b/sig/Hygon Arch/assets/HCT/HCT_VM16.png differ
diff --git a/sig/Hygon Arch/assets/HCT/HCT_VM17.png b/sig/Hygon Arch/assets/HCT/HCT_VM17.png
new file mode 100644
index 0000000000000000000000000000000000000000..99d7cd8220664666585edd347b951b8090df2e94
Binary files /dev/null and b/sig/Hygon Arch/assets/HCT/HCT_VM17.png differ
diff --git a/sig/Hygon Arch/assets/HCT/HCT_VM18.png b/sig/Hygon Arch/assets/HCT/HCT_VM18.png
new file mode 100644
index 0000000000000000000000000000000000000000..5c24a485a71c8fc16f895b4cf9915d2f35098dca
Binary files /dev/null and b/sig/Hygon Arch/assets/HCT/HCT_VM18.png differ
diff --git a/sig/Hygon Arch/assets/HCT/HCT_VM19.png b/sig/Hygon Arch/assets/HCT/HCT_VM19.png
new file mode 100644
index 0000000000000000000000000000000000000000..bcf5ebcfe6bec8334c02cb7fd7a179ecef16d909
Binary files /dev/null and b/sig/Hygon Arch/assets/HCT/HCT_VM19.png differ
diff --git a/sig/Hygon Arch/assets/HCT/HCT_VM20.png b/sig/Hygon Arch/assets/HCT/HCT_VM20.png
new file mode 100644
index 0000000000000000000000000000000000000000..d8cff3bd79a7012621678578bd177eb227e3a9f7
Binary files /dev/null and b/sig/Hygon Arch/assets/HCT/HCT_VM20.png differ
diff --git "a/sig/Hygon Arch/content/3-HCT\346\265\213\350\257\225\346\226\207\346\241\243/1-HCT\347\224\250\346\210\267\346\211\213\345\206\214.md" "b/sig/Hygon Arch/content/3-HCT\346\265\213\350\257\225\346\226\207\346\241\243/1-HCT\347\224\250\346\210\267\346\211\213\345\206\214.md"
index e5f65291223fd1e26c1d8f103b19fd3f1dd93e28..da320cfdcef7f360cde4edd9d6d4a13f348777e2 100644
--- "a/sig/Hygon Arch/content/3-HCT\346\265\213\350\257\225\346\226\207\346\241\243/1-HCT\347\224\250\346\210\267\346\211\213\345\206\214.md"
+++ "b/sig/Hygon Arch/content/3-HCT\346\265\213\350\257\225\346\226\207\346\241\243/1-HCT\347\224\250\346\210\267\346\211\213\345\206\214.md"
@@ -12,14 +12,14 @@
| 组件 | 版本信息 |
|--------------|-----------------------|
-| CPU | 双路7285 C86 CPU |
-| 内存 | 512GB DDR4 |
-| 操作系统内核 | Linux kernel 5.4.19 |
-| 操作系统 | CentOS 7.9 |
-| gcc | 9.3.0 |
+| CPU | Hygon C86 7265 |
+| 内存 | 128GB DDR4 |
+| 操作系统内核 | Linux kernel 5.10 |
+| 操作系统 | Ubuntu 18.04 |
+| gcc | 7.5.0 |
| OpenSSL | 1.1.1c |
| numa | 2.0.12 |
-| HCT套件 | hct_2.0.0.20240430_release |
+| HCT套件 | hct_2.1.0.20241030_release |
# **2. HCT下载和环境配置**
@@ -42,8 +42,8 @@ hygon-devkit/
│ ├── hct_1.0.1.20230512_rc
│ ├── hct_1.1.0.20230730_rc
│ ├── hct_1.1.1.20230930_rc
- │ └── hct_2.0.0.20240430_release
- │
+ │ ├── hct_2.0.0.20240430_release
+ | └── hct_2.1.0.20241030_release
└── README.md
```
@@ -75,7 +75,7 @@ sudo yum install numactl -y
```
wget "https://www.openssl.org/source/old/1.1.1/openssl-1.1.1c.tar.gz"
-tar –zxvf openssl-1.1.1c.tar.gz
+tar -zxvf openssl-1.1.1c.tar.gz
cd openssl-1.1.1c
./config --prefix=/usr/local
make
@@ -103,8 +103,8 @@ sudo yum install libuuid-devel -y
Centos:
```
-cd hct/pkg/hct_2.0.0.20240430_release
-sudo rpm -ivh --nodeps hct_2.0.0.20240430_release.x86_64.rpm
+cd hct/pkg/hct_2.1.0.20241030_release
+sudo rpm -ivh --nodeps hct-2.1.0-2024-1030-release.x86_64.rpm
```
**注意:** 安装时必须加上`--nodeps`选项。
@@ -112,29 +112,24 @@ sudo rpm -ivh --nodeps hct_2.0.0.20240430_release.x86_64.rpm
Ubuntu:
```
-cd hct/pkg/hct_2.0.0.20240430_release
-sudo dpkg -i hct_2.0.0.20240430_release.x86_64.deb
+cd hct/pkg/hct_2.1.0.20241030_release
+sudo dpkg -i hct-2.1.0-2024-1030-release.x86_64.deb
```
3\. 安装HCT内核模块
**编译安装HCT内核模块要求内核版本在4.10及以上。**
-请将hct_2.0.0.20240430_release目录(如果使用其他版本HCT,请找到对应版本目录)下的Makefile文件下载到任意空目录中,并在该目录下执行以下命令编译并安装HCT内核模块。
+请将hct_2.1.0.20241030_release目录(如果使用其他版本HCT,请找到对应版本目录)下的Makefile文件下载到任意空目录中,并在该目录下执行以下命令编译并安装HCT内核模块。
```
make
sudo make install
```
-4\. 检测并加载必须的内核模块
-
-```
-sudo modprobe vfio vfio-pci vfio_iommu_type1 mdev vfio_mdev hct
-```
**注意:** modprobe前请确保系统内只有一份HCT内核模块
-5\. 执行配置,绑定CCP
+4\. 执行配置,绑定CCP
```
sudo /opt/hygon/hct/hct/script/hctconfig start
@@ -157,28 +152,28 @@ cd /opt/hygon/hct/bin
cd /opt/hygon/hct/bin
#同步多进程CCP硬件计算测试
-./hct_speed -elapsed -engine hct -multi 128 -seconds 60 -cmd ccp sm2enc
-./hct_speed -elapsed -engine hct -multi 128 -seconds 60 -cmd ccp sm2sign
-./hct_speed -elapsed -engine hct -multi 128 -seconds 60 -cmd ccp -bytes 1024 -evp sm3
-./hct_speed -elapsed -engine hct -multi 128 -seconds 60 -cmd ccp -bytes 1024 -evp sm4
+./hct_speed -elapsed -engine hct -multi 128 -seconds 10 -cmd ccp sm2enc
+./hct_speed -elapsed -engine hct -multi 128 -seconds 10 -cmd ccp sm2sign
+./hct_speed -elapsed -engine hct -multi 128 -seconds 10 -cmd ccp -bytes 1024 -evp sm3
+./hct_speed -elapsed -engine hct -multi 128 -seconds 10 -cmd ccp -bytes 1024 -evp sm4
#同步多进程CPU软件计算测试
-./hct_speed -elapsed -engine hct -multi 128 -seconds 60 -cmd sw_avx sm2enc
-./hct_speed -elapsed -engine hct -multi 128 -seconds 60 -cmd sw_avx sm2sign
-./hct_speed -elapsed -engine hct -multi 128 -seconds 60 -cmd sw_avx -bytes 1024 -evp sm3
-./hct_speed -elapsed -engine hct -multi 128 -seconds 60 -cmd sw_avx -bytes 1024 -evp sm4
+./hct_speed -elapsed -engine hct -multi 128 -seconds 10 -cmd sw_avx sm2enc
+./hct_speed -elapsed -engine hct -multi 128 -seconds 10 -cmd sw_avx sm2sign
+./hct_speed -elapsed -engine hct -multi 128 -seconds 10 -cmd sw_avx -bytes 1024 -evp sm3
+./hct_speed -elapsed -engine hct -multi 128 -seconds 10 -cmd sw_avx -bytes 1024 -evp sm4
# 异步多进程CCP硬件计算测试
-./hct_speed -elapsed -engine hct -multi 128 -async_jobs 512 -seconds 60 -cmd ccp sm2enc
-./hct_speed -elapsed -engine hct -multi 128 -async_jobs 512 -seconds 60 -cmd ccp sm2sign
-./hct_speed -elapsed -engine hct -multi 128 -async_jobs 512 -seconds 60 -cmd ccp -bytes 1024 -evp sm3
-./hct_speed -elapsed -engine hct -multi 128 -async_jobs 512 -seconds 60 -cmd ccp -bytes 1024 -evp sm4
+./hct_speed -elapsed -engine hct -multi 128 -async_jobs 512 -seconds 10 -cmd ccp sm2enc
+./hct_speed -elapsed -engine hct -multi 128 -async_jobs 512 -seconds 10 -cmd ccp sm2sign
+./hct_speed -elapsed -engine hct -multi 128 -async_jobs 512 -seconds 10 -cmd ccp -bytes 1024 -evp sm3
+./hct_speed -elapsed -engine hct -multi 128 -async_jobs 512 -seconds 10 -cmd ccp -bytes 1024 -evp sm4
#同步多线程CCP硬件计算测试
-./hct_speed -elapsed -engine hct -multi-thread -multi 128 -seconds 60 -cmd ccp sm2enc
-./hct_speed -elapsed -engine hct -multi-thread -multi 128 -seconds 60 -cmd ccp sm2sign
-./hct_speed -elapsed -engine hct -multi-thread -multi 128 -seconds 60 -cmd ccp -bytes 1024 -evp sm3
-./hct_speed -elapsed -engine hct -multi-thread -multi 128 -seconds 60 -cmd ccp -bytes 1024 -evp sm4
+./hct_speed -elapsed -engine hct -multi-thread -multi 128 -seconds 10 -cmd ccp sm2enc
+./hct_speed -elapsed -engine hct -multi-thread -multi 128 -seconds 10 -cmd ccp sm2sign
+./hct_speed -elapsed -engine hct -multi-thread -multi 128 -seconds 10 -cmd ccp -bytes 1024 -evp sm3
+./hct_speed -elapsed -engine hct -multi-thread -multi 128 -seconds 10 -cmd ccp -bytes 1024 -evp sm4
```
**Tips:** hct_speed各个参数说明以及所有用法均可通过`./hct_speed --help`进行查询
@@ -206,7 +201,7 @@ __另外部分旧有的BIOS也可以采用在线升级的方式更新BIOS,详
```
**说明:CPU芯片中包含两类CCP协处理器,一类为PSP CCP,一类为NTB CCP,通常BIOS只会将NTB CCP配置给用户使用,PSP CCP一般用于可信计算场景。如果BIOS支持将PSP CCP配置给用户(C86)使用,那么HCT就可以获得更多的协处理器资源,表现出更高的性能。**
-3\. hct_2.0.0.20240430_release版本支持noiommu使用场景,支持2M大页和1G大页两种模式,可参考如下提示使用
+3\. hct_2.0.0.20240430_release版本之后支持noiommu使用场景,支持2M大页和1G大页两种模式,可参考如下提示使用
```
提示:
Ⅰ. 确保内核CONFIG_VFIO_NOIOMMU配置为打开状态
@@ -216,4 +211,6 @@ __另外部分旧有的BIOS也可以采用在线升级的方式更新BIOS,详
Ⅴ. 若开启了内存加密,即在grub中配置了sme=on,则需要加载hct.ko,否则该功能无法正常使用
```
-4\. hct_2.0.0.20240430_release版本相较于以往版本,在用户态代码(hct.so和libhcts.so)和内核模块代码(hct.c)均有较多改动,建议这两部分同步进行更新,若升级此版本时,只更新用户态代码或只更新内核模块代码,则可能出现异常
+4\. hct_2.1.0.20241030_release版本相较于以往版本,在用户态代码(hct.so和libhcts.so)和内核模块代码(hct.c)均有较多改动,建议这两部分同步进行更新,若升级此版本时,只更新用户态代码或只更新内核模块代码,则可能出现异常
+
+5\. hct_2.1.0.20241030_release版本支持openssl-3.0.xx,可根据需要选择对应的openssl版本进行安装,步骤同2.2节中安装openssl-1.1.1c
\ No newline at end of file
diff --git "a/sig/Hygon Arch/content/3-HCT\346\265\213\350\257\225\346\226\207\346\241\243/3-HCT\350\231\232\346\213\237\345\214\226\346\214\207\345\257\274\346\226\207\346\241\243.md" "b/sig/Hygon Arch/content/3-HCT\346\265\213\350\257\225\346\226\207\346\241\243/3-HCT\350\231\232\346\213\237\345\214\226\346\214\207\345\257\274\346\226\207\346\241\243.md"
index 386f9168614088b36431e89f94cf6609926c16aa..60500448523771a61a70e6fa910e45018fbbf596 100644
--- "a/sig/Hygon Arch/content/3-HCT\346\265\213\350\257\225\346\226\207\346\241\243/3-HCT\350\231\232\346\213\237\345\214\226\346\214\207\345\257\274\346\226\207\346\241\243.md"
+++ "b/sig/Hygon Arch/content/3-HCT\346\265\213\350\257\225\346\226\207\346\241\243/3-HCT\350\231\232\346\213\237\345\214\226\346\214\207\345\257\274\346\226\207\346\241\243.md"
@@ -1,14 +1,24 @@
## 1. 宿主机环境准备
+测试环境
+| 组件 | 版本信息 |
+|--------------|-----------------------|
+| CPU | Hygon C86 7265 |
+| 操作系统 | Ubuntu 18.04 |
+| 操作系统内核 | Linux kernel 5.16.20 |
+| OpenSSL | 1.1.1c |
+| libvirt | 5.8.0 |
+| HCT套件 | hct_2.1.0.20241030_release |
### 1.1 安装HCT开发包
-参照[《HCT用户手册》](./1-HCT用户手册.md)在宿主机中搭建开发环境,当主机HCT环境验证通过后,请务必通过下列命令重新绑定HCT驱动:
+参照[《HCT用户手册》](./1-HCT用户手册.md)在宿主机中搭建开发环境,当主机HCT环境验证通过后,请通过下列命令重新绑定HCT驱动:
```
$ sudo /opt/hygon/hct/hct/script/hctconfig stop
-$ sudo /opt/hygon/hct/hct/script/hctconfig start
+$ sudo /opt/hygon/hct/hct/script/hctconfig start -p 16 -q 128
```
+此处-p 16是创建16个宿主机使用的mdev设备,-q 128是创建128个虚拟机使用的mdev,用户可根据需求自行修改。
-Tips:主机HCT环境验证通过后,驱动会被初始化为主机使用模式,无法再支持虚拟化,因此需要先解绑驱动,将HCT环境重置
+如需启动带vTKM功能的虚拟机,请先参照[《密钥管理功能测试》](./2-密钥管理功能测试.md)在宿主机中搭建开发环境。
### 1.2 编译安装qemu
@@ -17,14 +27,20 @@ Tips:主机HCT环境验证通过后,驱动会被初始化为主机使用模
$ sudo apt install libnuma-dev libpixman-1-dev -y
```
从如下链接获取支持HCT虚拟化功能的qemu源码,本文档以qemu-6.2.0为例,用户可根据需求切换qemu的版本号:https://gitee.com/anolis/hygon-qemu
-Tips:当前支持的版本有:2.12.0, 4.1.0, 6.2.0, 7.2.0。支持hct虚拟化功能的commit-id 如下:
+Tips:当前支持的版本有:2.12.0, 4.1.0, 6.2.0, 7.2.0。支持hct虚拟化功能的commit-id如下:
| 版本 | commit-id |
|-----------------|-----------------------|
-|2.12.0 | 4647a04c4d18101bac28f1f4b565ff4030f1a1ae
949469447da28932384cfa8a3dfe9b567806320c |
-|4.1.0 | 5e27416a21450f54f4d4eb040532069771f1b5d3
32097e5ec58f70d59022321ad5752e4c46863c2b |
-|6.2.0 | 1886abda05f878303b140a345d53ffd899675be6
b046474dbc2560434dc1d2f4485b8b474d7d23e0 |
-|7.2.0 | 6e868fb05ab96a27d26aaa71ecbf99352f29a5e5
950ae0538455f3505e9935807f4c1d1511674eb4 |
+|2.12.0 | 4647a04c4d18101bac28f1f4b565ff4030f1a1ae
949469447da28932384cfa8a3dfe9b567806320c
f105775ec610cff1982a14ec766d236ad55b5109 |
+|4.1.0 | 5e27416a21450f54f4d4eb040532069771f1b5d3
32097e5ec58f70d59022321ad5752e4c46863c2b
a841c63f46321d1937d0e41c5cc76076b5bad2be|
+|6.2.0 | 1886abda05f878303b140a345d53ffd899675be6
b046474dbc2560434dc1d2f4485b8b474d7d23e0
77e0f539ef8daacd27ea0f77dfed4b3a5c35d610|
+|7.2.0 | 6e868fb05ab96a27d26aaa71ecbf99352f29a5e5
950ae0538455f3505e9935807f4c1d1511674eb4
21e118a70be9fac634f9910aa0029e4cdcdc94f1|
+
+如需使用vTKM完整功能,请获取如下patch(当前仅支持6.2.0版本)
+| 版本 | commit-id |
+|-----------------|-----------------------|
+|6.2.0 |9b4396f8c8db6ebef8bd0b315d6649365123db0e(支持密钥隔离)
76a47a90f9ecee19f86039fdea992c7d5c1f4d22 (CSV虚拟机功能支持)
c5b9286549f37f14e8ddbfb7831a6b7d125b1f65(CSV虚拟机功能支持)
da768933bfcec318425f788524b792e58bdf51ad (CSV虚拟机功能支持)|
+
qemu源码下载完成后执行如下命令进行编译安装。如使用7.2.0版本,请安装libslirp-dev,并在./configure后加上--enable-slirp参数。
```
@@ -44,8 +60,8 @@ $ tree ../output
下载操作系统镜像。
```
$ cd ..
-$ mkdir ios
-$ cd ios
+$ mkdir iso
+$ cd iso
$ wget http://mirrors.aliyun.com/ubuntu-releases/18.04/ubuntu-18.04.6-live-server-amd64.iso
```
用如下命令创建一个大小为20G的虚拟磁盘。
@@ -75,9 +91,18 @@ $ xtightvncviewer
$ /opt/hygon/hct/hct/script/start_qemu.py -q ../output/qemu-output/bin/qemu-system-x86_64 -n 1 -i hct.qcow2
```
-q后的参数为qemu可执行程序,可根据安装位置自行指定,默认为系统目录下的qemu-system-x86_64;-n后的参数为启动虚拟机的数量;-i后的参数为装有操作系统的虚拟磁盘,需要指定路径。
-

+如需启动带vTKM功能的虚拟机,先使用hag工具创建vid。并在脚本后请加--vid {vid_num} 参数。
+```
+$ cd /opt/hygon/bin
+$ sudo ./hag tkm vtkm_create -mode shared
+$ /opt/hygon/hct/hct/script/start_qemu.py -q ../output/qemu-output/bin/qemu-system-x86_64 -n 1 -i hct.qcow2 --vid 1
+```
+
+
+
+
虚拟机成功启动后,使用如下命令查询虚拟机状态及对应端口号。
```
$ /opt/hygon/hct/hct/script/start_qemu.py -s
@@ -91,8 +116,8 @@ $ ssh -p 2220 hygon@localhost
```

-注意,此后的操作均在虚拟机中执行。
-安装依赖的软件。安装软件前请保持虚拟机和宿主机的apt源一致。
+注意,此后的操作如无特殊说明,均在虚拟机中执行。
+安装依赖软件。安装软件前请保持虚拟机和宿主机的apt源一致。
```
$ sudo apt install -y make build-essential python
```
@@ -125,7 +150,11 @@ $ sudo bash -c "echo 1 > /sys/module/vfio/parameters/enable_unsafe_noiommu_mode"
$ cat /sys/module/vfio/parameters/enable_unsafe_noiommu_mode
```

+
+如需验证vTKM功能,请先参照[《密钥管理功能测试》](./2-密钥管理功能测试.md) 1.1节,在虚拟机中安装对应的deb/rpm包。
+
## 3. 功能测试
+### 3.1 HCT功能测试
将CCP设备绑定到vfio-pci驱动。
```
$ sudo /opt/hygon/hct/hct/script/hctconfig start -m vfio-pci
@@ -140,6 +169,41 @@ $ sudo /opt/hygon/hct/bin/hct_speed -elapsed -engine hct -multi 1 -seconds 10 sm
```

+
+### 3.2 vTKM功能测试
+如无vTKM功能需求,可跳过。
+
+1\. 在主机中生成sm2签名密钥,这里以类型为sm2索引为666号密钥为例,然后使用该密钥对一个数据摘要进行签名(宿主机中进行);
+```
+$ echo 87654321 | xxd -r -ps > intl.auth
+$ sudo ./hag tkm rand_get -len 32 -out data32.plain
+$ sudo ./hag tkm intl_key_gen -type sm2sign -idx 666 -auth intl.auth
+$ sudo ./hag tkm sm2_sign -handle 0xa00029a -auth intl.auth -in data32.plain -out sm2_sign.bin
+```
+
+
+2\. 将主机中生成的data32.plain和sm2_sign.bin拷贝到虚拟机中(虚拟机中进行);
+```
+$ scp {hostuser}@{hostip}:{file_path}/data32.plain ./
+$ scp {hostuser}@{hostip}:{file_path}/sm2_sign.bin ./
+```
+3\. 在虚拟机中通过与主机相同的密钥句柄导出其公钥(虚拟机中进行);
+```
+$ sudo ./hag tkm pubkey_export -handle 0xa00029a -out sm2_pubkey.bin
+```
+
+
+4\. 使用公钥对主机的签名值进行验签(虚拟机中进行);
+```
+$ sudo ./hag tkm sm2_verify -dgst data32.plain -pub sm2_pubkey.bin -sig sm2_sign.bin
+```
+
+
+5\. 清理主机环境(宿主机中进行)。
+```
+$ sudo ./hag tkm key_destroy -handle 0xa00029a -auth intl.auth
+```
+
## 4. 备注
### 4.1 注意事项
虚拟机与宿主机一样,都支持1G和2M内存大页,默认为2M,如需使用1G内存大页,可参考[《HCT用户手册》](./1-HCT用户手册.md)。
@@ -159,4 +223,127 @@ start_qemu.py启动虚拟机的参数为 ../output/qemu-output/bin/qemu-system-x
|-object memory-backend-ram,id=mem0,size=4G,policy=bind,host-nodes=2 |创建一个内存对象,分配4G内存,并将它绑定在宿主机的numa2上|
|-numa node,memdev=mem0,cpus=0-5,cpus=18-23,nodeid=0 |创建一个numa节点,关联内存,并指定与vcpu关联|
|-device hct,sysfsdev=/sys/bus/mdev/devices/{uuid} |虚拟机中添加一个hct设备 |
-|-daemonize |后台运行虚拟机 |
\ No newline at end of file
+|-daemonize |后台运行虚拟机 |
+
+
+## 5. libvirt中使用虚拟机
+使用前请自行安装4.5及以上版本的libvirt。可参考官方文档https://libvirt.org/docs.html
+### 5.1 配置文件修改
+
+编辑/etc/libvirt/qemu.conf,并设置用户参数。
+```
+user = "root"
+group = "root"
+```
+
+
+安装libvirt及lxml的python插件。
+```
+$ sudo pip3 install libvirt-python
+$ sudo pip3 install lxml
+```
+更新/etc/libvirt/qemu.conf中的cgroup_device_acl设备列表。
+```
+$ sudo /opt/hygon/hct/hct/script/start_qemu.py --update_qemu_conf
+```
+如需使用vTKM功能,请在cgroup_device_acl中加入"/dev/hygon_psp_config"设备。
+
+重启libvirt服务。
+
+```
+$ sudo service libvirtd restart
+```
+
+### 5.2 导入虚拟机
+导入新的虚拟机,并查看状态。
+```
+$ sudo virsh define test.xml
+$ sudo virsh list --all
+```
+
+
+如需使用vTKM功能,请在test.xml中的部分加入
+。
+
+### 5.3 更新xml配置
+更新xml中的hct设备。
+```
+$ sudo /opt/hygon/hct/hct/script/start_qemu.py --update_xml hct_test01
+```
+
+
+启动虚拟机。
+```
+$ sudo virsh start hct_test01
+```
+
+
+虚拟机开启后可通过ssh或是vnc登录。
+
+### 5.4 xml示例配置
+如下为启动一个hct功能虚拟机的基本配置,仅供参考。注意将配置中emulator及source file中的{your_path}替换成真实路径。如需在其他虚拟机配置中使用hct,确保配置文件中存在qemu:commandline即可。
+```
+
+ hct_test01
+ 16
+ 16
+ 32
+
+ /machine
+
+
+ hvm
+
+
+
+ destroy
+ restart
+ destroy
+
+ /{your_path}/qemu-system-x86_64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +0:+0
+
+
+
+
+
+
+
+
+
+
+
+
+```
\ No newline at end of file