head 1.14; access; symbols netbsd-11-0-RC4:1.9.2.4 netbsd-11-0-RC3:1.9.2.4 netbsd-11-0-RC2:1.9.2.4 netbsd-11-0-RC1:1.9.2.4 perseant-exfatfs-base-20250801:1.9 netbsd-11:1.9.0.2 netbsd-11-base:1.9 netbsd-10-1-RELEASE:1.4.2.4 perseant-exfatfs-base-20240630:1.4 perseant-exfatfs:1.4.0.4 perseant-exfatfs-base:1.4 netbsd-10-0-RELEASE:1.4.2.2 netbsd-10-0-RC6:1.4.2.2 netbsd-10-0-RC5:1.4.2.2 netbsd-10-0-RC4:1.4.2.2 netbsd-10:1.4.0.2; locks; strict; comment @# @; 1.14 date 2026.01.09.22.54.27; author jmcneill; state dead; branches; next 1.13; commitid ICRnSxv4iQ7NSLpG; 1.13 date 2025.12.08.23.00.22; author jmcneill; state Exp; branches; next 1.12; commitid krm4BwouMNZyWElG; 1.12 date 2025.12.04.14.51.22; author nia; state Exp; branches; next 1.11; commitid JraAX9dsxlzCm6lG; 1.11 date 2025.11.15.17.59.24; author jmcneill; state Exp; branches; next 1.10; commitid E8BdWnQRyBkO0GiG; 1.10 date 2025.11.11.21.34.47; author jmcneill; state Exp; branches; next 1.9; commitid JBd5YkpA92A1kbiG; 1.9 date 2025.02.17.12.24.58; author jmcneill; state Exp; branches 1.9.2.1; next 1.8; commitid lSqHkdaG00T0SOJF; 1.8 date 2025.02.12.11.33.34; author jmcneill; state Exp; branches; next 1.7; commitid Y3sHFQRA12puKaJF; 1.7 date 2025.01.19.00.29.28; author jmcneill; state Exp; branches; next 1.6; commitid QXP9KgFhMBIAQ1GF; 1.6 date 2024.09.22.14.07.13; author jmcneill; state Exp; branches; next 1.5; commitid xhsat3VZgppjcOqF; 1.5 date 2024.09.17.13.47.30; author jakllsch; state Exp; branches; next 1.4; commitid sIcwFPuSPhqzfaqF; 1.4 date 2024.01.25.11.47.53; author jmcneill; state Exp; branches 1.4.2.1 1.4.4.1; next 1.3; commitid NPFisJJ3WwOVaPVE; 1.3 date 2024.01.23.21.48.12; author jmcneill; state Exp; branches; next 1.2; commitid DX4Fw83tlUvUyCVE; 1.2 date 2024.01.22.21.28.15; author jmcneill; state Exp; branches; next 1.1; commitid hxJfSqs0XQmMtuVE; 1.1 date 2024.01.20.21.35.59; author jmcneill; state Exp; branches; next ; commitid 5dWkrVi2Bg7eAeVE; 1.9.2.1 date 2025.11.14.13.16.33; author martin; state Exp; branches; next 1.9.2.2; commitid 5WXimniVoTg9uwiG; 1.9.2.2 date 2025.11.20.18.18.33; author martin; state Exp; branches; next 1.9.2.3; commitid J6ndGNJ8I7zNXjjG; 1.9.2.3 date 2025.12.12.18.38.57; author martin; state Exp; branches; next 1.9.2.4; commitid CaWAuAX4wVDWm9mG; 1.9.2.4 date 2025.12.14.10.19.36; author martin; state Exp; branches; next ; commitid d6GaT5OnA3eexmmG; 1.4.2.1 date 2024.01.25.11.47.53; author martin; state dead; branches; next 1.4.2.2; commitid ut73eiinJNBPSYWE; 1.4.2.2 date 2024.02.03.11.47.06; author martin; state Exp; branches; next 1.4.2.3; commitid ut73eiinJNBPSYWE; 1.4.2.3 date 2024.09.20.11.33.51; author martin; state Exp; branches; next 1.4.2.4; commitid mO9fw5247MtVpxqF; 1.4.2.4 date 2024.10.02.12.28.15; author martin; state Exp; branches; next 1.4.2.5; commitid GfO7AmCqBg8Gk5sF; 1.4.2.5 date 2025.02.02.14.29.59; author martin; state Exp; branches; next 1.4.2.6; commitid sX1IpXjgxaPj3UHF; 1.4.2.6 date 2025.02.22.11.47.16; author martin; state Exp; branches; next 1.4.2.7; commitid Tjh411M5aNvCvsKF; 1.4.2.7 date 2025.02.22.12.39.05; author martin; state Exp; branches; next 1.4.2.8; commitid vYt7c0tdilfpNsKF; 1.4.2.8 date 2025.11.14.13.18.32; author martin; state Exp; branches; next 1.4.2.9; commitid GAOUJ4hckTlPuwiG; 1.4.2.9 date 2025.11.20.18.26.50; author martin; state Exp; branches; next ; commitid smhkNWnR25rD0kjG; 1.4.4.1 date 2025.08.02.05.55.35; author perseant; state Exp; branches; next ; commitid 23j6GFaDws3O875G; desc @@ 1.14 log @Add support for the Nintendo Wii U. @ text @# $NetBSD: WII,v 1.13 2025/12/08 23:00:22 jmcneill Exp $ # # Nintendo Wii # include "arch/evbppc/conf/std.wii" #options INCLUDE_CONFIG_FILE # embed config file in kernel binary ident "WII" options MSGBUFSIZE=0x10000 maxusers 32 options INSECURE # disable kernel security levels options NTP # NTP phase/frequency locked loop options KTRACE # system call tracing via ktrace(1) options SYSVMSG # System V message queues options SYSVSEM # System V semaphores options SYSVSHM # System V shared memory #options USERCONF # userconf(4) support #options PIPE_SOCKETPAIR # smaller, but slower pipe(2) #options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel # Alternate buffer queue strategies for better responsiveness under high # disk I/O load. #options BUFQ_READPRIO options BUFQ_PRIOCSCAN # Diagnostic/debugging support options options DIAGNOSTIC # cheap kernel consistency checks #options DEBUG # expensive debugging checks/support options DDB # in-kernel debugger #options DDB_HISTORY_SIZE=100 # enable history editing in DDB #options TRAP_PANICWAIT makeoptions COPY_SYMTAB=1 # size for embedded symbol table #options KGDB # remote debugger #options KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0xff600400,KGDB_DEVRATE=9600 makeoptions DEBUG="-g" # compile full symbol table # Compatibility options include "conf/compat_netbsd50.config" #options COMPAT_386BSD_MBRPART # recognize old partition ID # Wedge support options DKWEDGE_AUTODISCOVER # Automatically add dk(4) instances options DKWEDGE_METHOD_GPT # Supports GPT partitions as wedges # File systems file-system FFS # UFS #file-system EXT2FS # second extended file system (linux) #file-system LFS # log-structured file system file-system MFS # memory file system file-system NFS # Network File System client file-system CD9660 # ISO 9660 + Rock Ridge file system file-system MSDOSFS # MS-DOS file system file-system FDESC # /dev/fd file-system KERNFS # /kern file-system NULLFS # loopback file system file-system OVERLAY # overlay file system file-system PUFFS # Userspace file systems (e.g. ntfs-3g & sshfs) file-system PROCFS # /proc file-system TMPFS # efficient memory file system file-system UMAPFS # NULLFS + uid and gid remapping file-system UNION # union file system file-system PTYFS # /dev/pts/N support # File system options options FFS_EI # FFS Endian Independent support options FFS_NO_SNAPSHOT # No FFS snapshot support #options QUOTA # legacy UFS quotas #options QUOTA2 # new, in-filesystem UFS quotas #options UFS_DIRHASH # UFS Large Directory Hashing #options UFS_EXTATTR # Extended attribute support for UFS1 options WAPBL # File system journaling support #options LFS_DIRHASH # LFS version of UFS_DIRHASH - experimental #options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and # immutable) behave as system flags. options DISKLABEL_EI # disklabel Endian Independent support #options NFSSERVER # Network File System server options NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM options NFS_BOOT_RWSIZE=1024 # Networking options #options GATEWAY # packet forwarding options INET # IP + ICMP + TCP + UDP options INET6 # IPV6 options IPSEC # IP security #options IPSEC_DEBUG # debug for IP security #options MROUTING # IP multicast routing #options PIM # Protocol Independent Multicast #options NETATALK # AppleTalk networking protocols #options PPP_BSDCOMP # BSD-Compress compression support for PPP #options PPP_DEFLATE # Deflate compression support for PPP #options PPP_FILTER # Active filter support for PPP (requires bpf) #options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG # These options enable verbose messages for several subsystems. # Warning, these may compile large string tables into the kernel! #options MIIVERBOSE # verbose PHY autoconfig messages #options SCSIVERBOSE # human readable SCSI error messages #options USBVERBOSE # verbose USB device autoconfig messages # Kernel root file system and dump configuration. config netbsd root on ? type ? # # Device configuration # mainbus0 at root cpu0 at mainbus0 genfb0 at mainbus0 addr 0x0c002000 wsdisplay* at wsemuldisplaydev? options WSEMUL_VT100 options WSDISPLAY_CUSTOM_OUTPUT options WS_DEFAULT_FG=WSCOL_WHITE options WS_DEFAULT_BG=WSCOL_BLACK options WS_KERNEL_FG=WSCOL_GREEN options WS_KERNEL_BG=WSCOL_BLACK options WSDISPLAY_COMPAT_PCVT options WSDISPLAY_COMPAT_SYSCONS options WSDISPLAY_COMPAT_USL #options WSDISPLAY_COMPAT_RAWKBD options WSDISPLAY_DEFAULTSCREENS=4 options WSDISPLAY_SCROLLSUPPORT options WSDISPLAY_MULTICONS hollywood0 at mainbus0 irq 14 si0 at mainbus0 addr 0x0d006400 irq 3 # Serial interface uhid* at si0 exi0 at mainbus0 addr 0x0d006800 irq 4 # External interface rtcsram0 at exi0 # RTC/SRAM chip gecko0 at exi0 # USB Gecko bwai0 at mainbus0 addr 0x0d006c00 irq 5 # Audio interface bwdsp0 at mainbus0 addr 0x0c005000 irq 6 # DSP hwgpio0 at hollywood0 addr 0x0d0000c0 irq 10 # GPIO gpio0 at hwgpio0 gpioiic0 at gpio0 offset 0 mask 0xc000 flag 1 iic0 at gpioiic0 avenc0 at iic0 addr 0x70 # A/V Encoder resetbtn0 at hollywood0 irq 17 # Reset button ehci0 at hollywood0 addr 0x0d040000 irq 4 # EHCI ohci0 at hollywood0 addr 0x0d050000 irq 5 # OHCI0 ohci1 at hollywood0 addr 0x0d060000 irq 6 # OHCI1 usb* at usbus? sdhc0 at hollywood0 addr 0x0d070000 irq 7 # SD card sdhc1 at hollywood0 addr 0x0d080000 irq 8 # SDIO/BT sdmmc* at sdmmcbus? ld* at sdmmc? bwi* at sdmmc? # WLAN di0 at hollywood0 addr 0x0d806000 irq 18 # Drive interface hwaes0 at hollywood0 addr 0x0d020000 irq 2 # AES engine include "dev/usb/usbdevices.config" include "dev/bluetooth/bluetoothdevices.config" # MII/PHY support urlphy* at mii? phy ? ukphy* at mii? phy ? # Radio support radio* at radiodev? # Audio support audio* at audiobus? spkr* at audio? # PC speaker (synthesized) midi* at midibus? pseudo-device sequencer # MIDI sequencer # SCSI bus support scsibus* at scsi? channel ? # SCSI devices sd* at scsibus? target ? lun ? # SCSI disk drives st* at scsibus? target ? lun ? # SCSI tape drives cd* at scsibus? target ? lun ? # SCSI CD-ROM drives ch* at scsibus? target ? lun ? # SCSI autochangers ses* at scsibus? target ? lun ? # SCSI Enclosure Services devices ss* at scsibus? target ? lun ? # SCSI scanners uk* at scsibus? target ? lun ? # SCSI unknown pseudo-device vnd # disk-like interface to files #pseudo-device fss # file system snapshot device pseudo-device cgd # cryptographic disk devices #pseudo-device md # memory disk device pseudo-device loop # network loopback pseudo-device bpfilter # packet filter #pseudo-device carp # Common Address Redundancy Protocol pseudo-device npf # NPF packet filter pseudo-device ppp # Point-to-Point Protocol pseudo-device sl # Serial Line IP pseudo-device tun # network tunneling over tty pseudo-device gre # generic L3 over IP tunnel pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC1933) #pseudo-device faith # IPv[46] tcp relay translation i/f pseudo-device stf # 6to4 IPv6 over IPv4 encapsulation pseudo-device vlan # IEEE 802.1q encapsulation pseudo-device pty # pseudo-terminals pseudo-device clockctl # user control of clock subsystem pseudo-device drvctl # user control of drive subsystem pseudo-device putter # for puffs and pud pseudo-device ksyms # wscons pseudo-devices pseudo-device wsmux # mouse & keyboard multiplexor pseudo-device wsfont options FONT_BOLD8x16 include "dev/veriexec.config" options PAX_SEGVGUARD=0 # PaX Segmentation fault guard options PAX_MPROTECT=1 # PaX mprotect(2) restrictions options PAX_MPROTECT_DEBUG=1 # PaX mprotect debug options PAX_ASLR=1 # PaX Address Space Layout Randomization options PAX_ASLR_DEBUG=1 # PaX ASLR debug @ 1.13 log @wii: Add support for GameCube controller sockets. A new driver is introduced for the Serial Interface that exposes the four GameCube controller sockets as uhid(4) devices. The report format and HID usages of these devices attempts to mimic the official USB GameCube controller adapter. wii$ usbhidctl -f /dev/uhid0 -r Report descriptor: Collection page=Generic_Desktop usage=Game_Pad Input size=1 count=1 page=Button usage=Button_3, logical range 0..1 Input size=1 count=1 page=Button usage=Button_1, logical range 0..1 Input size=1 count=1 page=Button usage=Button_2, logical range 0..1 Input size=1 count=1 page=Button usage=Button_4, logical range 0..1 Input size=1 count=1 page=Button usage=Button_11, logical range 0..1 Input size=1 count=1 page=Button usage=Button_12, logical range 0..1 Input size=1 count=1 page=Button usage=Button_10, logical range 0..1 Input size=1 count=1 page=Button usage=Button_9, logical range 0..1 Input size=1 count=1 page=Button usage=Button_8, logical range 0..1 Input size=1 count=1 page=Button usage=Button_6, logical range 0..1 Input size=1 count=1 page=Button usage=Button_7, logical range 0..1 Input size=1 count=1 page=Button usage=Button_5, logical range 0..1 Collection page=Generic_Desktop usage=Pointer Input size=8 count=1 page=Generic_Desktop usage=X, logical range 0..255 Input size=8 count=1 page=Generic_Desktop usage=Y, logical range 0..255 End collection Collection page=Generic_Desktop usage=Pointer Input size=8 count=1 page=Generic_Desktop usage=Z, logical range 0..255 Input size=8 count=1 page=Generic_Desktop usage=Rz, logical range 0..255 End collection Input size=8 count=1 page=Generic_Desktop usage=Rx, logical range 0..255 Input size=8 count=1 page=Generic_Desktop usage=Ry, logical range 0..255 Total input size 9 bytes Total output size 0 bytes Total feature size 0 bytes @ text @d1 1 a1 1 # $NetBSD: WII,v 1.12 2025/12/04 14:51:22 nia Exp $ @ 1.12 log @Enable PaX features in WII kernel configuration. Seems to work fine, with mmap addresses being randomized per-process and (PROT_WRITE | PROT_EXEC) resulting in a segfault. @ text @d1 1 a1 1 # $NetBSD: WII,v 1.11 2025/11/15 17:59:24 jmcneill Exp $ d136 2 @ 1.11 log @wii: Add support for using a USB Gecko as serial console. The USB Gecko is a Wii/Gamecube development tool which connects to the GameCube memory slot of the Wii and a USB port of a computer. The USB port exposes an FTDI serial port on the computer side of the connection. EXI commands sent from the Wii to the USB Gecko can read and write bytes. Wire this up to form a simple serial console when the device is detected. Use WSDISPLAY_MULTICONS to allow for simultaneous use of the USB Gecko and the framebuffer console. @ text @d1 1 a1 1 # $NetBSD: WII,v 1.10 2025/11/11 21:34:47 jmcneill Exp $ d219 8 @ 1.10 log @wii: Add support for hardware AES engine and cgd(4) to the WII kernel. Add a driver for the Nintendo Wii's AES engine. The driver registers an AES implementation for kernel use via aes_md_init(). AES-128 requests are accelerated by hardware and all other requests are passed through to the default (BearSSL aes_ct) implementation. Add cgd(4) to the Wii kernel to enable disk encryption support. Tested performance with cgd(4) and AES-128-CBC on a USB flash drive: hwaes: 33513984 bytes transferred in 2.245 secs (14928277 bytes/sec) bear: 33513984 bytes transferred in 7.581 secs (4420786 bytes/sec) Many thanks to Taylor Campbell who walked me through implementing support for non-CBC modes. @ text @d1 1 a1 1 # $NetBSD: WII,v 1.9 2025/02/17 12:24:58 jmcneill Exp $ d133 1 d138 1 @ 1.9 log @wii: Remove some options to save memory. @ text @d1 1 a1 1 # $NetBSD: WII,v 1.8 2025/02/12 11:33:34 jmcneill Exp $ d161 2 d193 1 a193 1 #pseudo-device cgd # cryptographic disk devices @ 1.9.2.1 log @Pull up following revision(s) (requested by jmcneill in ticket #82): sys/arch/evbppc/include/wii.h: revision 1.12 sys/arch/evbppc/conf/files.wii: revision 1.7 sys/arch/evbppc/conf/WII: revision 1.10 sys/arch/evbppc/wii/dev/hwaes.c: revision 1.1 wii: Add support for hardware AES engine and cgd(4) to the WII kernel. Add a driver for the Nintendo Wii's AES engine. The driver registers an AES implementation for kernel use via aes_md_init(). AES-128 requests are accelerated by hardware and all other requests are passed through to the default (BearSSL aes_ct) implementation. Add cgd(4) to the Wii kernel to enable disk encryption support. Tested performance with cgd(4) and AES-128-CBC on a USB flash drive: hwaes: 33513984 bytes transferred in 2.245 secs (14928277 bytes/sec) bear: 33513984 bytes transferred in 7.581 secs (4420786 bytes/sec) Many thanks to Taylor Campbell who walked me through implementing support for non-CBC modes. @ text @d1 1 a1 1 # $NetBSD: WII,v 1.9 2025/02/17 12:24:58 jmcneill Exp $ a160 2 hwaes0 at hollywood0 addr 0x0d020000 irq 2 # AES engine d191 1 a191 1 pseudo-device cgd # cryptographic disk devices @ 1.9.2.2 log @Pull up following revision(s) (requested by jmcneill in ticket #89): sys/arch/evbppc/wii/machdep.c: revision 1.12 sys/arch/evbppc/wii/mainbus.c: revision 1.5 sys/arch/evbppc/wii/dev/gecko.c: revision 1.1 sys/arch/evbppc/wii/dev/gecko.h: revision 1.1 sys/arch/evbppc/wii/dev/exi.c: revision 1.3 sys/arch/evbppc/wii/dev/exi.h: revision 1.3 sys/arch/evbppc/conf/files.wii: revision 1.8 sys/arch/evbppc/conf/WII: revision 1.11 sys/arch/evbppc/wii/dev/exireg.h: revision 1.1 wii: Add support for using a USB Gecko as serial console. The USB Gecko is a Wii/Gamecube development tool which connects to the GameCube memory slot of the Wii and a USB port of a computer. The USB port exposes an FTDI serial port on the computer side of the connection. EXI commands sent from the Wii to the USB Gecko can read and write bytes. Wire this up to form a simple serial console when the device is detected. Use WSDISPLAY_MULTICONS to allow for simultaneous use of the USB Gecko and the framebuffer console. @ text @d1 1 a1 1 # $NetBSD: WII,v 1.9.2.1 2025/11/14 13:16:33 martin Exp $ a132 1 options WSDISPLAY_MULTICONS a136 1 gecko0 at exi0 # USB Gecko @ 1.9.2.3 log @Pull up following revision(s) (requested by jmcneill in ticket #119): sys/arch/evbppc/wii/dev/gcpad_rdesc.h: revision 1.1 sys/arch/evbppc/include/wii.h: revision 1.13 sys/arch/evbppc/wii/dev/uhid_si.c: revision 1.1 sys/arch/evbppc/wii/mainbus.c: revision 1.6 sys/arch/evbppc/wii/dev/si.c: revision 1.1 sys/arch/evbppc/wii/dev/si.c: revision 1.2 sys/arch/evbppc/conf/files.wii: revision 1.9 sys/arch/evbppc/wii/dev/si.h: revision 1.1 sys/arch/evbppc/conf/WII: revision 1.13 wii: Add support for GameCube controller sockets. A new driver is introduced for the Serial Interface that exposes the four GameCube controller sockets as uhid(4) devices. The report format and HID usages of these devices attempts to mimic the official USB GameCube controller adapter. wii$ usbhidctl -f /dev/uhid0 -r Report descriptor: Collection page=Generic_Desktop usage=Game_Pad Input size=1 count=1 page=Button usage=Button_3, logical range 0..1 Input size=1 count=1 page=Button usage=Button_1, logical range 0..1 Input size=1 count=1 page=Button usage=Button_2, logical range 0..1 Input size=1 count=1 page=Button usage=Button_4, logical range 0..1 Input size=1 count=1 page=Button usage=Button_11, logical range 0..1 Input size=1 count=1 page=Button usage=Button_12, logical range 0..1 Input size=1 count=1 page=Button usage=Button_10, logical range 0..1 Input size=1 count=1 page=Button usage=Button_9, logical range 0..1 Input size=1 count=1 page=Button usage=Button_8, logical range 0..1 Input size=1 count=1 page=Button usage=Button_6, logical range 0..1 Input size=1 count=1 page=Button usage=Button_7, logical range 0..1 Input size=1 count=1 page=Button usage=Button_5, logical range 0..1 Collection page=Generic_Desktop usage=Pointer Input size=8 count=1 page=Generic_Desktop usage=X, logical range 0..255 Input size=8 count=1 page=Generic_Desktop usage=Y, logical range 0..255 End collection Collection page=Generic_Desktop usage=Pointer Input size=8 count=1 page=Generic_Desktop usage=Z, logical range 0..255 Input size=8 count=1 page=Generic_Desktop usage=Rz, logical range 0..255 End collection Input size=8 count=1 page=Generic_Desktop usage=Rx, logical range 0..255 Input size=8 count=1 page=Generic_Desktop usage=Ry, logical range 0..255 Total input size 9 bytes Total output size 0 bytes Total feature size 0 bytes wii: Defer uhid callback to softintr context. @ text @d1 1 a1 1 # $NetBSD: WII,v 1.9.2.2 2025/11/20 18:18:33 martin Exp $ a135 2 si0 at mainbus0 addr 0x0d006400 irq 3 # Serial interface uhid* at si0 @ 1.9.2.4 log @Backout pullup of ticket #119: wii: Add support for GameCube controller sockets. It depends on ticket #118 which will be backed out too and can't be pulled up as-is due to a required kernel version bump. @ text @d1 1 a1 1 # $NetBSD: WII,v 1.9.2.3 2025/12/12 18:38:57 martin Exp $ d136 2 @ 1.8 log @wii: Add support for Wii DVD drive. This adds a virtual SCSI HBA driver that is able to read DVD video discs inserted in the Wii. @ text @d1 1 a1 1 # $NetBSD: WII,v 1.7 2025/01/19 00:29:28 jmcneill Exp $ d24 2 a25 2 options USERCONF # userconf(4) support #options PIPE_SOCKETPAIR # smaller, but slower pipe(2) d37 1 a37 1 options DDB_HISTORY_SIZE=512 # enable history editing in DDB d55 2 a56 2 file-system EXT2FS # second extended file system (linux) file-system LFS # log-structured file system d74 1 a74 1 #options FFS_NO_SNAPSHOT # No FFS snapshot support d90 1 a90 1 options GATEWAY # packet forwarding d95 2 a96 2 options MROUTING # IP multicast routing options PIM # Protocol Independent Multicast d105 1 a105 1 options MIIVERBOSE # verbose PHY autoconfig messages d107 1 a107 1 options USBVERBOSE # verbose USB device autoconfig messages d195 1 a195 1 pseudo-device carp # Common Address Redundancy Protocol a214 2 include "dev/veriexec.config" @ 1.7 log @bwi(4): Add support for Nintendo Wii WLAN. Adapt the bwi(4) driver to support SDIO attachment and driving TX/RX using PIO instead of DMA since the latter is not supported on SDIO busses. @ text @d1 1 a1 1 # $NetBSD: WII,v 1.6 2024/09/22 14:07:13 jmcneill Exp $ a145 1 #iosipc0 at hollywood0 addr 0x0d000000 irq 30 # IOS IPC d159 2 @ 1.6 log @wii: Enable ohci(4) driver. This seems to be stable now, let's enable support for plugging in LS/FS devices directly into the system without a hub. @ text @d1 1 a1 1 # $NetBSD: WII,v 1.5 2024/09/17 13:47:30 jakllsch Exp $ d158 1 @ 1.5 log @Add DKWEDGE_AUTODISCOVER and DKWEDGE_METHOD_GPT to WII From Guilherme Janczak in PR 58676 @ text @d1 1 a1 1 # $NetBSD: WII,v 1.4 2024/01/25 11:47:53 jmcneill Exp $ d150 2 a151 2 #ohci0 at hollywood0 addr 0x0d050000 irq 5 # OHCI0 #ohci1 at hollywood0 addr 0x0d060000 irq 6 # OHCI1 @ 1.4 log @wii: Add External interface bus and RTC support @ text @d1 1 a1 1 # $NetBSD: WII,v 1.3 2024/01/23 21:48:12 jmcneill Exp $ d49 4 @ 1.4.4.1 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: WII,v 1.9 2025/02/17 12:24:58 jmcneill Exp $ d24 2 a25 2 #options USERCONF # userconf(4) support #options PIPE_SOCKETPAIR # smaller, but slower pipe(2) d37 1 a37 1 #options DDB_HISTORY_SIZE=100 # enable history editing in DDB a48 4 # Wedge support options DKWEDGE_AUTODISCOVER # Automatically add dk(4) instances options DKWEDGE_METHOD_GPT # Supports GPT partitions as wedges d51 2 a52 2 #file-system EXT2FS # second extended file system (linux) #file-system LFS # log-structured file system d70 1 a70 1 options FFS_NO_SNAPSHOT # No FFS snapshot support d86 1 a86 1 #options GATEWAY # packet forwarding d91 2 a92 2 #options MROUTING # IP multicast routing #options PIM # Protocol Independent Multicast d101 1 a101 1 #options MIIVERBOSE # verbose PHY autoconfig messages d103 1 a103 1 #options USBVERBOSE # verbose USB device autoconfig messages d142 1 d146 2 a147 2 ohci0 at hollywood0 addr 0x0d050000 irq 5 # OHCI0 ohci1 at hollywood0 addr 0x0d060000 irq 6 # OHCI1 a153 3 bwi* at sdmmc? # WLAN di0 at hollywood0 addr 0x0d806000 irq 18 # Drive interface d189 1 a189 1 #pseudo-device carp # Common Address Redundancy Protocol d209 2 @ 1.4.2.1 log @file WII was added on branch netbsd-10 on 2024-02-03 11:47:06 +0000 @ text @d1 210 @ 1.4.2.2 log @Pull up following revision(s) (requested by jmcneill in ticket #561): etc/etc.evbppc/Makefile.inc: revision 1.15 sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1 sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2 sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1 sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3 sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2 distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1 usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4 sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4 sys/arch/evbppc/wii/dev/viio.h: revision 1.1 sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5 sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1 distrib/utils/embedded/conf/wii.conf: revision 1.1 distrib/utils/embedded/conf/wii.conf: revision 1.2 distrib/utils/embedded/conf/wii.conf: revision 1.3 sys/dev/sdmmc/sdhcvar.h: revision 1.34 sys/dev/sdmmc/sdhc.c: revision 1.118 sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1 distrib/utils/embedded/conf/evbppc.conf: revision 1.1 sys/dev/wsfb/genfb.c: revision 1.91 sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2 sys/dev/wscons/wsconsio.h: revision 1.127 sys/arch/powerpc/oea/oea_machdep.c: revision 1.85 sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1 sys/arch/evbppc/conf/std.wii: revision 1.1 sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2 sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1 sys/arch/evbppc/conf/std.wii: revision 1.2 sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2 sys/arch/evbppc/conf/std.wii: revision 1.3 sys/arch/powerpc/oea/cpu_subr.c: revision 1.109 sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1 sys/dev/usb/usb.h: revision 1.124 sys/arch/evbppc/wii/machdep.c: revision 1.1 sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1 sys/arch/powerpc/include/oea/hid.h: revision 1.14 sys/arch/evbppc/wii/mainbus.c: revision 1.1 sys/arch/evbppc/wii/machdep.c: revision 1.2 sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1 sys/arch/evbppc/wii/mainbus.c: revision 1.2 sys/arch/evbppc/wii/machdep.c: revision 1.3 sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2 sys/arch/evbppc/wii/mainbus.c: revision 1.3 sys/arch/evbppc/wii/machdep.c: revision 1.4 sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1 sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1 sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2 sys/arch/evbppc/wii/wii_locore.S: revision 1.1 sys/arch/evbppc/conf/files.wii: revision 1.1 sys/arch/evbppc/wii/wii_locore.S: revision 1.2 sys/arch/evbppc/include/wii.h: revision 1.1 sys/arch/evbppc/conf/files.wii: revision 1.2 sys/arch/evbppc/wii/dev/exi.c: revision 1.1 sys/arch/evbppc/include/wii.h: revision 1.2 sys/arch/evbppc/conf/files.wii: revision 1.3 sys/arch/powerpc/powerpc/clock.c: revision 1.18 sys/arch/evbppc/include/wii.h: revision 1.3 sys/arch/evbppc/conf/files.wii: revision 1.4 sys/arch/evbppc/include/wii.h: revision 1.4 sys/arch/evbppc/wii/dev/exi.h: revision 1.1 sys/arch/evbppc/wii/dev/avenc.c: revision 1.1 sys/arch/evbppc/include/wii.h: revision 1.5 sys/arch/evbppc/include/wii.h: revision 1.6 sys/arch/evbppc/include/wii.h: revision 1.7 sys/arch/evbppc/wii/dev/avenc.h: revision 1.1 distrib/utils/embedded/mkimage: revision 1.79 sys/arch/evbppc/conf/WII: revision 1.1 sys/arch/evbppc/conf/INSTALL_WII: revision 1.1 distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1 sys/arch/evbppc/wii/dev/vireg.h: revision 1.1 sys/arch/evbppc/conf/WII: revision 1.2 distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2 sys/arch/evbppc/wii/dev/vireg.h: revision 1.2 sys/arch/evbppc/conf/WII: revision 1.3 sys/arch/evbppc/conf/WII: revision 1.4 usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11 sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1 sys/dev/usb/ehcivar.h: revision 1.52 sys/arch/evbppc/wii/pic_pi.c: revision 1.1 sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2 etc/etc.evbppc/ttys: revision 1.8 sys/arch/evbppc/wii/dev/bwai.c: revision 1.1 sys/arch/evbppc/wii/dev/bwai.c: revision 1.2 sys/arch/evbppc/wii/dev/bwai.c: revision 1.3 sys/arch/evbppc/wii/autoconf.c: revision 1.1 sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1 sys/arch/evbppc/wii/dev/bwai.h: revision 1.1 sys/arch/evbppc/wii/autoconf.c: revision 1.2 sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2 powerpc: oea: Fix prefetchable mappings Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics. powerpc: oea: Decode IBM750CL L2 cache information. sdmmc: add support for optional delay after register write wscons: Add HOLLYWOOD display and YUY2 pixel format types wsfb: add support for optional "devcmap" property A hardware driver can supply a pointer to a 16x 32-bit array to override the default rasops device colour map in the "devcmap" property. ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate" powerpc: fix delay for large (> ~5sec) values When calculating the target timebase, promote '1000' on the RHS to ULL to force 64-bit calculation, otherwise 'n * 1000' will overflow. usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD change, but it seems to be a bit too aggressive for some platforms. evbppc: Add initial support for the Nintendo Wii wii: support RB_POWERDOWN build fix: use dd with count=1 for compat with NetBSD dd(1) wii: Add NTSC 480p support. In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for poking at video interface registers from userland. This is helpful for debugging display issues. wii: Add 128x48 icon to SD card image wii: Fix a comment wii: Add drivers for Broadway DSP and Audio interface. 0: [*] audio0 @@ bwdsp0: Broadway DSP playback: 16, 2ch, 48000Hz record: unavailable (P-) slinear_be 16/16, 2ch, { 48000 } wii: Add screenblank support. wii: Use screen dimming register for screen blanking. wii: Add GPIO, I2C, and basic A/V encoder driver. wii: Use A/V encoder volume controls instead of using a software filter. wii: Simply DSP driver - no interrupt handler required. wii: provide device names to intr_establish wii$ intrctl list interrupt id CPU0 device name(s) pi irq 14 64769* hollywood0 hollywood irq 36 5872* ehci0 hollywood irq 39 58907* sdhc0 hollywood irq 40 4* sdhc1 hollywood irq 49 0* resetbtn0 pi irq 5 0* bwai0 wii: Add support for passing boot options to the kernel. wii: Add External interface bus and RTC support wii: Remove objcopy after kernel build. HBC will do the right thing. Add wsvt25 entries (off by default) for ttyE0-ttyE3. Add support for "PAL" (576i) mode on Wii. @ text @a0 210 # $NetBSD: WII,v 1.1 2024/01/20 21:35:59 jmcneill Exp $ # # Nintendo Wii # include "arch/evbppc/conf/std.wii" #options INCLUDE_CONFIG_FILE # embed config file in kernel binary ident "WII" options MSGBUFSIZE=0x10000 maxusers 32 options INSECURE # disable kernel security levels options NTP # NTP phase/frequency locked loop options KTRACE # system call tracing via ktrace(1) options SYSVMSG # System V message queues options SYSVSEM # System V semaphores options SYSVSHM # System V shared memory options USERCONF # userconf(4) support #options PIPE_SOCKETPAIR # smaller, but slower pipe(2) #options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel # Alternate buffer queue strategies for better responsiveness under high # disk I/O load. #options BUFQ_READPRIO options BUFQ_PRIOCSCAN # Diagnostic/debugging support options options DIAGNOSTIC # cheap kernel consistency checks #options DEBUG # expensive debugging checks/support options DDB # in-kernel debugger options DDB_HISTORY_SIZE=512 # enable history editing in DDB #options TRAP_PANICWAIT makeoptions COPY_SYMTAB=1 # size for embedded symbol table #options KGDB # remote debugger #options KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0xff600400,KGDB_DEVRATE=9600 makeoptions DEBUG="-g" # compile full symbol table # Compatibility options include "conf/compat_netbsd50.config" #options COMPAT_386BSD_MBRPART # recognize old partition ID # File systems file-system FFS # UFS file-system EXT2FS # second extended file system (linux) file-system LFS # log-structured file system file-system MFS # memory file system file-system NFS # Network File System client file-system CD9660 # ISO 9660 + Rock Ridge file system file-system MSDOSFS # MS-DOS file system file-system FDESC # /dev/fd file-system KERNFS # /kern file-system NULLFS # loopback file system file-system OVERLAY # overlay file system file-system PUFFS # Userspace file systems (e.g. ntfs-3g & sshfs) file-system PROCFS # /proc file-system TMPFS # efficient memory file system file-system UMAPFS # NULLFS + uid and gid remapping file-system UNION # union file system file-system PTYFS # /dev/pts/N support # File system options options FFS_EI # FFS Endian Independent support #options FFS_NO_SNAPSHOT # No FFS snapshot support #options QUOTA # legacy UFS quotas #options QUOTA2 # new, in-filesystem UFS quotas #options UFS_DIRHASH # UFS Large Directory Hashing #options UFS_EXTATTR # Extended attribute support for UFS1 options WAPBL # File system journaling support #options LFS_DIRHASH # LFS version of UFS_DIRHASH - experimental #options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and # immutable) behave as system flags. options DISKLABEL_EI # disklabel Endian Independent support #options NFSSERVER # Network File System server options NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM options NFS_BOOT_RWSIZE=1024 # Networking options options GATEWAY # packet forwarding options INET # IP + ICMP + TCP + UDP options INET6 # IPV6 options IPSEC # IP security #options IPSEC_DEBUG # debug for IP security options MROUTING # IP multicast routing options PIM # Protocol Independent Multicast #options NETATALK # AppleTalk networking protocols #options PPP_BSDCOMP # BSD-Compress compression support for PPP #options PPP_DEFLATE # Deflate compression support for PPP #options PPP_FILTER # Active filter support for PPP (requires bpf) #options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG # These options enable verbose messages for several subsystems. # Warning, these may compile large string tables into the kernel! options MIIVERBOSE # verbose PHY autoconfig messages #options SCSIVERBOSE # human readable SCSI error messages options USBVERBOSE # verbose USB device autoconfig messages # Kernel root file system and dump configuration. config netbsd root on ? type ? # # Device configuration # mainbus0 at root cpu0 at mainbus0 genfb0 at mainbus0 addr 0x0c002000 wsdisplay* at wsemuldisplaydev? options WSEMUL_VT100 options WSDISPLAY_CUSTOM_OUTPUT options WS_DEFAULT_FG=WSCOL_WHITE options WS_DEFAULT_BG=WSCOL_BLACK options WS_KERNEL_FG=WSCOL_GREEN options WS_KERNEL_BG=WSCOL_BLACK options WSDISPLAY_COMPAT_PCVT options WSDISPLAY_COMPAT_SYSCONS options WSDISPLAY_COMPAT_USL #options WSDISPLAY_COMPAT_RAWKBD options WSDISPLAY_DEFAULTSCREENS=4 options WSDISPLAY_SCROLLSUPPORT hollywood0 at mainbus0 irq 14 exi0 at mainbus0 addr 0x0d006800 irq 4 # External interface rtcsram0 at exi0 # RTC/SRAM chip bwai0 at mainbus0 addr 0x0d006c00 irq 5 # Audio interface bwdsp0 at mainbus0 addr 0x0c005000 irq 6 # DSP hwgpio0 at hollywood0 addr 0x0d0000c0 irq 10 # GPIO gpio0 at hwgpio0 gpioiic0 at gpio0 offset 0 mask 0xc000 flag 1 iic0 at gpioiic0 avenc0 at iic0 addr 0x70 # A/V Encoder #iosipc0 at hollywood0 addr 0x0d000000 irq 30 # IOS IPC resetbtn0 at hollywood0 irq 17 # Reset button ehci0 at hollywood0 addr 0x0d040000 irq 4 # EHCI #ohci0 at hollywood0 addr 0x0d050000 irq 5 # OHCI0 #ohci1 at hollywood0 addr 0x0d060000 irq 6 # OHCI1 usb* at usbus? sdhc0 at hollywood0 addr 0x0d070000 irq 7 # SD card sdhc1 at hollywood0 addr 0x0d080000 irq 8 # SDIO/BT sdmmc* at sdmmcbus? ld* at sdmmc? include "dev/usb/usbdevices.config" include "dev/bluetooth/bluetoothdevices.config" # MII/PHY support urlphy* at mii? phy ? ukphy* at mii? phy ? # Radio support radio* at radiodev? # Audio support audio* at audiobus? spkr* at audio? # PC speaker (synthesized) midi* at midibus? pseudo-device sequencer # MIDI sequencer # SCSI bus support scsibus* at scsi? channel ? # SCSI devices sd* at scsibus? target ? lun ? # SCSI disk drives st* at scsibus? target ? lun ? # SCSI tape drives cd* at scsibus? target ? lun ? # SCSI CD-ROM drives ch* at scsibus? target ? lun ? # SCSI autochangers ses* at scsibus? target ? lun ? # SCSI Enclosure Services devices ss* at scsibus? target ? lun ? # SCSI scanners uk* at scsibus? target ? lun ? # SCSI unknown pseudo-device vnd # disk-like interface to files #pseudo-device fss # file system snapshot device #pseudo-device cgd # cryptographic disk devices #pseudo-device md # memory disk device pseudo-device loop # network loopback pseudo-device bpfilter # packet filter pseudo-device carp # Common Address Redundancy Protocol pseudo-device npf # NPF packet filter pseudo-device ppp # Point-to-Point Protocol pseudo-device sl # Serial Line IP pseudo-device tun # network tunneling over tty pseudo-device gre # generic L3 over IP tunnel pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC1933) #pseudo-device faith # IPv[46] tcp relay translation i/f pseudo-device stf # 6to4 IPv6 over IPv4 encapsulation pseudo-device vlan # IEEE 802.1q encapsulation pseudo-device pty # pseudo-terminals pseudo-device clockctl # user control of clock subsystem pseudo-device drvctl # user control of drive subsystem pseudo-device putter # for puffs and pud pseudo-device ksyms # wscons pseudo-devices pseudo-device wsmux # mouse & keyboard multiplexor pseudo-device wsfont options FONT_BOLD8x16 include "dev/veriexec.config" @ 1.4.2.3 log @Pull up following revision(s) (requested by jakllsch in ticket #897): sys/arch/evbppc/conf/WII: revision 1.5 Add DKWEDGE_AUTODISCOVER and DKWEDGE_METHOD_GPT to WII From Guilherme Janczak in PR 58676 @ text @d1 1 a1 1 # $NetBSD: WII,v 1.4.2.2 2024/02/03 11:47:06 martin Exp $ a48 4 # Wedge support options DKWEDGE_AUTODISCOVER # Automatically add dk(4) instances options DKWEDGE_METHOD_GPT # Supports GPT partitions as wedges @ 1.4.2.4 log @Pull up following revision(s) (requested by jmcneill in ticket #910): sys/arch/evbppc/wii/dev/hollywood.h: revision 1.3 sys/arch/evbppc/wii/dev/hollywood.c: revision 1.3 sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.3 sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.3 sys/dev/usb/ohcireg.h: revision 1.29 sys/arch/evbppc/include/wii.h: revision 1.8 sys/arch/evbppc/conf/WII: revision 1.6 sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.3 sys/dev/usb/ohcivar.h: revision 1.63 sys/dev/usb/ohci.c: revision 1.329 wii: Restrict IOP access to shared peripherals. Ensure that the IOP cannot access peripherals by clearing the appropriate bus access bit. I have observed OHCI reporting completion for TDs living in ARM reserved memory at runtime, this seems to suppress that. ohci: Allocate a whole cacheline for all descriptors Allocate a whole cacheline for all descriptor types such that: i) they can be alloc'ed without USBMALLOC_COHERENT which can mean they're now mapped cacheable, and ii) the "soft" versions are cacheable, and mapped as small as possible. Patch/idea mainly from Nick (skrll@@) with a few fixes from me. wii: Enable ohci(4) driver. This seems to be stable now, let's enable support for plugging in LS/FS devices directly into the system without a hub. @ text @d1 1 a1 1 # $NetBSD: WII,v 1.4.2.3 2024/09/20 11:33:51 martin Exp $ d150 2 a151 2 ohci0 at hollywood0 addr 0x0d050000 irq 5 # OHCI0 ohci1 at hollywood0 addr 0x0d060000 irq 6 # OHCI1 @ 1.4.2.5 log @Pull up following revision(s) (requested by jmcneill in ticket #1041): sys/dev/ic/bwi.c: revision 1.40 share/man/man4/bwi.4: revision 1.15 sys/dev/sdmmc/if_bwi_sdio.c: revision 1.1 sys/dev/ic/bwi.c: revision 1.41 sys/dev/sdmmc/sdmmcvar.h: revision 1.38 sys/dev/ic/bwireg.h: revision 1.5 sys/dev/ic/bwi.c: revision 1.39 sys/dev/ic/bwivar.h: revision 1.11 sys/dev/sdmmc/sdmmc_cis.c: revision 1.10 sys/dev/sdmmc/files.sdmmc: revision 1.6 sys/arch/evbppc/conf/WII: revision 1.7 bwi: Remove unnecessary pcivar.h include sdmmc: Capture lan_nid and expose sdmmc_cisptr LAN NID contains the MAC address for networking adapters. Device drivers may want to processor vendor specific tuple codes, so expose sdmmc_cisptr to help this. bwi(4): Add support for Nintendo Wii WLAN. Adapt the bwi(4) driver to support SDIO attachment and driving TX/RX using PIO instead of DMA since the latter is not supported on SDIO busses. fix uninitialized @ text @d1 1 a1 1 # $NetBSD: WII,v 1.4.2.4 2024/10/02 12:28:15 martin Exp $ a157 1 bwi* at sdmmc? # WLAN @ 1.4.2.6 log @Pull up following revision(s) (requested by jmcneill in ticket #1052): sys/kern/subr_disk_mbr.c: revision 1.59 sys/arch/evbppc/include/wii.h: revision 1.10 sys/arch/evbppc/wii/machdep.c: revision 1.9 sys/arch/evbppc/conf/files.wii: revision 1.5 sys/arch/evbppc/wii/dev/di.c: revision 1.1 sys/arch/evbppc/conf/WII: revision 1.8 Handle reading larger sectors (including 2k CD-ROM blocks). Fall back to scan for ISO9660 sessions when MMC code fails. disklabel now reports ISO/UDF partitions again for cd(4). wii: Add more register definitions. wii: Add support for Wii DVD drive. This adds a virtual SCSI HBA driver that is able to read DVD video discs inserted in the Wii. wii: Early init for DVD support @ text @d1 1 a1 1 # $NetBSD: WII,v 1.4.2.5 2025/02/02 14:29:59 martin Exp $ d146 1 a159 2 di0 at hollywood0 addr 0x0d806000 irq 18 # Drive interface @ 1.4.2.7 log @Pull up following revision(s) (requested by jmcneill in ticket #1057): distrib/utils/embedded/conf/evbppc.conf: revision 1.4 sys/arch/powerpc/oea/cpu_subr.c: revision 1.111 sys/arch/evbppc/wii/pic_pi.c: revision 1.2 sys/arch/evbppc/conf/WII: revision 1.9 sys/arch/evbppc/wii/dev/bwai.c: revision 1.4 wii: Simplify Processor Interface pic code. wii: Audio playback improvements. Instead of resetting the byte counter for every block (which is racy), increment the interrupt timing register by the exact byte count for each block. Should do better at keeping things in sync. powerpc: Identify Broadway CPU. Use hex to report Broadway revision and ignore TAU as it does not exist on this processor. wii: Remove some options to save memory. wii: Disable ntpd by default. It takes up a lot of memory. @ text @d1 1 a1 1 # $NetBSD: WII,v 1.4.2.6 2025/02/22 11:47:16 martin Exp $ d24 2 a25 2 #options USERCONF # userconf(4) support #options PIPE_SOCKETPAIR # smaller, but slower pipe(2) d37 1 a37 1 #options DDB_HISTORY_SIZE=100 # enable history editing in DDB d55 2 a56 2 #file-system EXT2FS # second extended file system (linux) #file-system LFS # log-structured file system d74 1 a74 1 options FFS_NO_SNAPSHOT # No FFS snapshot support d90 1 a90 1 #options GATEWAY # packet forwarding d95 2 a96 2 #options MROUTING # IP multicast routing #options PIM # Protocol Independent Multicast d105 1 a105 1 #options MIIVERBOSE # verbose PHY autoconfig messages d107 1 a107 1 #options USBVERBOSE # verbose USB device autoconfig messages d195 1 a195 1 #pseudo-device carp # Common Address Redundancy Protocol d215 2 @ 1.4.2.8 log @Pull up following revision(s) (requested by jmcneill in ticket #1188): sys/arch/evbppc/include/wii.h: revision 1.12 sys/arch/evbppc/conf/files.wii: revision 1.7 sys/arch/evbppc/conf/WII: revision 1.10 sys/arch/evbppc/wii/dev/hwaes.c: revision 1.1 wii: Add support for hardware AES engine and cgd(4) to the WII kernel. Add a driver for the Nintendo Wii's AES engine. The driver registers an AES implementation for kernel use via aes_md_init(). AES-128 requests are accelerated by hardware and all other requests are passed through to the default (BearSSL aes_ct) implementation. Add cgd(4) to the Wii kernel to enable disk encryption support. Tested performance with cgd(4) and AES-128-CBC on a USB flash drive: hwaes: 33513984 bytes transferred in 2.245 secs (14928277 bytes/sec) bear: 33513984 bytes transferred in 7.581 secs (4420786 bytes/sec) Many thanks to Taylor Campbell who walked me through implementing support for non-CBC modes. @ text @d1 1 a1 1 # $NetBSD: WII,v 1.4.2.7 2025/02/22 12:39:05 martin Exp $ a160 2 hwaes0 at hollywood0 addr 0x0d020000 irq 2 # AES engine d191 1 a191 1 pseudo-device cgd # cryptographic disk devices @ 1.4.2.9 log @Pull up following revision(s) (requested by jmcneill in ticket #1191): sys/arch/evbppc/wii/machdep.c: revision 1.12 sys/arch/evbppc/wii/mainbus.c: revision 1.5 sys/arch/evbppc/wii/dev/gecko.c: revision 1.1 sys/arch/evbppc/wii/dev/gecko.h: revision 1.1 sys/arch/evbppc/wii/dev/exi.c: revision 1.3 sys/arch/evbppc/wii/dev/exi.h: revision 1.3 sys/arch/evbppc/conf/files.wii: revision 1.8 sys/arch/evbppc/conf/WII: revision 1.11 sys/arch/evbppc/wii/dev/exireg.h: revision 1.1 wii: Add support for using a USB Gecko as serial console. The USB Gecko is a Wii/Gamecube development tool which connects to the GameCube memory slot of the Wii and a USB port of a computer. The USB port exposes an FTDI serial port on the computer side of the connection. EXI commands sent from the Wii to the USB Gecko can read and write bytes. Wire this up to form a simple serial console when the device is detected. Use WSDISPLAY_MULTICONS to allow for simultaneous use of the USB Gecko and the framebuffer console. @ text @d1 1 a1 1 # $NetBSD: WII,v 1.4.2.8 2025/11/14 13:18:32 martin Exp $ a132 1 options WSDISPLAY_MULTICONS a136 1 gecko0 at exi0 # USB Gecko @ 1.3 log @wii: Add GPIO, I2C, and basic A/V encoder driver. @ text @d1 1 a1 1 # $NetBSD: WII,v 1.2 2024/01/22 21:28:15 jmcneill Exp $ d131 2 @ 1.2 log @wii: Add drivers for Broadway DSP and Audio interface. 0: [*] audio0 @@ bwdsp0: Broadway DSP playback: 16, 2ch, 48000Hz record: unavailable (P-) slinear_be 16/16, 2ch, { 48000 } @ text @d1 1 a1 1 # $NetBSD: WII,v 1.1 2024/01/20 21:35:59 jmcneill Exp $ d134 6 @ 1.1 log @evbppc: Add initial support for the Nintendo Wii @ text @d1 1 a1 1 # $NetBSD$ d131 2 @