mirror of
https://github.com/patchzyy/wiicompiled
synced 2026-10-04 16:37:30 -04:00
279ce8328f
* macos: add x86_64 Intel support * (feat) Apple Silicon macOS CI building and Setup.pkg documentation (#118) * docs(macos): document Setup.pkg installation Add Apple Silicon macOS CI coverage for runtime configuration, substrate tests, and Setup.pkg packaging alongside the macOS installation instructions. * macos: pin Apple Silicon deployment target * fix(macos): restore Retro Rewind local builds * macos: package universal setup tools * ci: build macOS input expression tests * runtime: Do not force 14.0 minimum anymore new minimum is 12.0 * macos: support older libc++ algorithms * macos: allow undefined MTLLogStateDescriptor for older SDKs * tests: deflake input expression timing window test * build: Fix mac tests * translator: emit null statement after continuation labels for C++17 compatibility * feat(macos): add MetalFX spatial upscaling * Fix automatic music muting on macOS Co-Authored-By: Michael G <10155689+DarthMDev@users.noreply.github.com> Co-Authored-By: Daan Vervacke <23398694+DaanVervacke@users.noreply.github.com> * Address CodeRabbit review comments and integrate upstream TLS cmake * Remove version requirement for running package CI Co-Authored-By: Michael G <10155689+DarthMDev@users.noreply.github.com> * publish-app: fix dependency discovery from build dir, handle spaces in paths, and fail on missing deps * publish-app: preserve subdirectory suffix during @rpath dependency lookup * cmake: synchronize CMAKE_SYSTEM_PROCESSOR with CMAKE_OSX_ARCHITECTURES on macOS * fix rpaths --------- Co-authored-by: DarthM <mgracer48@yahoo.com> Co-authored-by: Michael G <10155689+DarthMDev@users.noreply.github.com> Co-authored-by: Daan Vervacke <23398694+DaanVervacke@users.noreply.github.com> Co-authored-by: patchzyy <64382339+patchzyy@users.noreply.github.com>
25 lines
841 B
C++
25 lines
841 B
C++
#pragma once
|
|
|
|
#include <cstddef>
|
|
|
|
// HostContext is the deliberately small boundary between the guest scheduler
|
|
// and the host's cooperative-context facility. Windows uses native Fibers;
|
|
// Linux and Intel macOS use libco's System V x86-64 backend. macOS AArch64 uses
|
|
// the local assembly backend because it must preserve Darwin's platform-reserved
|
|
// x18 register, which libco's AArch64 backend does not save. Its handles are
|
|
// only valid on the thread that initialized the scheduler.
|
|
namespace HostContext {
|
|
|
|
using Handle = void*;
|
|
using Entry = void (*)(void*);
|
|
|
|
bool InitializeScheduler(Handle* scheduler);
|
|
void ShutdownScheduler(Handle scheduler);
|
|
|
|
Handle Create(std::size_t stackSize, Entry entry, void* argument);
|
|
void Destroy(Handle context);
|
|
bool IsCurrent(Handle context);
|
|
void Switch(Handle target);
|
|
|
|
} // namespace HostContext
|