From 22e6d702946c82c6d19326b81430c83ed9ee16a9 Mon Sep 17 00:00:00 2001 From: Stefan Weil via Date: Sat, 12 Apr 2025 20:11:47 +0200 Subject: [PATCH 1/3] docs: Fix some typos (found by codespell and typos) Signed-off-by: Stefan Weil Reviewed-by: Michael Tokarev Signed-off-by: Michael Tokarev --- docs/about/deprecated.rst | 4 ++-- docs/devel/codebase.rst | 6 +++--- docs/devel/qapi-domain.rst | 4 ++-- include/exec/memory.h | 4 ++-- qapi/qdev.json | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 0f41a99c67..05381441a9 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -452,7 +452,7 @@ Backend ``memory`` (since 9.0) ``reconnect`` (since 9.2) ^^^^^^^^^^^^^^^^^^^^^^^^^ -The ``reconnect`` option only allows specifiying second granularity timeouts, +The ``reconnect`` option only allows specifying second granularity timeouts, which is not enough for all types of use cases, use ``reconnect-ms`` instead. @@ -462,7 +462,7 @@ Net device options Stream ``reconnect`` (since 9.2) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The ``reconnect`` option only allows specifiying second granularity timeouts, +The ``reconnect`` option only allows specifying second granularity timeouts, which is not enough for all types of use cases, use ``reconnect-ms`` instead. VFIO device options diff --git a/docs/devel/codebase.rst b/docs/devel/codebase.rst index 1b09953197..ef98578296 100644 --- a/docs/devel/codebase.rst +++ b/docs/devel/codebase.rst @@ -5,7 +5,7 @@ Codebase This section presents the various parts of QEMU and how the codebase is organized. -Beyond giving succint descriptions, the goal is to offer links to various +Beyond giving succinct descriptions, the goal is to offer links to various parts of the documentation/codebase. Subsystems @@ -67,7 +67,7 @@ yet, so sometimes the source code is all you have. * `chardev `_: Various backends used by char devices. * `common-user `_: - User-mode assembly code for dealing with signals occuring during syscalls. + User-mode assembly code for dealing with signals occurring during syscalls. * `configs `_: Makefiles defining configurations to build QEMU. * `contrib `_: @@ -102,7 +102,7 @@ yet, so sometimes the source code is all you have. * `.gitlab-ci.d `_: `CI ` yaml and scripts. * `include `_: - All headers associated to different subsystems in QEMU. The hierachy used + All headers associated to different subsystems in QEMU. The hierarchy used mirrors source code organization and naming. * `hw `_: `Devices ` and boards emulation. Devices are categorized by diff --git a/docs/devel/qapi-domain.rst b/docs/devel/qapi-domain.rst index a748529f51..11238723c2 100644 --- a/docs/devel/qapi-domain.rst +++ b/docs/devel/qapi-domain.rst @@ -41,7 +41,7 @@ Schema or generating documentation from code that exists. It is merely the rST syntax used to describe things. For instance, the Sphinx Python domain adds syntax like ``:py:func:`` for describing Python functions in documentation, but it's the autodoc module that is responsible for -reading python code and generating such syntax. QAPI is analagous here: +reading Python code and generating such syntax. QAPI is analogous here: qapidoc.py is responsible for reading the QAPI Schema and generating rST syntax, and qapi_domain.py is responsible for translating that special syntax and providing APIs for Sphinx internals. @@ -514,7 +514,7 @@ the definition's "fully qualified name", allowing two different namespaces to create an otherwise identically named definition. This directive also influences how reference resolution works for any -references that do not explicity specify a namespace, so this directive +references that do not explicitly specify a namespace, so this directive can be used to nudge references into preferring targets from within that namespace. diff --git a/include/exec/memory.h b/include/exec/memory.h index d09af58c97..e1c196a0c2 100644 --- a/include/exec/memory.h +++ b/include/exec/memory.h @@ -2162,7 +2162,7 @@ void memory_region_flush_rom_device(MemoryRegion *mr, hwaddr addr, hwaddr size); * only useful on RAM regions. * * @mr: the region being updated. - * @readonly: whether rhe region is to be ROM or RAM. + * @readonly: whether the region is to be ROM or RAM. */ void memory_region_set_readonly(MemoryRegion *mr, bool readonly); @@ -2173,7 +2173,7 @@ void memory_region_set_readonly(MemoryRegion *mr, bool readonly); * only useful on RAM regions. * * @mr: the region being updated. - * @nonvolatile: whether rhe region is to be non-volatile. + * @nonvolatile: whether the region is to be non-volatile. */ void memory_region_set_nonvolatile(MemoryRegion *mr, bool nonvolatile); diff --git a/qapi/qdev.json b/qapi/qdev.json index 25cbcf977b..32c7d10046 100644 --- a/qapi/qdev.json +++ b/qapi/qdev.json @@ -173,7 +173,7 @@ # configuration changed. # # The command may be used to notify the guest about block device -# capcity change. Currently only vhost-user-blk device supports +# capacity change. Currently only vhost-user-blk device supports # this. # # @id: the device's ID or QOM path From b0b5af62ef9eaf25246cdd433a4eb69361298ee4 Mon Sep 17 00:00:00 2001 From: Arthur Sengileyev Date: Sat, 12 Apr 2025 21:08:30 +0300 Subject: [PATCH 2/3] Fix objdump output parser in "nsis.py" In msys2 distribution objdump from gcc is using single tab character prefix, but objdump from clang is using 4 white space characters instead. The script will not identify any dll dependencies for a QEMU build generated with clang. This in turn will fail the build, because there will be no files inside dlldir and no setup file will be created. Instead of checking for whitespace in prefix use lstrip to accommodate for differences in outputs. Signed-off-by: Arthur Sengileyev Reviewed-by: Stefan Weil Reviewed-by: Michael Tokarev Signed-off-by: Michael Tokarev --- scripts/nsis.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/nsis.py b/scripts/nsis.py index af4e064819..8f469634eb 100644 --- a/scripts/nsis.py +++ b/scripts/nsis.py @@ -23,7 +23,7 @@ def find_deps(exe_or_dll, search_path, analyzed_deps): output = subprocess.check_output(["objdump", "-p", exe_or_dll], text=True) output = output.split("\n") for line in output: - if not line.startswith("\tDLL Name: "): + if not line.lstrip().startswith("DLL Name: "): continue dep = line.split("DLL Name: ")[1].strip() From f3ca7ca22271ac7c1b997092d72ad36517618fb5 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Sat, 12 Apr 2025 09:43:15 -0700 Subject: [PATCH 3/3] docs: Document removal of 64-bit on 32-bit emulation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With acce728cbc6c we disallowed configuring 64-bit guests on 32-bit hosts, but forgot to document that in removed-features. Signed-off-by: Richard Henderson Reviewed-by: Michael Tokarev Reviewed-by: Daniel P. Berrangé Reviewed-by: Alex Bennée Signed-off-by: Michael Tokarev --- docs/about/removed-features.rst | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst index 2527a91795..790a5e481c 100644 --- a/docs/about/removed-features.rst +++ b/docs/about/removed-features.rst @@ -858,6 +858,15 @@ QEMU. Since all recent x86 hardware from the past >10 years is capable of the 64-bit x86 extensions, a corresponding 64-bit OS should be used instead. +32-bit hosts for 64-bit guests (removed in 10.0) +'''''''''''''''''''''''''''''''''''''''''''''''' + +In general, 32-bit hosts cannot support the memory space or atomicity +requirements of 64-bit guests. Prior to 10.0, QEMU attempted to +work around the atomicity issues in system mode by running all vCPUs +in a single thread context; in user mode atomicity was simply broken. +From 10.0, QEMU has disabled configuration of 64-bit guests on 32-bit hosts. + Guest Emulator ISAs -------------------