@@ -13,36 +13,36 @@ use std::slice;
1313use libc:: c_char;
1414
1515use arch_gen:: x86:: mpspec;
16- use memory_model:: { Address , DataInit , GuestAddress , GuestMemory } ;
16+ use memory_model:: { Address , ByteValued , GuestAddress , GuestMemory } ;
1717
1818// This is a workaround to the Rust enforcement specifying that any implementation of a foreign
19- // trait (in this case `DataInit `) where:
19+ // trait (in this case `ByteValued `) where:
2020// * the type that is implementing the trait is foreign or
2121// * all of the parameters being passed to the trait (if there are any) are also foreign
2222// is prohibited.
23- #[ derive( Copy , Clone ) ]
23+ #[ derive( Copy , Clone , Default ) ]
2424struct MpcBusWrapper ( mpspec:: mpc_bus ) ;
25- #[ derive( Copy , Clone ) ]
25+ #[ derive( Copy , Clone , Default ) ]
2626struct MpcCpuWrapper ( mpspec:: mpc_cpu ) ;
27- #[ derive( Copy , Clone ) ]
27+ #[ derive( Copy , Clone , Default ) ]
2828struct MpcIntsrcWrapper ( mpspec:: mpc_intsrc ) ;
29- #[ derive( Copy , Clone ) ]
29+ #[ derive( Copy , Clone , Default ) ]
3030struct MpcIoapicWrapper ( mpspec:: mpc_ioapic ) ;
31- #[ derive( Copy , Clone ) ]
31+ #[ derive( Copy , Clone , Default ) ]
3232struct MpcTableWrapper ( mpspec:: mpc_table ) ;
33- #[ derive( Copy , Clone ) ]
33+ #[ derive( Copy , Clone , Default ) ]
3434struct MpcLintsrcWrapper ( mpspec:: mpc_lintsrc ) ;
35- #[ derive( Copy , Clone ) ]
35+ #[ derive( Copy , Clone , Default ) ]
3636struct MpfIntelWrapper ( mpspec:: mpf_intel ) ;
3737
3838// These `mpspec` wrapper types are only data, reading them from data is a safe initialization.
39- unsafe impl DataInit for MpcBusWrapper { }
40- unsafe impl DataInit for MpcCpuWrapper { }
41- unsafe impl DataInit for MpcIntsrcWrapper { }
42- unsafe impl DataInit for MpcIoapicWrapper { }
43- unsafe impl DataInit for MpcTableWrapper { }
44- unsafe impl DataInit for MpcLintsrcWrapper { }
45- unsafe impl DataInit for MpfIntelWrapper { }
39+ unsafe impl ByteValued for MpcBusWrapper { }
40+ unsafe impl ByteValued for MpcCpuWrapper { }
41+ unsafe impl ByteValued for MpcIntsrcWrapper { }
42+ unsafe impl ByteValued for MpcIoapicWrapper { }
43+ unsafe impl ByteValued for MpcTableWrapper { }
44+ unsafe impl ByteValued for MpcLintsrcWrapper { }
45+ unsafe impl ByteValued for MpfIntelWrapper { }
4646
4747// MPTABLE, describing VCPUS.
4848const MPTABLE_START : u64 = 0x9fc00 ;
0 commit comments