@@ -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