mbox series

[v5,00/16] host: Support macOS 12

Message ID 20220214185605.28087-1-f4bug@amsat.org (mailing list archive)
Headers show
Series host: Support macOS 12 | expand

Message

Philippe Mathieu-Daudé Feb. 14, 2022, 6:55 p.m. UTC
Few patches to be able to build QEMU on macOS 12 (Monterey).

This basically consists of adapting deprecated APIs.

CI job added to avoid bitrotting.

Since v4:
- Use MAC_OS_X_VERSION_MIN_REQUIRED definition (Akihiko)
- Include patches from Akihiko

Since v3:
- Fix --enable-modules
- Ignore #pragma on softfloat3 tests
- Addressed Akihiko Odaki comments
- Include Cameron Esfahani patches

Since v2:
- Addressed Akihiko Odaki comments:
  . use __is_identifier(),
  . remove cocoa setAllowedFileTypes()
- Addressed Daniel Berrangé comment:
  . rebased on testing/next, update libvirt-ci/lcitool

Based on Alex's testing/next

Akihiko Odaki (3):
  MAINTAINERS: Add Akihiko Odaki to macOS-relateds
  ui/cocoa: Add Services menu
  ui/cocoa: Do not alert even without block devices

Cameron Esfahani (3):
  hvf: Use standard CR0 and CR4 register definitions
  hvf: Fix OOB write in RDTSCP instruction decode
  hvf: Enable RDTSCP support

Philippe Mathieu-Daudé (10):
  configure: Allow passing extra Objective C compiler flags
  tests/fp/berkeley-testfloat-3: Ignore ignored #pragma directives
  hvf: Make hvf_get_segments() / hvf_put_segments() local
  hvf: Remove deprecated hv_vcpu_flush() calls
  block/file-posix: Remove a deprecation warning on macOS 12
  audio/coreaudio: Remove a deprecation warning on macOS 12
  audio/dbus: Fix building with modules on macOS
  ui/cocoa: Remove allowedFileTypes restriction in SavePanel
  lcitool: refresh
  gitlab-ci: Support macOS 12 via cirrus-run

 .gitlab-ci.d/cirrus.yml                    | 16 ++++++++++
 .gitlab-ci.d/cirrus/macos-12.vars          | 16 ++++++++++
 MAINTAINERS                                |  2 ++
 audio/coreaudio.c                          | 17 +++++++----
 audio/meson.build                          |  2 +-
 block/file-posix.c                         | 14 ++++++---
 configure                                  |  8 +++++
 meson.build                                |  5 ++++
 target/i386/hvf/hvf.c                      | 26 +++++++++++------
 target/i386/hvf/vmcs.h                     |  3 +-
 target/i386/hvf/vmx.h                      | 19 ++++++------
 target/i386/hvf/x86.c                      |  6 ++--
 target/i386/hvf/x86.h                      | 34 ----------------------
 target/i386/hvf/x86_cpuid.c                |  7 +++--
 target/i386/hvf/x86_decode.c               | 11 +++++--
 target/i386/hvf/x86_mmu.c                  |  2 +-
 target/i386/hvf/x86_task.c                 |  4 +--
 target/i386/hvf/x86hvf.c                   | 14 ++++++---
 target/i386/hvf/x86hvf.h                   |  3 +-
 tests/docker/dockerfiles/ubuntu1804.docker |  2 --
 tests/docker/dockerfiles/ubuntu2004.docker |  2 --
 tests/fp/meson.build                       |  1 +
 tests/lcitool/refresh                      |  1 +
 ui/cocoa.m                                 | 15 +++-------
 24 files changed, 133 insertions(+), 97 deletions(-)
 create mode 100644 .gitlab-ci.d/cirrus/macos-12.vars

Comments

Peter Maydell Feb. 18, 2022, 3:26 p.m. UTC | #1
On Mon, 14 Feb 2022 at 18:56, Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
>
> Few patches to be able to build QEMU on macOS 12 (Monterey).
>
> This basically consists of adapting deprecated APIs.
>
> CI job added to avoid bitrotting.

Hi; I'm going to take the "obviously correct (to me)" cocoa
patches from here via target-arm.next:
 * MAINTAINERS patch
 * ui/cocoa: Remove allowedFileTypes restriction in SavePanel
 * ui/cocoa: Do not alert even without block devices
 * ui/cocoa: Fix the leak of qemu_console_get_label

Let me know if that's awkward for you and you'd rather I
dropped them.

thanks
-- PMM
Philippe Mathieu-Daudé Feb. 25, 2022, 9:26 a.m. UTC | #2
On 18/2/22 16:26, Peter Maydell wrote:
> On Mon, 14 Feb 2022 at 18:56, Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
>>
>> Few patches to be able to build QEMU on macOS 12 (Monterey).
>>
>> This basically consists of adapting deprecated APIs.
>>
>> CI job added to avoid bitrotting.
> 
> Hi; I'm going to take the "obviously correct (to me)" cocoa
> patches from here via target-arm.next:
>   * MAINTAINERS patch
>   * ui/cocoa: Remove allowedFileTypes restriction in SavePanel
>   * ui/cocoa: Do not alert even without block devices
>   * ui/cocoa: Fix the leak of qemu_console_get_label
> 
> Let me know if that's awkward for you and you'd rather I
> dropped them.

Sure, thank you for the help here. (Sorry for replying that late,
the amsat.org domain is delivering mails go Google infra with huge
delay - and way out of order - but this is being worked out).

If there is no objections I'll send a PR with the non-cocoa macOS
fixes for 7.0, so Monterey users can build QEMU without having to
disable failing features and flooded by hundreds of warnings.

Regards,

Phil.
Peter Maydell Feb. 25, 2022, 10:35 a.m. UTC | #3
On Fri, 25 Feb 2022 at 09:26, Philippe Mathieu-Daudé
<philippe.mathieu.daude@gmail.com> wrote:
> If there is no objections I'll send a PR with the non-cocoa macOS
> fixes for 7.0, so Monterey users can build QEMU without having to
> disable failing features and flooded by hundreds of warnings.

We should definitely get this in for 7.0, but I had the
impression there were some review issues in this version
of the series, so I'd appreciate seeing a v6 first. I'll
try to get to it and review the rest of it quickly.

thanks
-- PMM