Skip to content

vmm: variant or associated item KernelMmap not found for this enum #441

@peppergrayxyz

Description

@peppergrayxyz

Build fails on arch64 (#429):

  • default_guest_memory is x86_64 only
  • create_guest_memory signature has changed and the call is broken on aarch64
error[E0599]: no variant or associated item named `KernelMmap` found for enum `builder::Payload` in the current scope
    --> src/vmm/src/builder.rs:2186:68
     |
500  | enum Payload {
     | ------------ variant or associated item `KernelMmap` not found for this enum
...
2186 |         create_guest_memory(mem_size_mib, &vm_resources, &Payload::KernelMmap)
     |                                                                    ^^^^^^^^^^ variant or associated item not found in `builder::Payload`

error[E0308]: arguments to this function are incorrect
    --> src/vmm/src/builder.rs:2225:13
     |
2225 |             create_guest_memory(128, None, Payload::Empty).unwrap();
     |             ^^^^^^^^^^^^^^^^^^^            -------------- expected `&Payload`, found `Payload`
     |
note: expected `&VmResources`, found `Option<_>`
    --> src/vmm/src/builder.rs:2225:38
     |
2225 |             create_guest_memory(128, None, Payload::Empty).unwrap();
     |                                      ^^^^
     = note: expected reference `&resources::VmResources`
                     found enum `Option<_>`
note: function defined here
    --> src/vmm/src/builder.rs:1379:4
     |
1379 | fn create_guest_memory(
     |    ^^^^^^^^^^^^^^^^^^^
1380 |     mem_size: usize,
1381 |     vm_resources: &VmResources,
     |     --------------------------
1382 |     payload: &Payload,
     |     -----------------
help: consider borrowing here
     |
2225 |             create_guest_memory(128, None, &Payload::Empty).unwrap();
     |                                            +

error[E0308]: mismatched types
    --> src/vmm/src/builder.rs:2224:13
     |
2224 |         let (guest_memory, _arch_memory_info) =
     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected a tuple with 4 elements, found one with 2 elements
2225 |             create_guest_memory(128, None, Payload::Empty).unwrap();
     |             ------------------------------------------------------- this expression has type `(vm_memory::GuestMemoryMmap, arch::ArchMemoryInfo, shm::ShmManager, builder::PayloadConfig)`
     |
     = note: expected tuple `(vm_memory::GuestMemoryMmap, arch::ArchMemoryInfo, shm::ShmManager, builder::PayloadConfig)`
                found tuple `(_, _)`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions