loongarch 3a6000 ivc通信
修改 ivc_driver.c
本来只有arm64架构的相关接口代码,添加了loongarch架构的代码
在 hvisor-tool 目录下执行:
make all ARCH=loongarch LOG=LOG_WARN KDIR=对应的linux源码目录
修改了linux1/2/3.dts的设备树
添加了如下
hvisor_ivc_device {
compatible = "hvisor";
interrupts = <0x00 0x22 0x01>;
};
ivc.ko 要用两个不同版本的 linux 源码来编译
修改board.rs
pub const ROOT_ZONE_IVC_CONFIG: [HvIvcConfig; 1] = [
HvIvcConfig {
ivc_id: 0,
peer_id: 0,
control_table_ipa: 0x1400_0000,
shared_mem_ipa: 0x1400_1000,
rw_sec_size: 0,
out_sec_size: 0x1000,
interrupt_num: 65,
max_peers: 4,
},
];
pub const ZONE1_IVC_CONFIG: [HvIvcConfig; 1] = [
HvIvcConfig {
ivc_id: 0,
peer_id: 1,
control_table_ipa: 0x1408_0000,
shared_mem_ipa: 0x1408_1000,
rw_sec_size: 0,
out_sec_size: 0x1000,
interrupt_num: 66,
max_peers: 4,
},
];

浙公网安备 33010602011771号