back

by rvz·6y ago·view on hn ↗
> Sarah has summarized ARMv7 architectural requirements for running Windows. The requirements have changed a bit across years, so here is my new summary on this:

  System processor: ARMv7-A compatible processor with VFPv3+VFP HalfPrec, VFPv4 is also okay
  Memory: At least 256MB of RAM (can probably do less)
  Peripherals:
      - System timer (either architectural or vendor-specific)
      - ARM Generic Interrupt Controller (GIC) or Broadcom Interrupt Controller on BCM2835/2836/2837, both CPU and 
  Distributor Interface. GICv2 or higher is required if GIC is present and declared.
      - Framebuffer
      - Supported UART, either NS16550, BCM283x or some vendor-specific IP (in the case of Qualcomm and NXP)
      - Firmware: UEFI 2.3 or higher
What an absolutely magnificent and clever hack. I have seen similar ports like this for the Raspberry Pi 3 [0] also running Windows 10 (actual Desktop) and the Nintendo Switch [1] also running Windows too.

This is all due to U-Boot having support for UEFI firmware on ARM devices running ARMv7 and ARMv8 and allowing any other UEFI supporting OSes to reuse these UEFI compatible ARM drivers to load its kernel + the device tree. The moment you see projects like this, make you think about how things work at a low-level.

[0] https://github.com/WOA-Project/WOA-Deployer-Rpi

[1] https://www.windowslatest.com/2019/03/04/developer-tests-win...