From: Marcus Glocker Subject: Prevent crash on MacPro6,1 during power-down To: tech@openbsd.org Date: Wed, 30 Apr 2025 17:05:21 +0200 I've installed an amd64 snap on an MacPro6,1 (trash can), and noticed that during power-down the system is crashing at the very last steps: syncing disks... done Stopped at x86_bus_space_io_write_4+0x1d: leave After some investigations I found that this happens when we try to write to the I/O port 0x80. This seems to be the POST debug port used by the BIOS and firmware to output POST status codes, and is most likely not implement on systems like the MacPro6,1. I couldn't come up with a more elegant solution, but this diff lets me nicely power down this machine. Better ideas or OKs? Index: sys/dev/acpi/acpi.c =================================================================== RCS file: /cvs/src/sys/dev/acpi/acpi.c,v diff -u -p -u -p -r1.444 acpi.c --- sys/dev/acpi/acpi.c 24 Mar 2025 09:53:20 -0000 1.444 +++ sys/dev/acpi/acpi.c 30 Apr 2025 14:47:29 -0000 @@ -253,6 +253,14 @@ acpi_gasio(struct acpi_softc *sc, int io else iot = sc->sc_iot; + /* + * Accessing the I/O port 0x80 (POST debug port) on a + * MacPro6,1 will crash the system since this port is likely + * not implemented. + */ + if (address == 0x80 && strcmp(hw_prod, "MacPro6,1") == 0) + return (-1); + if (acpi_bus_space_map(iot, address, len, 0, &ioh) != 0) { printf("%s: unable to map iospace\n", DEVNAME(sc)); return (-1);