@@ -54,7 +54,7 @@ impl AcpiTableWriter<'_> {
5454     /// buffer. It returns the address in which it wrote the table. 
5555     fn  write_acpi_table < S > ( 
5656        & mut  self , 
57-         resource_allocator :  & ResourceAllocator , 
57+         resource_allocator :  & mut   ResourceAllocator , 
5858        table :  & mut  S , 
5959    )  -> Result < u64 ,  AcpiError > 
6060    where 
@@ -83,7 +83,7 @@ impl AcpiTableWriter<'_> {
8383     fn  build_dsdt ( 
8484        & mut  self , 
8585        device_manager :  & mut  DeviceManager , 
86-         resource_allocator :  & ResourceAllocator , 
86+         resource_allocator :  & mut   ResourceAllocator , 
8787    )  -> Result < u64 ,  AcpiError >  { 
8888        let  mut  dsdt_data = Vec :: new ( ) ; 
8989
@@ -111,7 +111,7 @@ impl AcpiTableWriter<'_> {
111111     /// This includes a pointer with the location of the DSDT in guest memory 
112112     fn  build_fadt ( 
113113        & mut  self , 
114-         resource_allocator :  & ResourceAllocator , 
114+         resource_allocator :  & mut   ResourceAllocator , 
115115        dsdt_addr :  u64 , 
116116    )  -> Result < u64 ,  AcpiError >  { 
117117        let  mut  fadt = Fadt :: new ( OEM_ID ,  * b"FCVMFADT" ,  OEM_REVISION ) ; 
@@ -129,7 +129,7 @@ impl AcpiTableWriter<'_> {
129129     /// This includes information about the interrupt controllers supported in the platform 
130130     fn  build_madt ( 
131131        & mut  self , 
132-         resource_allocator :  & ResourceAllocator , 
132+         resource_allocator :  & mut   ResourceAllocator , 
133133        nr_vcpus :  u8 , 
134134    )  -> Result < u64 ,  AcpiError >  { 
135135        let  mut  madt = Madt :: new ( 
@@ -147,7 +147,7 @@ impl AcpiTableWriter<'_> {
147147     /// Currently, we pass to the guest just FADT and MADT tables. 
148148     fn  build_xsdt ( 
149149        & mut  self , 
150-         resource_allocator :  & ResourceAllocator , 
150+         resource_allocator :  & mut   ResourceAllocator , 
151151        fadt_addr :  u64 , 
152152        madt_addr :  u64 , 
153153        mcfg_addr :  u64 , 
@@ -164,7 +164,7 @@ impl AcpiTableWriter<'_> {
164164    /// Build the MCFG table for the guest. 
165165     fn  build_mcfg ( 
166166        & mut  self , 
167-         resource_allocator :  & ResourceAllocator , 
167+         resource_allocator :  & mut   ResourceAllocator , 
168168        pci_mmio_config_addr :  u64 , 
169169    )  -> Result < u64 ,  AcpiError >  { 
170170        let  mut  mcfg = Mcfg :: new ( OEM_ID ,  * b"FCMVMCFG" ,  OEM_REVISION ,  pci_mmio_config_addr) ; 
@@ -197,7 +197,7 @@ impl AcpiTableWriter<'_> {
197197pub ( crate )  fn  create_acpi_tables ( 
198198    mem :  & GuestMemoryMmap , 
199199    device_manager :  & mut  DeviceManager , 
200-     resource_allocator :  & ResourceAllocator , 
200+     resource_allocator :  & mut   ResourceAllocator , 
201201    vcpus :  & [ Vcpu ] , 
202202)  -> Result < ( ) ,  AcpiError >  { 
203203    let  mut  writer = AcpiTableWriter  {  mem } ; 
@@ -249,18 +249,19 @@ mod tests {
249249        let  mut  writer = AcpiTableWriter  { 
250250            mem :  vmm. vm . guest_memory ( ) , 
251251        } ; 
252+         let  mut  resource_allocator = vmm. vm . resource_allocator ( ) ; 
252253
253254        // This should succeed 
254255        let  mut  sdt = MockSdt ( vec ! [ 0 ;  4096 ] ) ; 
255256        let  addr = writer
256-             . write_acpi_table ( & vmm . vm . common . resource_allocator ,  & mut  sdt) 
257+             . write_acpi_table ( & mut   resource_allocator,  & mut  sdt) 
257258            . unwrap ( ) ; 
258259        assert_eq ! ( addr,  SYSTEM_MEM_START ) ; 
259260
260261        // Let's try to write two 4K pages plus one byte 
261262        let  mut  sdt = MockSdt ( vec ! [ 0 ;  usize :: try_from( SYSTEM_MEM_SIZE  + 1 ) . unwrap( ) ] ) ; 
262263        let  err = writer
263-             . write_acpi_table ( & vmm . vm . common . resource_allocator ,  & mut  sdt) 
264+             . write_acpi_table ( & mut   resource_allocator,  & mut  sdt) 
264265            . unwrap_err ( ) ; 
265266        assert ! ( 
266267            matches!( 
@@ -275,27 +276,27 @@ mod tests {
275276        // succeed. 
276277        let  mut  sdt = MockSdt ( vec ! [ 0 ;  5 ] ) ; 
277278        let  addr = writer
278-             . write_acpi_table ( & vmm . vm . common . resource_allocator ,  & mut  sdt) 
279+             . write_acpi_table ( & mut   resource_allocator,  & mut  sdt) 
279280            . unwrap ( ) ; 
280281        assert_eq ! ( addr,  SYSTEM_MEM_START  + 4096 ) ; 
281282        let  mut  sdt = MockSdt ( vec ! [ 0 ;  2 ] ) ; 
282283        let  addr = writer
283-             . write_acpi_table ( & vmm . vm . common . resource_allocator ,  & mut  sdt) 
284+             . write_acpi_table ( & mut   resource_allocator,  & mut  sdt) 
284285            . unwrap ( ) ; 
285286        assert_eq ! ( addr,  SYSTEM_MEM_START  + 4101 ) ; 
286287        let  mut  sdt = MockSdt ( vec ! [ 0 ;  4 ] ) ; 
287288        let  addr = writer
288-             . write_acpi_table ( & vmm . vm . common . resource_allocator ,  & mut  sdt) 
289+             . write_acpi_table ( & mut   resource_allocator,  & mut  sdt) 
289290            . unwrap ( ) ; 
290291        assert_eq ! ( addr,  SYSTEM_MEM_START  + 4103 ) ; 
291292        let  mut  sdt = MockSdt ( vec ! [ 0 ;  8 ] ) ; 
292293        let  addr = writer
293-             . write_acpi_table ( & vmm . vm . common . resource_allocator ,  & mut  sdt) 
294+             . write_acpi_table ( & mut   resource_allocator,  & mut  sdt) 
294295            . unwrap ( ) ; 
295296        assert_eq ! ( addr,  SYSTEM_MEM_START  + 4107 ) ; 
296297        let  mut  sdt = MockSdt ( vec ! [ 0 ;  16 ] ) ; 
297298        let  addr = writer
298-             . write_acpi_table ( & vmm . vm . common . resource_allocator ,  & mut  sdt) 
299+             . write_acpi_table ( & mut   resource_allocator,  & mut  sdt) 
299300            . unwrap ( ) ; 
300301        assert_eq ! ( addr,  SYSTEM_MEM_START  + 4115 ) ; 
301302    } 
@@ -312,11 +313,11 @@ mod tests {
312313        let  mut  writer = AcpiTableWriter  { 
313314            mem :  vm. guest_memory ( ) , 
314315        } ; 
315-         let  resource_allocator = ResourceAllocator :: new ( ) . unwrap ( ) ; 
316+         let  mut   resource_allocator = ResourceAllocator :: new ( ) ; 
316317
317318        let  mut  sdt = MockSdt ( vec ! [ 0 ;  usize :: try_from( SYSTEM_MEM_SIZE ) . unwrap( ) ] ) ; 
318319        let  err = writer
319-             . write_acpi_table ( & resource_allocator,  & mut  sdt) 
320+             . write_acpi_table ( & mut   resource_allocator,  & mut  sdt) 
320321            . unwrap_err ( ) ; 
321322        assert ! ( 
322323            matches!( 
0 commit comments