Annotation of wikisrc/ports/evbarm/apple.mdwn, revision 1.8

1.1       wiki        1: [[!meta title="NetBSD/evbarm on Apple Silicon"]]
                      2: 
                      3: Initial support was added to NetBSD -current for Apple M1 systems on Aug 30, 2021.
                      4: 
                      5: # Installation
                      6: 
                      7: Please note that installation on an Apple M1 requires macOS 11.2 or later to be installed first.
                      8: 
1.3       wiki        9: - Uncompress <http://nycdn.netbsd.org/pub/NetBSD-daily/HEAD/latest/evbarm-aarch64/binary/gzimg/arm64.img.gz> and write it to a USB drive. *Make sure this file was built after Aug 30, 2021!*
1.1       wiki       10: 
                     11: - Build and install `sysutils/u-boot-apple-m1` from pkgsrc.
1.6       wiki       12:    - The bootloader for the Mac mini (M1, 2020) will be installed to `/usr/pkg/share/u-boot/apple-m1/u-boot-t8103-j274.macho`.
1.7       wiki       13:    - j274 - Mac mini (M1, 2020)
                     14:    - j293 - MacBook Pro (13-inch, M1, 2020)
1.1       wiki       15: 
                     16: - Boot the M1 system into 1TR mode by holding the power button at startup. Until the "Loading startup options..." message is displayed, then select Options.
                     17:    - In the Utilities menu, select Terminal to bring up a root shell.
                     18: 
                     19: - Downgrade security and disable SIP. (If you get any errors while doing this, first run `csrutil clear`, reboot, and try again)
                     20:     - `# bputil -nkcas`
                     21:     - `# csrutil disable`
                     22: 
                     23: - Copy the u-boot.macho from pkgsrc to the mini over the network (curl, sftp, etc).
                     24: 
                     25: - Install the new bootloader:
1.7       wiki       26:     - `# kmutil configure-boot -c u-boot-t8103-j274.macho -C -v /Volumes/Macintosh\ HD/`
1.1       wiki       27: 
1.7       wiki       28: - Reboot with a arm64.img USB drive plugged in.
1.1       wiki       29: 
                     30: # Supported hardware
                     31: - Apple Mac mini (M1, 2020)
                     32:     - SMP
                     33:     - Interrupt controller
                     34:     - IOMMU
                     35:     - PCIe
1.8     ! wiki       36:         - USB (Type-A ports)
1.1       wiki       37:         - Ethernet
1.8     ! wiki       38:     - USB (Type-C ports)
1.1       wiki       39:     - Framebuffer console
1.4       wiki       40: 
1.7       wiki       41: # Back to MacOS
                     42: 
1.4       wiki       43: # Commits
                     44: 
                     45: Add some missing barriers:
                     46: 
                     47: - <https://mail-index.netbsd.org/source-changes/2021/08/30/msg131945.html>
                     48: - <https://mail-index.netbsd.org/source-changes/2021/08/30/msg131946.html>
                     49: 
                     50: Support EL2 host mode:
                     51: 
                     52: - <https://mail-index.netbsd.org/source-changes/2021/08/30/msg131947.html>
                     53: - <https://mail-index.netbsd.org/source-changes/2021/08/30/msg131948.html>
                     54: 
                     55: Add 10-bit pixel format support:
                     56: 
                     57: - <https://mail-index.netbsd.org/source-changes/2021/08/30/msg131949.html>
                     58: 
                     59: Fix bus_dmamap_sync usage in bge(4):
                     60: 
                     61: - <https://mail-index.netbsd.org/source-changes/2021/08/30/msg131950.html>
                     62: 
                     63: Fix PCI resource allocation:
                     64: 
                     65: - <https://mail-index.netbsd.org/source-changes/2021/08/30/msg131951.html>
                     66: 
                     67: Disable dwc3 when iommu support is required:
                     68: 
                     69: - <https://mail-index.netbsd.org/source-changes/2021/08/30/msg131952.html>
                     70: 
                     71: Do not touch CNTCTL_IMASK in generic timer driver:
                     72: 
                     73: - <https://mail-index.netbsd.org/source-changes/2021/08/30/msg131953.html>
                     74: 
                     75: Fix incorrect KASSERT in cpu_lwp_fork:
                     76: 
                     77: - <https://mail-index.netbsd.org/source-changes/2021/08/30/msg131954.html>
                     78: 
                     79: Add IOMMU support to arm bus_dma:
                     80: 
                     81: - <https://mail-index.netbsd.org/source-changes/2021/08/30/msg131955.html>
                     82: 
                     83: Identify M1 CPU IDs:
                     84: 
                     85: - <https://mail-index.netbsd.org/source-changes/2021/08/30/msg131956.html>
                     86: 
                     87: Support 64-bit cpu-release-addr for spin-table:
                     88: 
                     89: - <https://mail-index.netbsd.org/source-changes/2021/08/30/msg131959.html>
                     90: 
                     91: Add support for FIQs:
                     92: 
                     93: - <https://mail-index.netbsd.org/source-changes/2021/08/30/msg131960.html>
                     94: 
                     95: Initial Apple M1 support:
                     96: 
                     97: - <https://mail-index.netbsd.org/source-changes/2021/08/30/msg131961.html>
1.5       wiki       98: 
                     99: Make scheduler aware of efficiency and performance cores:
                    100: 
                    101: - <https://mail-index.netbsd.org/source-changes/2021/09/01/msg131982.html>

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb