Project 'M1 Windows' to run Windows on M1 equipped Mac started



Announced as the first of Apple's proprietary SoC series 'Apple Silicon', the '

M1 ' is the first chip for a PC processor that uses a 5nm process, and is a 'computing revolution' from various media and experts. It's been described as 'the biggest leap in Mac hardware in at least the last decade .' Naturally, the operation of macOS is optimized for such M1, but the project ' M1 Windows ' aiming to run Windows on this M1 has started.

Welcome to the M1 Windows project | m1windowsproject
https://amarioguy.github.io/m1windowsproject/

GitHub-amarioguy / m1windowsproject
https://github.com/amarioguy/m1windowsproject

Although Apple's chips such as M1 are designed based on the Arm architecture, it is difficult to run OS other than macOS on M1 equipped Mac because the architecture is significantly different from the chips of companies such as Qualcomm and MediaTek. There is something. However, a development project of 'Asahi Linux' aiming to run Linux on a Mac with M1 is already underway, and a public alpha version was released in March 2022.

Public alpha version of Linux 'Asahi Linux' running on Mac with M1 chip is now available --GIGAZINE



Attempts are also underway to reverse engineer the GPU built into the M1 to develop drivers in open source.

A project to reverse engineer the GPU of Apple's proprietary chip 'M1' for Mac is underway --GIGAZINE



As the analysis of the M1 progresses, it's more likely that Windows will work on Macs with M1, says Matt Graham, the organizer of M1 Windows.

According to Graham, there are two things that make Windows difficult to operate under the M1 environment: the ' interrupt controller ' and the ' IOMMU page size'. In particular, the problem of the interrupt controller must be solved in order for Windows, which is a multitasking OS, to operate sufficiently.

The M1 has its own interrupt controller called Apple Interrupt Controller (AIC), and the Arm64 version of the Windows kernel does not implement support for this AIC. Since interrupts themselves are the basis of a multitasking OS, it is impossible to run Windows satisfactorily on an M1-equipped Mac without AIC support.

According to Graham, the M1 chip has the ability to virtualize part of version 3 (GICv3) of the general-purpose interrupt controller for Arm processors into the OS to enable faster interrupt processing, so it is an exception level (EL). In) 2, a method of processing physical interrupts using a lightweight hypervisor and routing to Windows running on EL1 can be considered. Therefore, by using the boot loader ' m1n1 ', which is a bridge between XNU , which is the OS kernel of macOS developed by the Asahi Linux project, and the Linux boot ecosystem as a hypervisor, the UEFI firmware of EL1 is started and Windows is also started. Graham says he wants to be able to do it.



However, even if you try to implement virtual GICv3 using m1n1, the problem cannot be completely solved and an error will inevitably occur. Graham believes that the error could be resolved by developing the m1n1 used for the hypervisor.

At the time of writing the article, Graham is working on forking m1n1 and at the same time compiling Project Mu , an open source version of the UEFI core, for the M1 environment.

in Software, Posted by log1i_yk