Write recognized CPUID flags into static file
located at /usr/share/kvm/recognized-CPUID-flags-x86_64 It's a simple one flag per line list of all flags the build of QEMU can understand for x86_64 CPUs. It will be used in qemu-server for the custom CPU model feature. For now, only x86_64 is implemented, since aarch64 doesn't print any flags when called this way. Co-developed-by: Stefan Reiter <s.reiter@proxmox.com> Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
parent
b8e0d5bc0f
commit
376d9ce806
23
debian/parse-cpu-flags.pl
vendored
Executable file
23
debian/parse-cpu-flags.pl
vendored
Executable file
@ -0,0 +1,23 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
use warnings;
|
||||
use strict;
|
||||
|
||||
my @flags = ();
|
||||
my $got_flags_section;
|
||||
|
||||
while (<STDIN>) {
|
||||
if (/^\s*Recognized CPUID flags:/) {
|
||||
$got_flags_section = 1;
|
||||
next;
|
||||
}
|
||||
next if !$got_flags_section;
|
||||
|
||||
s/^\s+//;
|
||||
|
||||
push @flags, split(/\s+/);
|
||||
}
|
||||
|
||||
die "no QEMU/KVM CPU flags detected from STDIN input" if scalar (@flags) <= 0;
|
||||
|
||||
print join("\n", @flags) or die "$!\n";
|
5
debian/rules
vendored
5
debian/rules
vendored
@ -21,6 +21,8 @@ ARCH ?= $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)
|
||||
PACKAGE=pve-qemu-kvm
|
||||
destdir := $(CURDIR)/debian/$(PACKAGE)
|
||||
|
||||
flagfile := $(destdir)/usr/share/kvm/recognized-CPUID-flags-x86_64
|
||||
|
||||
CFLAGS = -Wall
|
||||
|
||||
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
|
||||
@ -128,6 +130,9 @@ install: build
|
||||
rm -Rf $(destdir)/usr/include
|
||||
rm -Rf $(destdir)/usr/lib*
|
||||
|
||||
# CPU flags are static for QEMU version, allows avoiding more costly checks
|
||||
$(destdir)/usr/bin/qemu-system-x86_64 -cpu help | ./debian/parse-cpu-flags.pl > $(flagfile)
|
||||
|
||||
# Build architecture-independent files here.
|
||||
binary-indep: build install
|
||||
# We have nothing to do by default.
|
||||
|
Loading…
Reference in New Issue
Block a user