mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-20 09:39:08 +00:00
ARM64: Remove the hardcode of virtual machine type
Current implementation hardcodes the virtual machine as "q35" for x86, this patch remove this hardcode and config the machine type according to the arch the VM is running. Also, in order to make sure the qemu can run on arm64 platform, we need to specify the vcpu type in the command line. Signed-off-by: Dennis Chen <dennis.chen@arm.com>
This commit is contained in:
parent
76509e34a2
commit
3a9c88c0c5
@ -349,12 +349,27 @@ func buildQemuCmdline(config QemuConfig) (QemuConfig, []string) {
|
||||
qemuArgs = append(qemuArgs, "-device", "virtio-rng-pci")
|
||||
qemuArgs = append(qemuArgs, "-smp", config.CPUs)
|
||||
qemuArgs = append(qemuArgs, "-m", config.Memory)
|
||||
// Need to specify the vcpu type when running qemu on arm64 platform, for security reason,
|
||||
// the vcpu should be "host" instead of other names such as "cortex-a53"...
|
||||
if config.Arch == "aarch64" {
|
||||
qemuArgs = append(qemuArgs, "-cpu", "host")
|
||||
}
|
||||
|
||||
if config.KVM {
|
||||
qemuArgs = append(qemuArgs, "-enable-kvm")
|
||||
qemuArgs = append(qemuArgs, "-machine", "q35,accel=kvm:tcg")
|
||||
// Remove the hardcode of virtual machine type for x86, since we will
|
||||
// support aarch64 in future
|
||||
if config.Arch == "aarch64" {
|
||||
qemuArgs = append(qemuArgs, "-machine", "virt")
|
||||
} else {
|
||||
qemuArgs = append(qemuArgs, "-machine", "q35,accel=kvm:tcg")
|
||||
}
|
||||
} else {
|
||||
qemuArgs = append(qemuArgs, "-machine", "q35")
|
||||
if config.Arch == "aarch64" {
|
||||
qemuArgs = append(qemuArgs, "-machine", "virt")
|
||||
} else {
|
||||
qemuArgs = append(qemuArgs, "-machine", "q35")
|
||||
}
|
||||
}
|
||||
|
||||
for i, d := range config.Disks {
|
||||
|
Loading…
Reference in New Issue
Block a user