SHA256
1
0
forked from pool/qemu
qemu/linux-user-Fake-proc-cpuinfo.patch
Bruce Rogers fc6feafd4e Accepting request 854151 from home:bfrogers:branches:Virtualization
- Update to v5.2.0: See http://wiki.qemu.org/ChangeLog/5.2
  Take note that ongoing feature deprecation is tracked at both
  http://wiki.qemu-project.org/Features/LegacyRemoval and in
  the deprecated.html file installed with the qemu package
  Some noteworthy changes:
* Dropped system emulators: qemu-system-lm32, qemu-system-unicore32
* Dropped linux user emulator: qemu-ppc64abi32
* Added linux user emulator: qemu-extensaeb
* Unicore32 and lm32 guest support dropped
* New sub-packages (most due to ongoing modularization of QEMU):
  qemu-audio-spice, qemu-hw-chardev-spice, qemu-hw-display-virtio-vga, 
  qemu-hw-display-virtio-gpu, qemu-hw-display-virtio-gpu-pci,
  qemu-ui-spice-core, qemu-ui-opengl, qemu-ivshmem-tools
* x86: A new KVM feature which improves the handling of asynchronous page
  faults is available with -cpu ...,kvm-async-pf-int (requires Linux 5.8)
* s390: More instructions emulated under TCG
* PowerPC: nvdimm= machine option now functions correctly; misc improvements
* ARM: new boards: mps2-an386 (Cortex-M4 based) and mps2-an500
  (Cortex-M7 based),  raspi3ap (the Pi 3 model A+), raspi0 (the Pi Zero)
  and raspi1ap (the Pi A+)
* RISC-V: OpenSBI v0.8 included by default; Generic OpenSBI platform used
  when no -bios argument is supplied; Support for NUMA sockets on Virt
  and Spike Machines; Support for migrating machines; misc improvements
* Misc NVMe improvements
* The 'vhost-user-blk' export type has been added, allowing
  qemu-storage-daemon to act as a vhost-user-blk device backend
* The SMBIOS OEM strings can now come from a file
* 9pfs - misc performance related improvements
* virtiofs - misc improvements
* migration: The default migration bandwidth has been increased to 1Gbps
  (users are still encouraged to tune it to their own hardware); The new
  'calc-dirty-rate' and 'query-dirty-rate' QMP commands can help determine
  the likelihood of precopy migration success; TLS+multifd now supported
  for higher bandwidth encrypted migration; misc minor features added
* Misc minor block features added
* Misc doc improvements
* qemu-microvm subpackage change: the bios-microvm.bin is now SeaBIOS based,
  and the qboot based on is now qboot.rom
* elf2dmp is no longer part of qemu-tools (it was never intended to be
  a packaged binary)
* Some subpackages which were 'Requires' are now 'Recommends', allowing for
  a smaller qemu packaging footprint if needed
* Patches dropped (included in release tarball, unless otherwise noted):
  docs-fix-trace-docs-build-with-sphinx-3..patch (fixed differently)
  hw-hyperv-vmbus-Fix-32bit-compilation.patch
  linux-user-properly-test-for-infinite-ti.patch
  Switch-order-of-libraries-for-mpath-supp.patch (fixed differently)
  Conditionalize-ui-bitmap-installation-be.patch (fixed differently)
  hw-usb-hcd-xhci-Fix-GCC-9-build-warning.patch (no longer using gcc9)
  hw-usb-dev-mtp-Fix-GCC-9-build-warning.patch (no longer using gcc9)
  roms-Makefile-enable-cross-compile-for-b.patch (fixed with different patch)
  libvhost-user-handle-endianness-as-manda.patch
  virtio-add-vhost-user-fs-ccw-device.patch
  Fix-s-directive-argument-is-null-error.patch
  build-Workaround-compilation-error-with-.patch
  build-Be-explicit-about-fcommon-compiler.patch
  intel-Avoid-spurious-compiler-warning-on.patch
  golan-Add-explicit-type-casts-for-nodnic.patch
  Do-not-apply-WORKAROUND_CFLAGS-for-host-.patch
  ensure-headers-included-are-compatible-w.patch
  Enable-cross-compile-prefix-for-C-compil.patch (fixed differently)
  hw-net-net_tx_pkt-fix-assertion-failure-.patch
  hw-net-xgmac-Fix-buffer-overflow-in-xgma.patch
  s390x-protvirt-allow-to-IPL-secure-guest.patch
  usb-fix-setup_len-init-CVE-2020-14364.patch
* Patches added:
  meson-install-ivshmem-client-and-ivshmem.patch
  Revert-roms-efirom-tests-uefi-test-tools.patch
  Makefile-Don-t-check-pc-bios-as-pre-requ.patch
  roms-Makefile-add-cross-file-to-qboot-me.patch
  qboot-add-cross.ini-file-to-handle-aarch.patch
  usb-Help-compiler-out-to-avoid-a-warning.patch
- In spec file, where reasonable, switch BuildRequires: XXX-devel
  to be pkgconfig(XXX') instead
- No longer disable link time optimization for qemu for x86. It looks like
  either the build service, qemu code changes and/or the switch to meson
  have resolved issues previously seen there. We still see problems for
  other architectures however.
- For the record, the following issues reported for SUSE SLE15-SP2
  are either fixed in this current package, or are otherwise no longer
  an issue: bsc#1172384 bsc#1174386 bsc#1174641 bsc#1174863 bsc#1175370
  bsc#1175441 bsc#1176494 CVE-2020-13361 CVE-2020-14364 CVE-2020-15863
  CVE-2020-16092 CVE-2020-24352
  and the following feature requests are satisfied by this package:
  jsc#SLE-13689 jsc#SEL-13780 jsc#SLE-13840
- To be more accurate, and to align with other qemu packaging
  practices, rename the qemu-s390 package to qemu-s390x. The old
  name (in the rpm namespace) is provided with a "Provides"
  directive, and an "Obsoletes" done against that name for prior
  qemu versions, as is standard practice (boo#1177764 jsc#SLE-17060)
- Take this opportunity to remove some ancient Split-Provides
  mechanisms which can't conceivably be needed any more:
  qemu-block-curl provided: qemu:%_libdir/%name/block-curl.so
  qemu-guest-agent provided: qemu:%_bindir/qemu-ga
  qemu-tools provided: qemu:%_libexecdir/qemu-bridge-helper
- Disable linux-user 'ls' test on 32 bit arm. It's failing with
  "Allocating guest commpage: Cannot allocate memory" error, which
  we should hunt down, but for now we don't want it to prevent the
  package from being built

OBS-URL: https://build.opensuse.org/request/show/854151
OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=597
2020-12-08 22:01:20 +00:00

65 lines
2.0 KiB
Diff

From: Alexander Graf <agraf@suse.de>
Date: Mon, 23 Jul 2012 10:24:14 +0200
Subject: linux-user: Fake /proc/cpuinfo
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fedora 17 for ARM reads /proc/cpuinfo and fails if it doesn't contain
ARM related contents. This patch implements a quick hack to expose real
/proc/cpuinfo data taken from a real world machine.
The real fix would be to generate at least the flags automatically based
on the selected CPU. Please do not submit this patch upstream until this
has happened.
Signed-off-by: Alexander Graf <agraf@suse.de>
[AF: Rebased for v1.6 and v1.7]
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
linux-user/syscall.c | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 2839a2c5e906dde840f040c5f235..e1341c9d391bde792d37443c4b9f 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -7887,6 +7887,27 @@ static int open_self_stat(void *cpu_env, int fd)
return 0;
}
+#if defined(TARGET_ARM)
+static int open_cpuinfo(void *cpu_env, int fd)
+{
+ dprintf(fd,
+"Processor : ARMv7 Processor rev 5 (v7l)\n"
+"BogoMIPS : 799.53\n"
+"Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3\n"
+"CPU implementer : 0x41\n"
+"CPU architecture: 7\n"
+"CPU variant : 0x2\n"
+"CPU part : 0xc08\n"
+"CPU revision : 5\n"
+"\n"
+"Hardware : Genesi Efika MX (Smarttop)\n"
+"Revision : 51030\n"
+"Serial : 0000000000000000\n");
+
+ return 0;
+}
+#endif
+
static int open_self_auxv(void *cpu_env, int fd)
{
CPUState *cpu = env_cpu((CPUArchState *)cpu_env);
@@ -8041,6 +8062,9 @@ static int do_openat(void *cpu_env, int dirfd, const char *pathname, int flags,
#if defined(TARGET_SPARC) || defined(TARGET_HPPA)
{ "/proc/cpuinfo", open_cpuinfo, is_proc },
#endif
+#if defined(TARGET_ARM)
+ { "cpuinfo", open_cpuinfo, is_proc_myself },
+#endif
#if defined(TARGET_M68K)
{ "/proc/hardware", open_hardware, is_proc },
#endif