Speed up emulation by using KVM instead of QEMU on x86_64 Linux

This commit is contained in:
gbaconni
2021-11-08 19:04:14 +01:00
parent 382b7e13e8
commit e3215b539b

View File

@@ -6,7 +6,7 @@
# By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ # # By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2021/11/02 17:47:57 by gbaconni #+# #+# # # Created: 2021/11/02 17:47:57 by gbaconni #+# #+# #
# Updated: 2021/11/08 18:38:01 by gbaconni ### lausanne.ch # # Updated: 2021/11/08 19:02:29 by gbaconni ### lausanne.ch #
# # # #
# **************************************************************************** # # **************************************************************************** #
@@ -20,8 +20,16 @@ THREADS = 1
SOCKETS = 2 SOCKETS = 2
KERNEL = $(shell uname -s) KERNEL = $(shell uname -s)
MACHINE = $(shell uname -m)
FT = $(shell if test -L ~/goinfre; then echo "yes"; else echo "no"; fi) FT = $(shell if test -L ~/goinfre; then echo "yes"; else echo "no"; fi)
QEMU86 = qemu-system-x86_64
ifeq ($(KERNEL),Linux)
ifeq ($(MACHINE),x86_64)
QEMU86 = kvm
endif
endif
all: sync all: sync
virtualbox: virtualbox:
@@ -101,7 +109,7 @@ sda: data
@test -f data/sda.raw || qemu-img create -q -f raw -o size=$(SSD)M data/sda.raw @test -f data/sda.raw || qemu-img create -q -f raw -o size=$(SSD)M data/sda.raw
amd64: qemu uefi sda debian amd64: qemu uefi sda debian
@qemu-system-x86_64 \ @$(QEMU86) \
-name debian \ -name debian \
-cpu qemu64-v1 \ -cpu qemu64-v1 \
-smp cores=$(CORES),threads=$(THREADS),sockets=$(SOCKETS) \ -smp cores=$(CORES),threads=$(THREADS),sockets=$(SOCKETS) \
@@ -127,7 +135,7 @@ amd64: qemu uefi sda debian
-rtc base=localtime,clock=host -rtc base=localtime,clock=host
debug: qemu debug: qemu
@qemu-system-x86_64 \ @$(QEMU86) \
-name debian \ -name debian \
-cpu qemu64-v1 \ -cpu qemu64-v1 \
-smp cores=$(CORES),threads=$(THREADS),sockets=$(SOCKETS) \ -smp cores=$(CORES),threads=$(THREADS),sockets=$(SOCKETS) \
@@ -198,7 +206,7 @@ endif
re: clean test re: clean test
ps: ps:
@ps ax | grep qemu | sed 's/ -/ \\\n-/g; s/^[^\/]*//;' @ps ax | grep -e qemu -e kvm | sed 's/ -/ \\\n-/g; s/^[^\/]*//;'
sync: up update sync: up update
@git status | grep -q 'nothing to commit' || (git add -A && git commit -am "$$(date '+%F %T')" && git push) || true @git status | grep -q 'nothing to commit' || (git add -A && git commit -am "$$(date '+%F %T')" && git push) || true