@@ -53,7 +53,7 @@ impl AcpiTableWriter<'_> {
53
53
/// buffer. It returns the address in which it wrote the table.
54
54
fn write_acpi_table < S > (
55
55
& mut self ,
56
- resource_allocator : & mut ResourceAllocator ,
56
+ resource_allocator : & ResourceAllocator ,
57
57
table : & mut S ,
58
58
) -> Result < u64 , AcpiError >
59
59
where
@@ -94,15 +94,15 @@ impl AcpiTableWriter<'_> {
94
94
setup_arch_dsdt ( & mut dsdt_data) ?;
95
95
96
96
let mut dsdt = Dsdt :: new ( OEM_ID , * b"FCVMDSDT" , OEM_REVISION , dsdt_data) ;
97
- self . write_acpi_table ( & mut device_manager. resource_allocator , & mut dsdt)
97
+ self . write_acpi_table ( & device_manager. resource_allocator , & mut dsdt)
98
98
}
99
99
100
100
/// Build the FADT table for the guest
101
101
///
102
102
/// This includes a pointer with the location of the DSDT in guest memory
103
103
fn build_fadt (
104
104
& mut self ,
105
- resource_allocator : & mut ResourceAllocator ,
105
+ resource_allocator : & ResourceAllocator ,
106
106
dsdt_addr : u64 ,
107
107
) -> Result < u64 , AcpiError > {
108
108
let mut fadt = Fadt :: new ( OEM_ID , * b"FCVMFADT" , OEM_REVISION ) ;
@@ -120,7 +120,7 @@ impl AcpiTableWriter<'_> {
120
120
/// This includes information about the interrupt controllers supported in the platform
121
121
fn build_madt (
122
122
& mut self ,
123
- resource_allocator : & mut ResourceAllocator ,
123
+ resource_allocator : & ResourceAllocator ,
124
124
nr_vcpus : u8 ,
125
125
) -> Result < u64 , AcpiError > {
126
126
let mut madt = Madt :: new (
@@ -138,7 +138,7 @@ impl AcpiTableWriter<'_> {
138
138
/// Currently, we pass to the guest just FADT and MADT tables.
139
139
fn build_xsdt (
140
140
& mut self ,
141
- resource_allocator : & mut ResourceAllocator ,
141
+ resource_allocator : & ResourceAllocator ,
142
142
fadt_addr : u64 ,
143
143
madt_addr : u64 ,
144
144
) -> Result < u64 , AcpiError > {
@@ -180,15 +180,14 @@ pub(crate) fn create_acpi_tables(
180
180
vcpus : & [ Vcpu ] ,
181
181
) -> Result < ( ) , AcpiError > {
182
182
let mut writer = AcpiTableWriter { mem } ;
183
-
184
183
let dsdt_addr = writer. build_dsdt ( device_manager) ?;
185
- let fadt_addr = writer. build_fadt ( & mut device_manager. resource_allocator , dsdt_addr) ?;
184
+
185
+ let fadt_addr = writer. build_fadt ( & device_manager. resource_allocator , dsdt_addr) ?;
186
186
let madt_addr = writer. build_madt (
187
- & mut device_manager. resource_allocator ,
187
+ & device_manager. resource_allocator ,
188
188
vcpus. len ( ) . try_into ( ) . unwrap ( ) ,
189
189
) ?;
190
- let xsdt_addr =
191
- writer. build_xsdt ( & mut device_manager. resource_allocator , fadt_addr, madt_addr) ?;
190
+ let xsdt_addr = writer. build_xsdt ( & device_manager. resource_allocator , fadt_addr, madt_addr) ?;
192
191
writer. build_rsdp ( xsdt_addr)
193
192
}
194
193
@@ -227,22 +226,22 @@ mod tests {
227
226
#[ test]
228
227
fn test_write_acpi_table_memory_allocation ( ) {
229
228
// A mocke Vmm object with 128MBs of memory
230
- let mut vmm = default_vmm ( ) ;
229
+ let vmm = default_vmm ( ) ;
231
230
let mut writer = AcpiTableWriter {
232
231
mem : vmm. vm . guest_memory ( ) ,
233
232
} ;
234
233
235
234
// This should succeed
236
235
let mut sdt = MockSdt ( vec ! [ 0 ; 4096 ] ) ;
237
236
let addr = writer
238
- . write_acpi_table ( & mut vmm. device_manager . resource_allocator , & mut sdt)
237
+ . write_acpi_table ( & vmm. device_manager . resource_allocator , & mut sdt)
239
238
. unwrap ( ) ;
240
239
assert_eq ! ( addr, SYSTEM_MEM_START ) ;
241
240
242
241
// Let's try to write two 4K pages plus one byte
243
242
let mut sdt = MockSdt ( vec ! [ 0 ; usize :: try_from( SYSTEM_MEM_SIZE + 1 ) . unwrap( ) ] ) ;
244
243
let err = writer
245
- . write_acpi_table ( & mut vmm. device_manager . resource_allocator , & mut sdt)
244
+ . write_acpi_table ( & vmm. device_manager . resource_allocator , & mut sdt)
246
245
. unwrap_err ( ) ;
247
246
assert ! (
248
247
matches!(
@@ -257,27 +256,27 @@ mod tests {
257
256
// succeed.
258
257
let mut sdt = MockSdt ( vec ! [ 0 ; 5 ] ) ;
259
258
let addr = writer
260
- . write_acpi_table ( & mut vmm. device_manager . resource_allocator , & mut sdt)
259
+ . write_acpi_table ( & vmm. device_manager . resource_allocator , & mut sdt)
261
260
. unwrap ( ) ;
262
261
assert_eq ! ( addr, SYSTEM_MEM_START + 4096 ) ;
263
262
let mut sdt = MockSdt ( vec ! [ 0 ; 2 ] ) ;
264
263
let addr = writer
265
- . write_acpi_table ( & mut vmm. device_manager . resource_allocator , & mut sdt)
264
+ . write_acpi_table ( & vmm. device_manager . resource_allocator , & mut sdt)
266
265
. unwrap ( ) ;
267
266
assert_eq ! ( addr, SYSTEM_MEM_START + 4101 ) ;
268
267
let mut sdt = MockSdt ( vec ! [ 0 ; 4 ] ) ;
269
268
let addr = writer
270
- . write_acpi_table ( & mut vmm. device_manager . resource_allocator , & mut sdt)
269
+ . write_acpi_table ( & vmm. device_manager . resource_allocator , & mut sdt)
271
270
. unwrap ( ) ;
272
271
assert_eq ! ( addr, SYSTEM_MEM_START + 4103 ) ;
273
272
let mut sdt = MockSdt ( vec ! [ 0 ; 8 ] ) ;
274
273
let addr = writer
275
- . write_acpi_table ( & mut vmm. device_manager . resource_allocator , & mut sdt)
274
+ . write_acpi_table ( & vmm. device_manager . resource_allocator , & mut sdt)
276
275
. unwrap ( ) ;
277
276
assert_eq ! ( addr, SYSTEM_MEM_START + 4107 ) ;
278
277
let mut sdt = MockSdt ( vec ! [ 0 ; 16 ] ) ;
279
278
let addr = writer
280
- . write_acpi_table ( & mut vmm. device_manager . resource_allocator , & mut sdt)
279
+ . write_acpi_table ( & vmm. device_manager . resource_allocator , & mut sdt)
281
280
. unwrap ( ) ;
282
281
assert_eq ! ( addr, SYSTEM_MEM_START + 4115 ) ;
283
282
}
@@ -294,11 +293,11 @@ mod tests {
294
293
let mut writer = AcpiTableWriter {
295
294
mem : vm. guest_memory ( ) ,
296
295
} ;
297
- let mut resource_allocator = ResourceAllocator :: new ( ) . unwrap ( ) ;
296
+ let resource_allocator = ResourceAllocator :: new ( ) . unwrap ( ) ;
298
297
299
298
let mut sdt = MockSdt ( vec ! [ 0 ; usize :: try_from( SYSTEM_MEM_SIZE ) . unwrap( ) ] ) ;
300
299
let err = writer
301
- . write_acpi_table ( & mut resource_allocator, & mut sdt)
300
+ . write_acpi_table ( & resource_allocator, & mut sdt)
302
301
. unwrap_err ( ) ;
303
302
assert ! (
304
303
matches!(
0 commit comments