@@ -67,9 +67,7 @@ use gdb::VcpuStopReason;
6767
6868#[ cfg( gdb) ]
6969use self :: handlers:: { DbgMemAccessHandlerCaller , DbgMemAccessHandlerWrapper } ;
70- use self :: handlers:: {
71- MemAccessHandlerCaller , MemAccessHandlerWrapper , OutBHandlerCaller , OutBHandlerWrapper ,
72- } ;
70+ use self :: handlers:: { MemAccessHandlerCaller , MemAccessHandlerWrapper , OutBHandler } ;
7371use crate :: hypervisor:: hypervisor_handler:: HypervisorHandler ;
7472use crate :: mem:: ptr:: RawPtr ;
7573
@@ -124,7 +122,7 @@ pub(crate) trait Hypervisor: Debug + Sync + Send {
124122 peb_addr : RawPtr ,
125123 seed : u64 ,
126124 page_size : u32 ,
127- outb_handle_fn : OutBHandlerWrapper ,
125+ outb_handle_fn : Arc < Mutex < OutBHandler > > ,
128126 mem_access_fn : MemAccessHandlerWrapper ,
129127 hv_handler : Option < HypervisorHandler > ,
130128 guest_max_log_level : Option < LevelFilter > ,
@@ -141,7 +139,7 @@ pub(crate) trait Hypervisor: Debug + Sync + Send {
141139 fn dispatch_call_from_host (
142140 & mut self ,
143141 dispatch_func_addr : RawPtr ,
144- outb_handle_fn : OutBHandlerWrapper ,
142+ outb_handle_fn : Arc < Mutex < OutBHandler > > ,
145143 mem_access_fn : MemAccessHandlerWrapper ,
146144 hv_handler : Option < HypervisorHandler > ,
147145 #[ cfg( gdb) ] dbg_mem_access_fn : DbgMemAccessHandlerWrapper ,
@@ -154,7 +152,7 @@ pub(crate) trait Hypervisor: Debug + Sync + Send {
154152 data : Vec < u8 > ,
155153 rip : u64 ,
156154 instruction_length : u64 ,
157- outb_handle_fn : OutBHandlerWrapper ,
155+ outb_handle_fn : Arc < Mutex < OutBHandler > > ,
158156 ) -> Result < ( ) > ;
159157
160158 /// Run the vCPU
@@ -254,7 +252,7 @@ impl VirtualCPU {
254252 pub fn run (
255253 hv : & mut dyn Hypervisor ,
256254 hv_handler : Option < HypervisorHandler > ,
257- outb_handle_fn : Arc < Mutex < dyn OutBHandlerCaller > > ,
255+ outb_handle_fn : Arc < Mutex < OutBHandler > > ,
258256 mem_access_fn : Arc < Mutex < dyn MemAccessHandlerCaller > > ,
259257 #[ cfg( gdb) ] dbg_mem_access_fn : Arc < Mutex < dyn DbgMemAccessHandlerCaller > > ,
260258 ) -> Result < ( ) > {
@@ -341,7 +339,7 @@ pub(crate) mod tests {
341339
342340 #[ cfg( gdb) ]
343341 use super :: handlers:: DbgMemAccessHandlerWrapper ;
344- use super :: handlers:: { MemAccessHandlerWrapper , OutBHandlerWrapper } ;
342+ use super :: handlers:: { MemAccessHandlerWrapper , OutBHandler } ;
345343 use crate :: hypervisor:: hypervisor_handler:: {
346344 HvHandlerConfig , HypervisorHandler , HypervisorHandlerAction ,
347345 } ;
@@ -351,7 +349,7 @@ pub(crate) mod tests {
351349 use crate :: { new_error, Result } ;
352350
353351 pub ( crate ) fn test_initialise (
354- outb_hdl : OutBHandlerWrapper ,
352+ outb_hdl : Arc < Mutex < OutBHandler > > ,
355353 mem_access_hdl : MemAccessHandlerWrapper ,
356354 #[ cfg( gdb) ] dbg_mem_access_fn : DbgMemAccessHandlerWrapper ,
357355 ) -> Result < ( ) > {
0 commit comments