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,
    	},
];

posted @ 2025-11-18 10:26  爱吃鸡魔人zf  阅读(3)  评论(0)    收藏  举报