Fri Apr 2 07:00:33 2021 UTC ()
evbppc: Add support for DHT Walnut 405GP evaluation board.
(Digital Home Technologies PCB 01070201 Rev. 1.1)

Official web page seems gone, but analyses by Linux people are at:

- https://elinux.org/DHT-Walnut
- http://web.archive.org/web/20070225171826/http://supernova.stanford.edu/dingdong/

The board features:

- 266MHz PowerPC 405GP processor
- one PC133 SDRAM slot
- two 32-bit 5V PCI slot
- on-chip ethernet controller with DP83843 PHY
- on-chip serial port / GPIO controller
- on-board PDC20265 IDE controller

Hardware limitations:

- no MAC address assigned
- no RTC present

Known problem:

- atabus(4) channels cannot be attached to pdcide(4) for cold boot

dmesg:

- https://dmesgd.nycbug.org/index.cgi?do=view&id=5997

Have fun!


(rin)
diff -r1.2788 -r1.2789 src/doc/CHANGES
diff -r0 -r1.1 src/sys/arch/evbppc/conf/DHT
diff -r0 -r1.1 src/sys/arch/evbppc/conf/Makefile.dht.inc
diff -r0 -r1.1 src/sys/arch/evbppc/conf/files.dht
diff -r0 -r1.1 src/sys/arch/evbppc/conf/std.dht
diff -r0 -r1.1 src/sys/arch/evbppc/dht/autoconf.c
diff -r0 -r1.1 src/sys/arch/evbppc/dht/locore.S
diff -r0 -r1.1 src/sys/arch/evbppc/dht/machdep.c
diff -r0 -r1.1 src/sys/arch/evbppc/include/dht.h

cvs diff -r1.2788 -r1.2789 src/doc/CHANGES (switch to unified diff)

--- src/doc/CHANGES 2021/03/30 23:31:53 1.2788
+++ src/doc/CHANGES 2021/04/02 07:00:33 1.2789
@@ -1,345 +1,347 @@ @@ -1,345 +1,347 @@
1# LIST OF CHANGES FROM LAST RELEASE: <$Revision: 1.2788 $> 1# LIST OF CHANGES FROM LAST RELEASE: <$Revision: 1.2789 $>
2# 2#
3# 3#
4# [Note: This file does not mention every change made to the NetBSD source tree. 4# [Note: This file does not mention every change made to the NetBSD source tree.
5# For an exhaustive list, please subscribe to the `source-changes' mailing list, 5# For an exhaustive list, please subscribe to the `source-changes' mailing list,
6# or see the mailing list archives. For more information, send a message 6# or see the mailing list archives. For more information, send a message
7# containing just the word `help' to `majordomo@NetBSD.org'.] 7# containing just the word `help' to `majordomo@NetBSD.org'.]
8# 8#
9# ---------------------------------------------------------------------------- 9# ----------------------------------------------------------------------------
10# PLEASE USE THE FOLLOWING STYLE WHEN ADDING ITEMS: 10# PLEASE USE THE FOLLOWING STYLE WHEN ADDING ITEMS:
11# 11#
12# theme: Content ... 12# theme: Content ...
13# more content ... 13# more content ...
14# more content. [developer DATE-FORMAT] 14# more content. [developer DATE-FORMAT]
15# 15#
16# That's it, one tab to start an item, and two tabs to indent the content. 16# That's it, one tab to start an item, and two tabs to indent the content.
17# Also please start the content with a capital and end it with a dot. 17# Also please start the content with a capital and end it with a dot.
18# 18#
19# This is very important for the www scripts, otherwise it won't be able to 19# This is very important for the www scripts, otherwise it won't be able to
20# parse the file and the HTML output will be mangled. 20# parse the file and the HTML output will be mangled.
21# 21#
22# See htutils/changes/changes2html script for more details. 22# See htutils/changes/changes2html script for more details.
23# 23#
24# ---------------------------------------------------------------------------- 24# ----------------------------------------------------------------------------
25 25
26Changes from NetBSD 9.0 to NetBSD 10.0: 26Changes from NetBSD 9.0 to NetBSD 10.0:
27 openldap: Import 2.4.48. [christos 20190808] 27 openldap: Import 2.4.48. [christos 20190808]
28 boot(8): GPT and RAIDframe support for x86 bootstrap [manu 20190818] 28 boot(8): GPT and RAIDframe support for x86 bootstrap [manu 20190818]
29 dhcpcd(8): Import dhcpcd-8.0.3 [roy 20190821] 29 dhcpcd(8): Import dhcpcd-8.0.3 [roy 20190821]
30 inet6: Fix sending RTM_MISS for unresolvable addresses and restore 30 inet6: Fix sending RTM_MISS for unresolvable addresses and restore
31 ND6_LLINFO_WAITDELETE so that any send at this point can 31 ND6_LLINFO_WAITDELETE so that any send at this point can
32 return EHOSTDOWN to match inet behaviour. [roy 20190901] 32 return EHOSTDOWN to match inet behaviour. [roy 20190901]
33 inet: Fix sending RTM_MISS for unresolvable addresses. [roy 20190901] 33 inet: Fix sending RTM_MISS for unresolvable addresses. [roy 20190901]
34 dhcpcd(8): Import dhcpcd-8.0.4 [roy 20190904] 34 dhcpcd(8): Import dhcpcd-8.0.4 [roy 20190904]
35 bind: Import version 9.14.5. [christos 20190905] 35 bind: Import version 9.14.5. [christos 20190905]
36 resolvconf(8): Import openresolv-3.9.2 [roy 20190908] 36 resolvconf(8): Import openresolv-3.9.2 [roy 20190908]
37 boot(8): multiboot 2 support, Xen can now boot from EFI [manu 20190913] 37 boot(8): multiboot 2 support, Xen can now boot from EFI [manu 20190913]
38 dhcpcd(8): Import dhcpcd-8.0.6 [roy 20190913] 38 dhcpcd(8): Import dhcpcd-8.0.6 [roy 20190913]
39 kernel: Add vHCI, a driver that allows to send and receive USB 39 kernel: Add vHCI, a driver that allows to send and receive USB
40 packets from userland. [maxv 20190914] 40 packets from userland. [maxv 20190914]
41 mos(4): Ported driver for MosChip MCS7730/7830/7832 USB ethernet. 41 mos(4): Ported driver for MosChip MCS7730/7830/7832 USB ethernet.
42 [mrg 20190920] 42 [mrg 20190920]
43 gcc(1): Import GCC 8.3. [mrg 20191001] 43 gcc(1): Import GCC 8.3. [mrg 20191001]
44 libpcap: Import 1.9.1. [christos 20191001] 44 libpcap: Import 1.9.1. [christos 20191001]
45 tcpdump(8): Import 4.9.3. [christos 20191001] 45 tcpdump(8): Import 4.9.3. [christos 20191001]
46 rescue(8): Moved into a separate, rescue-only set. [maya 20191001] 46 rescue(8): Moved into a separate, rescue-only set. [maya 20191001]
47 byacc: Update to 20190617. [christos 20191006] 47 byacc: Update to 20190617. [christos 20191006]
48 tzdata updates from 2019a to 2019c (incl 2019b) [kre 20191008] 48 tzdata updates from 2019a to 2019c (incl 2019b) [kre 20191008]
49 services(5): Update to version 2019-10-04 from IANA. 49 services(5): Update to version 2019-10-04 from IANA.
50 [sevan 20191009] 50 [sevan 20191009]
51 dhcpcd(8): Import dhcpcd-8.1.0 [roy 20191011] 51 dhcpcd(8): Import dhcpcd-8.1.0 [roy 20191011]
52 OpenSSH: Import 8.1. [christos 20191012] 52 OpenSSH: Import 8.1. [christos 20191012]
53 acpi(4): Updated ACPICA to 20190816. [christos 20191015] 53 acpi(4): Updated ACPICA to 20190816. [christos 20191015]
54 sup: removed, use ftp://ftp.astron.com/pub/sup [christos 20191015] 54 sup: removed, use ftp://ftp.astron.com/pub/sup [christos 20191015]
55 dhcpcd(8): Import dhcpcd-8.1.1 [roy 20191016] 55 dhcpcd(8): Import dhcpcd-8.1.1 [roy 20191016]
56 evbarm: Add support for the NanoPi R1 and Duo2. [bad 20191016] 56 evbarm: Add support for the NanoPi R1 and Duo2. [bad 20191016]
57 bind: Import version 9.14.7. [christos 20191017] 57 bind: Import version 9.14.7. [christos 20191017]
58 libc: Changed the iconv(3) function signature to the POSIX variation 58 libc: Changed the iconv(3) function signature to the POSIX variation
59 [kamil 20191024] 59 [kamil 20191024]
60 nct(4): Add Nuvoton NCT5104D GPIO driver. [ad 20191025] 60 nct(4): Add Nuvoton NCT5104D GPIO driver. [ad 20191025]
61 vio9p(4): Add virtio-9p front-end driver. [ozaki-r 20191028] 61 vio9p(4): Add virtio-9p front-end driver. [ozaki-r 20191028]
62 mount_9p(8): Enable to mount a filesystem exported via virtio-9p. 62 mount_9p(8): Enable to mount a filesystem exported via virtio-9p.
63 [ozaki-r 20191028] 63 [ozaki-r 20191028]
64 evbarm: Update TI AM335x SoC support to use FDT based configuration. 64 evbarm: Update TI AM335x SoC support to use FDT based configuration.
65 [jmcneill 20191028] 65 [jmcneill 20191028]
66 evbarm: Update TI OMAP3 SoC support to use FDT based configuration. 66 evbarm: Update TI OMAP3 SoC support to use FDT based configuration.
67 [jmcneill 20191101] 67 [jmcneill 20191101]
68 amd64: Add support for kCSan - Kernel Concurrency Sanitizer. 68 amd64: Add support for kCSan - Kernel Concurrency Sanitizer.
69 [maxv 20191105] 69 [maxv 20191105]
70 tmux(1): Imported 2.9a. [christos 20191112] 70 tmux(1): Imported 2.9a. [christos 20191112]
71 dhcpcd(8): Import 8.1.2. [roy 20191113] 71 dhcpcd(8): Import 8.1.2. [roy 20191113]
72 amd64: Add support for kMSan - Kernel Memory Sanitizer. 72 amd64: Add support for kMSan - Kernel Memory Sanitizer.
73 [maxv 20191114] 73 [maxv 20191114]
74 qat(4): Add opencrypto driver for Intel QuickAssist. 74 qat(4): Add opencrypto driver for Intel QuickAssist.
75 Atom C2XXX, C3XXX, Xeon D-21XX and D-15XX, C62X chipsets and 75 Atom C2XXX, C3XXX, Xeon D-21XX and D-15XX, C62X chipsets and
76 QuickAssist Adapter 8960/8970. 76 QuickAssist Adapter 8960/8970.
77 [hikaru 20191120] 77 [hikaru 20191120]
78 select(2), poll(2): Performance and scalability improvements 78 select(2), poll(2): Performance and scalability improvements
79 [ad 20191121] 79 [ad 20191121]
80 amd64, i386: Performance and scalability improvements for TLB 80 amd64, i386: Performance and scalability improvements for TLB
81 shootdown [ad 20191121] 81 shootdown [ad 20191121]
82 bind: Import version 9.14.8. [christos 20191127] 82 bind: Import version 9.14.8. [christos 20191127]
83 terminfo: Import 20190609 [christos 20191127] 83 terminfo: Import 20190609 [christos 20191127]
84 onewire(4), owtemp(4): Improve reliability and reduce CPU overhead 84 onewire(4), owtemp(4): Improve reliability and reduce CPU overhead
85 slightly. [ad 20191130] 85 slightly. [ad 20191130]
86 scheduler: Improve performance and interactivity. [ad 20191201] 86 scheduler: Improve performance and interactivity. [ad 20191201]
87 vfs: Reduce false sharing and lock overhead during normal operation. 87 vfs: Reduce false sharing and lock overhead during normal operation.
88 [ad 20191201] 88 [ad 20191201]
89 evbarm: Added driver for Allwinner Crypto Engine random number 89 evbarm: Added driver for Allwinner Crypto Engine random number
90 generator [riastradh 20191209] 90 generator [riastradh 20191209]
91 ixl(4): Ported driver for Intel Ethernet 700 series 91 ixl(4): Ported driver for Intel Ethernet 700 series
92 [yamaguchi 20191210] 92 [yamaguchi 20191210]
93 acpi(4): Updated ACPICA to 20191213. [christos 20191214] 93 acpi(4): Updated ACPICA to 20191213. [christos 20191214]
94 uvm: Replace red-black tree page lookup with radix tree lookup, 94 uvm: Replace red-black tree page lookup with radix tree lookup,
95 including tagging and gang lookup of pages. Original work 95 including tagging and gang lookup of pages. Original work
96 done by yamt@. [ad 20191214] 96 done by yamt@. [ad 20191214]
97 nsd: Import 4.2.4. [christos 20191215] 97 nsd: Import 4.2.4. [christos 20191215]
98 unbound(8): Import 1.9.6. [christos 20191215] 98 unbound(8): Import 1.9.6. [christos 20191215]
99 openpam(3): update to 20190224 (tabebuia) [christos 20191215] 99 openpam(3): update to 20190224 (tabebuia) [christos 20191215]
100 kerberos(8): Update to Heimdal-7.7.0 [christos 20191215] 100 kerberos(8): Update to Heimdal-7.7.0 [christos 20191215]
101 file(1): Upgraded to 5.38. [christos 20191216] 101 file(1): Upgraded to 5.38. [christos 20191216]
102 uvm: Replace global counters with per-CPU counters, significantly 102 uvm: Replace global counters with per-CPU counters, significantly
103 reducing system time on workloads that are VM-system heavy. 103 reducing system time on workloads that are VM-system heavy.
104 [ad 20191216] 104 [ad 20191216]
105 anxdp(4): Add driver for Analogix DisplayPort core found in 105 anxdp(4): Add driver for Analogix DisplayPort core found in
106 Rockchip RK3399. [jakllsch 20191219] 106 Rockchip RK3399. [jakllsch 20191219]
107 net80211: Require SSID configuration to associate with an open AP. 107 net80211: Require SSID configuration to associate with an open AP.
108 [jakllsch 20191219] 108 [jakllsch 20191219]
109 dhcpcd(8): Import dhcpcd-8.1.4 [roy 20191220] 109 dhcpcd(8): Import dhcpcd-8.1.4 [roy 20191220]
110 uvm: Rewrite the page allocator to be more efficient and somewhat CPU 110 uvm: Rewrite the page allocator to be more efficient and somewhat CPU
111 topology aware. Add preliminary NUMA support. [ad 20191227] 111 topology aware. Add preliminary NUMA support. [ad 20191227]
112 crunchgen(1): Added the ability to pass variables in the submake 112 crunchgen(1): Added the ability to pass variables in the submake
113 command line, and removed all command like flags that are 113 command line, and removed all command like flags that are
114 not needed anymore [christos 20191229] 114 not needed anymore [christos 20191229]
115 uvm: Reduce lock contention by making the maintentance of page 115 uvm: Reduce lock contention by making the maintentance of page
116 replacement state more concurrent. [ad 20191231] 116 replacement state more concurrent. [ad 20191231]
117 aq(4): Add Aquantia 10G network adapter driver [ryo 20200101] 117 aq(4): Add Aquantia 10G network adapter driver [ryo 20200101]
118 dhcpcd(8): Import dhcpcd-8.1.5 [roy 20200103] 118 dhcpcd(8): Import dhcpcd-8.1.5 [roy 20200103]
119 tmux(1): Imported 3.0a. [christos 20200106] 119 tmux(1): Imported 3.0a. [christos 20200106]
120 amd64, i386: Replace the global PV hash table with radix trees, 120 amd64, i386: Replace the global PV hash table with radix trees,
121 yielding significant performance and scalability benefits. 121 yielding significant performance and scalability benefits.
122 [ad 20200112] 122 [ad 20200112]
123 scheduler: Make the scheduler topology aware. It understands and 123 scheduler: Make the scheduler topology aware. It understands and
124 makes good use of HyperThreading/SMT, spreads the load evenly 124 makes good use of HyperThreading/SMT, spreads the load evenly
125 across different physical CPU packages, and can effectively 125 across different physical CPU packages, and can effectively
126 run asymmetric systems with slow and fast CPUs [ad 20200113] 126 run asymmetric systems with slow and fast CPUs [ad 20200113]
127 evbarm: Add support for NXP i.MX 8M family SoCs. [jmcneill 20200114] 127 evbarm: Add support for NXP i.MX 8M family SoCs. [jmcneill 20200114]
128 arm: Add support for cpu topology for ARMv7 and ARMv8 CPUs. 128 arm: Add support for cpu topology for ARMv7 and ARMv8 CPUs.
129 [mrg 20200114] 129 [mrg 20200114]
130 uvm: More precisely track clean/dirty pages, and change how they are 130 uvm: More precisely track clean/dirty pages, and change how they are
131 indexed, speeding up fsync() on large files by orders of 131 indexed, speeding up fsync() on large files by orders of
132 magnitude. Original work done by yamt@. [ad 20200115] 132 magnitude. Original work done by yamt@. [ad 20200115]
133 uyurex(4): Removed from the tree. [maya 20200117] 133 uyurex(4): Removed from the tree. [maya 20200117]
134 strip(4): Removed from the tree. [thorpej 20200118] 134 strip(4): Removed from the tree. [thorpej 20200118]
135 hippi and esh(4): Removed from the tree. [thorpej 20200118] 135 hippi and esh(4): Removed from the tree. [thorpej 20200118]
136 de(4): Removed from the tree. [thorpej 20200119] 136 de(4): Removed from the tree. [thorpej 20200119]
137 token ring and tr(4): Removed from the tree. [thorpej 20200119] 137 token ring and tr(4): Removed from the tree. [thorpej 20200119]
138 fddi, fpa(4), fta(4), fea(4): Removed from the tree. [thorpej 20200120] 138 fddi, fpa(4), fta(4), fea(4): Removed from the tree. [thorpej 20200120]
139 wm(4): Add Intel I219 LM10-LM15 and V10-V14. [msaitoh 20200121] 139 wm(4): Add Intel I219 LM10-LM15 and V10-V14. [msaitoh 20200121]
140 OpenSSL: Imported 1.1.1d. [christos 20200122] 140 OpenSSL: Imported 1.1.1d. [christos 20200122]
141 dhcpcd(8): Import dhcpcd-8.1.6 [roy 20200127] 141 dhcpcd(8): Import dhcpcd-8.1.6 [roy 20200127]
142 openresolv(8): Import openresolv-3.10.0 [roy 20200127] 142 openresolv(8): Import openresolv-3.10.0 [roy 20200127]
143 urio(4): Removed from the tree. [maya 20200129] 143 urio(4): Removed from the tree. [maya 20200129]
144 Collect network interface statistics using per-cpu counters 144 Collect network interface statistics using per-cpu counters
145 that are collated when they are queried. [thorpej 20200201] 145 that are collated when they are queried. [thorpej 20200201]
146 realpath(1): Ported from FreeBSD. [kamil 20200202] 146 realpath(1): Ported from FreeBSD. [kamil 20200202]
147 kernel: Remove azalia(4). [jmcneill 20200209] 147 kernel: Remove azalia(4). [jmcneill 20200209]
148 awk(1): Import 20200218 [christos 20200218] 148 awk(1): Import 20200218 [christos 20200218]
149 genet(4): Add support for Broadcom GENETv5 ethernet controllers, found 149 genet(4): Add support for Broadcom GENETv5 ethernet controllers, found
150 in the Raspberry Pi 4. [jmcneill 20200222] 150 in the Raspberry Pi 4. [jmcneill 20200222]
151 OpenSSH: Import 8.2. [christos 20200226] 151 OpenSSH: Import 8.2. [christos 20200226]
152 ld.elf_so(1): Implement DT_GNU_HASH [kamil 20200229] 152 ld.elf_so(1): Implement DT_GNU_HASH [kamil 20200229]
153 amiga: Fix word accesses on Gayle (A1200) pcmcia. [is 20200302] 153 amiga: Fix word accesses on Gayle (A1200) pcmcia. [is 20200302]
154 libcbor: Import for libfido2 support [christos 20200302] 154 libcbor: Import for libfido2 support [christos 20200302]
155 libfido2: Import for pam-u2f support [christos 20200302] 155 libfido2: Import for pam-u2f support [christos 20200302]
156 pam-u2f: Import token authenticator [christos 20200302] 156 pam-u2f: Import token authenticator [christos 20200302]
157 gcc(1): Import GCC 8.4. [mrg 20200311] 157 gcc(1): Import GCC 8.4. [mrg 20200311]
158 terminfo: Support numeric parameters as int [roy 20200313] 158 terminfo: Support numeric parameters as int [roy 20200313]
159 postfix(1): Import version 3.5.0. [christos 20200318] 159 postfix(1): Import version 3.5.0. [christos 20200318]
160 OpenSSL: Imported 1.1.1e. [christos 20200321] 160 OpenSSL: Imported 1.1.1e. [christos 20200321]
161 amd64, i386: Significant performance improvements in the pmap module 161 amd64, i386: Significant performance improvements in the pmap module
162 [ad 20200322] 162 [ad 20200322]
163 namecache: Change the namecache to index names using per directory 163 namecache: Change the namecache to index names using per directory
164 red-black trees. [ad 20200322] 164 red-black trees. [ad 20200322]
165 uvm: Process concurrent page faults on individual objects in parallel, 165 uvm: Process concurrent page faults on individual objects in parallel,
166 where the relevant pages are already in-core. [ad 20200322] 166 where the relevant pages are already in-core. [ad 20200322]
167 bwfm: Update firmware to linux-firmware-20200316. [thorpej 20200322] 167 bwfm: Update firmware to linux-firmware-20200316. [thorpej 20200322]
168 acpi(4): Updated ACPICA to 20200326. [christos 20200328] 168 acpi(4): Updated ACPICA to 20200326. [christos 20200328]
169 ioctlprint(1): Add ioctl descriptive printer. [kamil 20200402] 169 ioctlprint(1): Add ioctl descriptive printer. [kamil 20200402]
170 dhcpcd(8): Import version 9.0.0 [roy 20200402] 170 dhcpcd(8): Import version 9.0.0 [roy 20200402]
171 binutils: Updated to FSF binutils 2.34. [christos 20200404] 171 binutils: Updated to FSF binutils 2.34. [christos 20200404]
172 mount_smbfs(8): Removed from the tree [jdolecek 20200404] 172 mount_smbfs(8): Removed from the tree [jdolecek 20200404]
173 nsmb(4): Removed from the tree [jdolecek 20200404] 173 nsmb(4): Removed from the tree [jdolecek 20200404]
174 xen: remove legacy rx-flip support from xennet(4) and xvif(4) 174 xen: remove legacy rx-flip support from xennet(4) and xvif(4)
175 [jdolecek 20200405] 175 [jdolecek 20200405]
176 OpenSSL: Imported 1.1.1f. [christos 20200405] 176 OpenSSL: Imported 1.1.1f. [christos 20200405]
177 xennet(4): Make the driver MP-safe [jdolecek 20200406] 177 xennet(4): Make the driver MP-safe [jdolecek 20200406]
178 aarch64: Add support for Pointer Authentication (PAC). 178 aarch64: Add support for Pointer Authentication (PAC).
179 [maxv 20200412] 179 [maxv 20200412]
180 aarch64: Add support for Branch Target Identification (BTI). 180 aarch64: Add support for Branch Target Identification (BTI).
181 [maxv 20200413] 181 [maxv 20200413]
182 umass(4): Removed obsolete ISD-ATA support [jdolecek 20200413] 182 umass(4): Removed obsolete ISD-ATA support [jdolecek 20200413]
183 dhcpcd(8): Import version 9.0.1 [roy 20200413] 183 dhcpcd(8): Import version 9.0.1 [roy 20200413]
184 xbd(4): Make the driver MP-safe [jdolecek 20200413] 184 xbd(4): Make the driver MP-safe [jdolecek 20200413]
185 xbd(4): Support regular 64KB MAXPHYS [jdolecek 20200415] 185 xbd(4): Support regular 64KB MAXPHYS [jdolecek 20200415]
186 xbd(4): Support indirect segments [jdolecek 20200416] 186 xbd(4): Support indirect segments [jdolecek 20200416]
187 dhcpcd(8): Import version 9.0.2 [roy 20200421] 187 dhcpcd(8): Import version 9.0.2 [roy 20200421]
188 xbdback(4): Support indirect segments [jdolecek 20200421] 188 xbdback(4): Support indirect segments [jdolecek 20200421]
189 xbdback(4): Make the driver MP-safe [jdolecek 20200423] 189 xbdback(4): Make the driver MP-safe [jdolecek 20200423]
190 OpenSSL: Imported 1.1.1g. [christos 20200424] 190 OpenSSL: Imported 1.1.1g. [christos 20200424]
191 tzdata updated to 2020a [kre 20200425] 191 tzdata updated to 2020a [kre 20200425]
192 amd64, i386: Added support for Xen PV drivers under HVM guests. 192 amd64, i386: Added support for Xen PV drivers under HVM guests.
193 [bouyer 20200425] 193 [bouyer 20200425]
194 kernel: Overhauled entropy subsystem [riastradh 20200430] 194 kernel: Overhauled entropy subsystem [riastradh 20200430]
195 xen: Added support for Xen PVH. [bouyer 20200502] 195 xen: Added support for Xen PVH. [bouyer 20200502]
196 hp300: Add bitmap access ops support for EVRX framebuffer on 196 hp300: Add bitmap access ops support for EVRX framebuffer on
197 HP9000/425e. [tsutsui 20200504] 197 HP9000/425e. [tsutsui 20200504]
198 xennet(4): add support for feature-sg & jumbo frames [jdolecek 20200430] 198 xennet(4): add support for feature-sg & jumbo frames [jdolecek 20200430]
199 xvif(4): add support for feature-sg & jumbo frames [jdolecek 20200503] 199 xvif(4): add support for feature-sg & jumbo frames [jdolecek 20200503]
200 kernel: Added support for swap encryption with sysctl -w 200 kernel: Added support for swap encryption with sysctl -w
201 vm.swap_encrypt=1 [riastradh 20200509] 201 vm.swap_encrypt=1 [riastradh 20200509]
202 xen: Support MSI for XenPV [jdolecek 20200504] 202 xen: Support MSI for XenPV [jdolecek 20200504]
203 hppa: Enable modules in GENERIC by default. [skrll 20200511] 203 hppa: Enable modules in GENERIC by default. [skrll 20200511]
204 aarch64: Added support for ARMv8.5-RNG RNDRRS CPU random number 204 aarch64: Added support for ARMv8.5-RNG RNDRRS CPU random number
205 generator instructions [riastradh 20200511] 205 generator instructions [riastradh 20200511]
206 xen: enable MULTIPROCESSOR for Xen dom0. [bouyer 20200513] 206 xen: enable MULTIPROCESSOR for Xen dom0. [bouyer 20200513]
207 ptrace(2): Add PT_SET_SIGPASS and PT_GET_SIGPASS. [kamil 20200514] 207 ptrace(2): Add PT_SET_SIGPASS and PT_GET_SIGPASS. [kamil 20200514]
208 evbarm: Added support for EFI RNG firwmare random number generator 208 evbarm: Added support for EFI RNG firwmare random number generator
209 [riastradh 20200514] 209 [riastradh 20200514]
210 ACL: Add FFS support for ACLS via extended attributes, from FreeBSD. 210 ACL: Add FFS support for ACLS via extended attributes, from FreeBSD.
211 [christos 20200516] 211 [christos 20200516]
212 evbarm: Added support for Rockchip RK3399 crypto random number 212 evbarm: Added support for Rockchip RK3399 crypto random number
213 generator device [riastradh 20200517] 213 generator device [riastradh 20200517]
214 libuv: Import version 1.38.0. [christos 20200524] 214 libuv: Import version 1.38.0. [christos 20200524]
215 bind: Import version 9.16.3. [christos 20200524] 215 bind: Import version 9.16.3. [christos 20200524]
216 tzcode: Updated to 2020a. [christos 20200525] 216 tzcode: Updated to 2020a. [christos 20200525]
217 ntp: Import ntp 4.2.8p14. [christos 20200525] 217 ntp: Import ntp 4.2.8p14. [christos 20200525]
218 acpi(4): Updated ACPICA to 20200430. [christos 20200525] 218 acpi(4): Updated ACPICA to 20200430. [christos 20200525]
219 postfix(1): Import version 3.5.2. [christos 20200525] 219 postfix(1): Import version 3.5.2. [christos 20200525]
220 OpenSSH: Import 8.3. [christos 20200528] 220 OpenSSH: Import 8.3. [christos 20200528]
221 evbarm: Add install media for earmv7hf and aarch64. [jmcneill 20200528] 221 evbarm: Add install media for earmv7hf and aarch64. [jmcneill 20200528]
222 dhcpcd: Import version 9.1.1 [roy 20200604] 222 dhcpcd: Import version 9.1.1 [roy 20200604]
223 inet6: in-kernel Router Advertisment handling removed. [roy 20200612] 223 inet6: in-kernel Router Advertisment handling removed. [roy 20200612]
224 file(1): Upgraded to 5.39. [christos 20200614] 224 file(1): Upgraded to 5.39. [christos 20200614]
225 blocklist: import current version [christos 20200614] 225 blocklist: import current version [christos 20200614]
226 dhcpcd: Import version 9.1.2 [roy 20200615] 226 dhcpcd: Import version 9.1.2 [roy 20200615]
227 evbarm: Add support for loading modules with the bootloader. 227 evbarm: Add support for loading modules with the bootloader.
228 [jmcneill 20200221] 228 [jmcneill 20200221]
229 evbarm: Added boot.cfg support to efiboot [jmcneill 20200211] 229 evbarm: Added boot.cfg support to efiboot [jmcneill 20200211]
230 kernel: Remove all variable-time AES and replace it by constant-time 230 kernel: Remove all variable-time AES and replace it by constant-time
231 aes_ct from BearSSL or a CPU-dependent implementation, 231 aes_ct from BearSSL or a CPU-dependent implementation,
232 selected at boot time according to CPU capabilities. 232 selected at boot time according to CPU capabilities.
233 [riastradh 20200629] 233 [riastradh 20200629]
234 amd64: Add support for AES-NI in kernel. [riastradh 20200629] 234 amd64: Add support for AES-NI in kernel. [riastradh 20200629]
235 x86: Add support for bitsliced AES with SSE2 in kernel. 235 x86: Add support for bitsliced AES with SSE2 in kernel.
236 [riastradh 20200629] 236 [riastradh 20200629]
237 x86: Add support for permutation-based AES (vpaes) with SSSE3 in 237 x86: Add support for permutation-based AES (vpaes) with SSSE3 in
238 kernel. [riastradh 20200629] 238 kernel. [riastradh 20200629]
239 x86: Add support for VIA ACE AES in kernel (not just via opencrypto). 239 x86: Add support for VIA ACE AES in kernel (not just via opencrypto).
240 [riastradh 20200629] 240 [riastradh 20200629]
241 arm: Add support for ARMv8.0-AES in kernel. [riastradh 20200629] 241 arm: Add support for ARMv8.0-AES in kernel. [riastradh 20200629]
242 arm: Add support for permutation-based AES (vpaes) with ARM NEON in 242 arm: Add support for permutation-based AES (vpaes) with ARM NEON in
243 kernel. [riastradh 20200629] 243 kernel. [riastradh 20200629]
244 cgd(4): Add support for Adiantum cipher, providing much better software 244 cgd(4): Add support for Adiantum cipher, providing much better software
245 performance than AES-CBC or AES-XTS. [riastradh 20200629] 245 performance than AES-CBC or AES-XTS. [riastradh 20200629]
246 dhcpcd: Import version 9.1.4 [roy 20200703] 246 dhcpcd: Import version 9.1.4 [roy 20200703]
247 x86: Xen kernels now use the same kernel modules as native kernels. 247 x86: Xen kernels now use the same kernel modules as native kernels.
248 [chs 20200704] 248 [chs 20200704]
249 wskbd(4): Added keyboard layouts for Brazilian Portugese, 249 wskbd(4): Added keyboard layouts for Brazilian Portugese,
250 Canadian French, Estonian, Icelandic, and Latin American 250 Canadian French, Estonian, Icelandic, and Latin American
251 Spanish to pckbd(4) and ukbd(4). [nia 20200713] 251 Spanish to pckbd(4) and ukbd(4). [nia 20200713]
252 bnx(4): Enable support for MSI/MSI-X [jdolecek 20200714] 252 bnx(4): Enable support for MSI/MSI-X [jdolecek 20200714]
253 ciss(4): Add support for PERFORMANT mode, and enable MSI/MSI-X 253 ciss(4): Add support for PERFORMANT mode, and enable MSI/MSI-X
254 for adapters supporting it [jdolecek 20200714] 254 for adapters supporting it [jdolecek 20200714]
255 ciss(4): Match new HP Smart Array adapters [jdolecek 20200714] 255 ciss(4): Match new HP Smart Array adapters [jdolecek 20200714]
256 x86: Introduce per-cpu IDTs [yamaguchi 20200714] 256 x86: Introduce per-cpu IDTs [yamaguchi 20200714]
257 evbmips: Renamed kernel config files: 257 evbmips: Renamed kernel config files:
258 ERLITE -> OCTEON 258 ERLITE -> OCTEON
259 INSTALL_ERLITE -> INSTALL_OCTEON 259 INSTALL_ERLITE -> INSTALL_OCTEON
260 [simonb 20200715] 260 [simonb 20200715]
261 libc: Added ppoll() wrapper around native pollts(2) [kamil 20200717] 261 libc: Added ppoll() wrapper around native pollts(2) [kamil 20200717]
262 openresolv: Import version 3.11.0 [roy 20200722] 262 openresolv: Import version 3.11.0 [roy 20200722]
263 sun3: Add Xorg-Server-1.20'fied ancient monolithc Xsun servers. 263 sun3: Add Xorg-Server-1.20'fied ancient monolithc Xsun servers.
264 [tsutsui 20200722] 264 [tsutsui 20200722]
265 wwanc(4): Add driver for Intel XMM7360 LTE modem [jdolecek 20200726] 265 wwanc(4): Add driver for Intel XMM7360 LTE modem [jdolecek 20200726]
266 xen: MSI enabled by default [jdolecek 20200728] 266 xen: MSI enabled by default [jdolecek 20200728]
267 kernel: remove the BRIDGE_IPF option, build its code by default 267 kernel: remove the BRIDGE_IPF option, build its code by default
268 unconditionally. [maxv 20200801] 268 unconditionally. [maxv 20200801]
269 aarch64: Add support for Privileged Access Never (PAN). 269 aarch64: Add support for Privileged Access Never (PAN).
270 [maxv 20200802] 270 [maxv 20200802]
271 acpi(4): Updated ACPICA to 20200717. [christos 20200802] 271 acpi(4): Updated ACPICA to 20200717. [christos 20200802]
272 bind: Import version 9.16.5. [christos 20200803] 272 bind: Import version 9.16.5. [christos 20200803]
273 dhcp: Import version 4.4.2. [christos 20200803] 273 dhcp: Import version 4.4.2. [christos 20200803]
274 openldap: Import 2.4.50. [christos 20200811] 274 openldap: Import 2.4.50. [christos 20200811]
275 kernel: Add getrandom system call. [riastradh 20200813] 275 kernel: Add getrandom system call. [riastradh 20200813]
276 kernel: Disable COMPAT_LINUX by default [jdolecek 20200816] 276 kernel: Disable COMPAT_LINUX by default [jdolecek 20200816]
277 mips: Port crash(8) to mips. [mrg 20200816] 277 mips: Port crash(8) to mips. [mrg 20200816]
278 wg(4): Add implementation of WireGuard protocol. [ozaki-r 20200820] 278 wg(4): Add implementation of WireGuard protocol. [ozaki-r 20200820]
279 gcc(1): Import GCC 9.3. [mrg 20200904] 279 gcc(1): Import GCC 9.3. [mrg 20200904]
280 dhcpcd: Update to version 9.2.0. [roy 20200906] 280 dhcpcd: Update to version 9.2.0. [roy 20200906]
281 iavf(4): Add driver for Intel Ethernet Adaptive Virtual Function 281 iavf(4): Add driver for Intel Ethernet Adaptive Virtual Function
282 [yamaguchi 20200908] 282 [yamaguchi 20200908]
283 gcc(1): Install TSan for 64bit CPUs. [kamil 20200913] 283 gcc(1): Install TSan for 64bit CPUs. [kamil 20200913]
284 network: IPv6 Neighor Detection is now address agnostic 284 network: IPv6 Neighor Detection is now address agnostic
285 and is used by ARP. RFC 7048 is included. [roy 20200916] 285 and is used by ARP. RFC 7048 is included. [roy 20200916]
286 alpha: Fixed several stability problems with MULTIPROCESSOR 286 alpha: Fixed several stability problems with MULTIPROCESSOR
287 enabled. Improved performance of TLB operations in 287 enabled. Improved performance of TLB operations in
288 pmap module. Implemented fast-soft-interrupts. Enabled 288 pmap module. Implemented fast-soft-interrupts. Enabled
289 MULTIPROCESSOR in GENERIC. [thorpej 20200918] 289 MULTIPROCESSOR in GENERIC. [thorpej 20200918]
290 ld.so(1): Upgrade r_debug to the protocol version 1. [kamil 20200921] 290 ld.so(1): Upgrade r_debug to the protocol version 1. [kamil 20200921]
291 vether(4): Imported from OpenBSD. [roy 20200927] 291 vether(4): Imported from OpenBSD. [roy 20200927]
292 dhcpcd: Update to version 9.3.0 [roy 20201005] 292 dhcpcd: Update to version 9.3.0 [roy 20201005]
293 tzdata updated to 2020b [kre 20201008] 293 tzdata updated to 2020b [kre 20201008]
294 tzcode: Updated to 2020b. [christos 20201009] 294 tzcode: Updated to 2020b. [christos 20201009]
295 dhcpcd: Update to version 9.3.1 [roy 20201012] 295 dhcpcd: Update to version 9.3.1 [roy 20201012]
296 tzdata updated to 2020c [kre 20201017] 296 tzdata updated to 2020c [kre 20201017]
297 tzcode: Updated to 2020c. [christos 20201017] 297 tzcode: Updated to 2020c. [christos 20201017]
298 ossaudio(3): Added support for the OSSv4 Mixer API [nia 20201017] 298 ossaudio(3): Added support for the OSSv4 Mixer API [nia 20201017]
299 tzdata updated to 2020d [kre 20201022] 299 tzdata updated to 2020d [kre 20201022]
300 pcf8574(4): Add a driver for the PCF8574 I/O expander [jdc 20201029] 300 pcf8574(4): Add a driver for the PCF8574 I/O expander [jdc 20201029]
301 dhcpcd: Update to version 9.3.2 [roy 20201101] 301 dhcpcd: Update to version 9.3.2 [roy 20201101]
302 tmux(1): Imported 3.1c. [christos 20201101] 302 tmux(1): Imported 3.1c. [christos 20201101]
303 kernel: Better default for kern.maxfiles for systems with 303 kernel: Better default for kern.maxfiles for systems with
304 larger RAM [simonb 20201112] 304 larger RAM [simonb 20201112]
305 acpi(4): Updated ACPICA to 20201113. [christos 20201127] 305 acpi(4): Updated ACPICA to 20201113. [christos 20201127]
306 dhcpcd: Update to version 9.3.4 [roy 20201128] 306 dhcpcd: Update to version 9.3.4 [roy 20201128]
307 arm: Switch earmv6{,hf}eb to BE8. [rin 20201201] 307 arm: Switch earmv6{,hf}eb to BE8. [rin 20201201]
308 evbarm: Support Raspberry Pi 0-3 in big-endian mode. All devices 308 evbarm: Support Raspberry Pi 0-3 in big-endian mode. All devices
309 except for vchiq(4) and vcaudio(4) are supported. Pi 3 is 309 except for vchiq(4) and vcaudio(4) are supported. Pi 3 is
310 capable to run both in aarch64eb and earmv7{,hf}eb modes. 310 capable to run both in aarch64eb and earmv7{,hf}eb modes.
311 [rin 20201201] 311 [rin 20201201]
312 pkg_install: Updated to 20201202. This changes the default database 312 pkg_install: Updated to 20201202. This changes the default database
313 location from /var/db/pkg to /usr/pkg/pkgdb. [wiz 20201202] 313 location from /var/db/pkg to /usr/pkg/pkgdb. [wiz 20201202]
314 libfido2: Update to 1.5.0 for OpenSSH 8.4 support [christos 20201204] 314 libfido2: Update to 1.5.0 for OpenSSH 8.4 support [christos 20201204]
315 OpenSSH: Import 8.4. [christos 20201204] 315 OpenSSH: Import 8.4. [christos 20201204]
316 pkg_install: Updated to 20201205. [wiz 20201205] 316 pkg_install: Updated to 20201205. [wiz 20201205]
317 acpicpu(4): Add support for Arm CPUs. [jmcneill 20201207] 317 acpicpu(4): Add support for Arm CPUs. [jmcneill 20201207]
318 OpenSSL: Imported 1.1.1i. [christos 20201209] 318 OpenSSL: Imported 1.1.1i. [christos 20201209]
319 pkg_install: Updated to 20201212. [wiz 20201212] 319 pkg_install: Updated to 20201212. [wiz 20201212]
320 sparc64: Add environment monitoring for the E250 [jdc 20201223] 320 sparc64: Add environment monitoring for the E250 [jdc 20201223]
321 sti(4), hp300: Add bitmap access ops support for SGC CRX (A1659-66001) 321 sti(4), hp300: Add bitmap access ops support for SGC CRX (A1659-66001)
322 framebuffer for HP9000/425t. [tsutsui 20201223] 322 framebuffer for HP9000/425t. [tsutsui 20201223]
323 openresolv: Update to version 3.12.0 [roy 20201227] 323 openresolv: Update to version 3.12.0 [roy 20201227]
324 nvmm: implement support for trapping REP CMPS [reinoud 20201227] 324 nvmm: implement support for trapping REP CMPS [reinoud 20201227]
325 resize: Import Xterm's resize(1) for querying (x)terminal sizes in 325 resize: Import Xterm's resize(1) for querying (x)terminal sizes in
326 base for headless clients [reinoud 20201227] 326 base for headless clients [reinoud 20201227]
327 dhcpcd: Update to version 9.4.0 [roy 20201228] 327 dhcpcd: Update to version 9.4.0 [roy 20201228]
328 tzdata updated to 2020f (includes update to 2020e) [kre 20201231]  328 tzdata updated to 2020f (includes update to 2020e) [kre 20201231]
329 evbarm: Add support for Amlogic G12 family SoCs. [ryo 20210101] 329 evbarm: Add support for Amlogic G12 family SoCs. [ryo 20210101]
330 pppd(8): updated to version 2.4.9. [christos 20210109] 330 pppd(8): updated to version 2.4.9. [christos 20210109]
331 tzdata updated to 2021a [kre 20210124]  331 tzdata updated to 2021a [kre 20210124]
332 evbmips: Add support for QEMU "mipssim" emulator. [simonb 20210127] 332 evbmips: Add support for QEMU "mipssim" emulator. [simonb 20210127]
333 x68k: Add Emulate3Buttons support to X68k Xorg based monolithic server. 333 x68k: Add Emulate3Buttons support to X68k Xorg based monolithic server.
334 [tsutsui 20210207] 334 [tsutsui 20210207]
335 bind: Import version 9.16.12. [christos 20210219] 335 bind: Import version 9.16.12. [christos 20210219]
336 OpenSSL: Imported 1.1.1j. [christos 20210219] 336 OpenSSL: Imported 1.1.1j. [christos 20210219]
337 byacc: Update to 20210109. [christos 20210220] 337 byacc: Update to 20210109. [christos 20210220]
338 regex: Add NLS support and gnu regex extensions (off by default) 338 regex: Add NLS support and gnu regex extensions (off by default)
339 [christos 20210223] 339 [christos 20210223]
340 wpa: Import wpa_supplicant and hostapd 2.9. [christos 20210228] 340 wpa: Import wpa_supplicant and hostapd 2.9. [christos 20210228]
341 tzcode: Updated to 2021a. [christos 20210228] 341 tzcode: Updated to 2021a. [christos 20210228]
342 OpenSSH: Import 8.5. [christos 20210304] 342 OpenSSH: Import 8.5. [christos 20210304]
343 nsd: Import 4.3.5. [christos 20210315] 343 nsd: Import 4.3.5. [christos 20210315]
344 unbound(8): Import 1.13.1. [christos 20210315] 344 unbound(8): Import 1.13.1. [christos 20210315]
345 OpenSSL: Imported 1.1.1k. [christos 20210325] 345 OpenSSL: Imported 1.1.1k. [christos 20210325]
 346 evbppc: Add support for DHT Walnut 405GP evaluation board.
 347 [rin 20210402]

File Added: src/sys/arch/evbppc/conf/DHT
#	$NetBSD: DHT,v 1.1 2021/04/02 07:00:33 rin Exp $
#
#	DHT --- DHT Walnut 405GP Evaluation Board
#		(Digital Home Technologies PCB 01070201 Rev. 1.1)
#

include 	"arch/evbppc/conf/std.dht"

options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary

#ident 		"DHT-$Revision: 1.1 $"

maxusers	32


#
# Standard system options
#

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 	MODULAR			# new style module(7) framework
#options 	MODULAR_DEFAULT_AUTOLOAD
#options 	USERCONF		# userconf(4) support
#options	PIPE_SOCKETPAIR		# smaller, but slower pipe(2)
#options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel

#options 	UVMHIST
#options 	UVMHIST_PRINT


# 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

makeoptions	DEBUG="-g"		# compile full symbol table


#
# Compatibility options
#

include 	"conf/compat_netbsd13.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 	UMAPFS		# NULLFS + uid and gid remapping
file-system 	UNION		# union file system
file-system	PTYFS		# /dev/pts/N support
file-system	TMPFS		# Efficient memory file-system
#file-system	NTFS		# Windows NT file system (experimental)


#
# File system options
#

options 	QUOTA		# legacy UFS quotas
options 	QUOTA2		# new, in-filesystem UFS quotas
options 	FFS_EI			# FFS Endian Independent support
options 	WAPBL		# File system journaling support
options 	NFSSERVER		# Network File System server
#options 	FFS_NO_SNAPSHOT		# No FFS snapshot support
options 	EXT2FS_SYSTEM_FLAGS	# makes ext2fs file flags (append and
					# immutable) behave as system flags.
options 	NFS_BOOT_DHCP		# Support DHCP NFS root


#
# 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


#
# Kernel root file system and dump configuration.
#

#config		netbsd	root on ? type ?
config		netbsd	root on wd0a type ffs
#config		netbsd	root on emac0 type nfs


#
# Device configuration
#

plb0 at root				# Processor Local Bus
cpu0	at plb?				# CPU
ecc0	at plb? irq 17			# On-chip ECC controller
pchb0	at plb?				# PCI-Host bridges

# On-chip Peripheral Bus support
opb*	at plb?				# On-chip Peripheral Bus
wdog*	at opb?				# Watchdog timer
com*	at opb? addr ? irq ?		# UARTs
emac0	at opb? addr ? irq ?		# Ethernet Media Access Controller
#options 	EMAC_EVENT_COUNTERS
opbgpio0 at opb? addr ? irq ?		# On-chip GPIO controller
gpio*	at opbgpio?			# GPIO framework
	# GPIO pins 0-8 go to J5 header. Pins 0 and 1 are also connected to
	# Power and Media LEDs, respectively (negative logic).

# PCI bus support
pci*	at pchb?
options 	PCIVERBOSE		# verbose PCI device autoconfig messages
#options 	PCI_CONFIG_DUMP		# verbosely dump PCI config space
options 	PCI_NETBSD_CONFIGURE	# Do not rely on BIOS/whatever
					# to configure PCI devices
#options 	PCI_CONFIGURE_VERBOSE	# Show PCI config information

pdcide* at pci? dev ? function ?	# Promise IDE controllers

# ATA (IDE) bus support
atabus* at ata?
wd*	at atabus? drive ?

# MII/PHY support
nsphyter* at mii? phy ?			# NS83843 PHYs
options 	MIIVERBOSE		# verbose PHY autoconfig messages

#
# Random useful PCI devices known to work.
#

ppb*	at pci? dev ? function ?	# PCI-PCI{,e} bridges
pci*	at ppb?

ahcisata* at pci? dev ? function ?	# AHCI SATA controllers
siisata* at pci? dev ? function ?	# SiI SteelVine controllers

wm*	at pci? dev ? function ?	# Intel 82543/82544 gigabit
igphy*	at mii? phy ?			# Intel IGP01E1000
ukphy*	at mii? phy ?			# generic unknown PHYs

xhci*	at pci?	dev ? function ?	# eXtensible Host Controller
usb*	at xhci?

# USB Hubs
uhub*	at usb?
uhub*	at uhub? port ?

# USB Mass Storage
umass*	at uhub? port ? configuration ? interface ?
scsibus* at umass?
sd*	at scsibus? target ? lun ?	# SCSI disk drives


#
# Pseudo devices
#

pseudo-device	crypto			# /dev/crypto device
pseudo-device	swcrypto		# software crypto implementation

# disk/mass storage pseudo-devices
#pseudo-device	ccd			# concatenated/striped disk devices
#pseudo-device	cgd			# cryptographic disk devices
#pseudo-device	raid			# RAIDframe disk driver
#options 	RAID_AUTOCONFIG		# auto-configuration of RAID components
#pseudo-device	fss			# file system snapshot device
#pseudo-device	md			# memory disk device
pseudo-device	vnd			# disk-like interface to files

# network pseudo-devices
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	pppoe			# PPP over Ethernet (RFC 2516)
pseudo-device	sl			# Serial Line IP
pseudo-device	irframetty		# IrDA frame line discipline
pseudo-device	tap			# virtual ethernet
pseudo-device	tun			# network tunneling over tty
pseudo-device	gre			# generic L3 over IP tunnel
pseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC 1933)
#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	bridge			# simple inter-network bridging
pseudo-device	vether			# Virtual Ethernet for bridge
pseudo-device	agr			# IEEE 802.3ad link aggregation

# miscellaneous pseudo-devices
pseudo-device	pty			# pseudo-terminals
pseudo-device	clockctl		# user control of clock subsystem
pseudo-device	ksyms			# /dev/ksyms
pseudo-device	putter			# for puffs and pud

include "dev/veriexec.config"

File Added: src/sys/arch/evbppc/conf/Makefile.dht.inc
#	$NetBSD: Makefile.dht.inc,v 1.1 2021/04/02 07:00:33 rin Exp $

CFLAGS+=-mcpu=405
AFLAGS+=-mcpu=405
TEXTADDR?=	100000

SYSTEM_FIRST_OBJ=	locore.o
SYSTEM_FIRST_SFILE=	${THISPPC}/dht/locore.S

File Added: src/sys/arch/evbppc/conf/files.dht
#	$NetBSD: files.dht,v 1.1 2021/04/02 07:00:33 rin Exp $
#
# DHT Walnut-specific configuration info

file	arch/evbppc/dht/autoconf.c
file	arch/evbppc/dht/machdep.c
file	arch/powerpc/ibm4xx/ibm4xx_autoconf.c
file	arch/powerpc/ibm4xx/ibm40x_machdep.c
file	arch/powerpc/ibm4xx/ibm4xx_machdep.c

# Memory Disk for install kernel
file	dev/md_root.c				memory_disk_hooks

# Machine-independent ATA drivers
include	"dev/ata/files.ata"

# Machine-independent SCSI drivers
include	"dev/scsipi/files.scsipi"

# Machine-independent USB drivers
include	"dev/usb/files.usb"

File Added: src/sys/arch/evbppc/conf/std.dht
#	$NetBSD: std.dht,v 1.1 2021/04/02 07:00:33 rin Exp $
#
# Standard/required options for DHT Walnut 405GP Evaluation Board.

machine	evbppc powerpc
include		"conf/std"	# MI standard options

# standard ("mandatory") kernel options.
options 	PPC_IBM4XX	# IBM 40x family

options 	IBM405_ERRATA77

# Executable support:
options 	EXEC_ELF32	# (native) ELF32 binary support
options 	EXEC_AOUT	# (native) a.out binary support (deprecated)
options 	EXEC_SCRIPT	# shell script support

makeoptions	TEXTADDR=0x100000
makeoptions	BOARDTYPE="dht"
makeoptions	PPCDIR="ibm4xx"
makeoptions	NEED_BINARY="yes"

options 	PPC_INTR_IMPL="<powerpc/intr.h>"
options 	PPC_PCI_MACHDEP_IMPL="<powerpc/pci_machdep.h>"
options 	KERNBASE=0x100000

options 	INTSTK=16384

options 	EVBPPC_HAS_MBR

include		"arch/powerpc/conf/files.ibm4xx"
include		"arch/evbppc/conf/files.dht"

File Added: src/sys/arch/evbppc/dht/autoconf.c
/*	$NetBSD: autoconf.c,v 1.1 2021/04/02 07:00:33 rin Exp $	*/

/*
 * Taken from src/sys/arch/evbppc/walnut/autoconf.c:
 *	NetBSD: autoconf.c,v 1.26 2021/03/30 05:14:00 rin Exp
 */

/*
 * Copyright (C) 1995, 1996 Wolfgang Solfrank.
 * Copyright (C) 1995, 1996 TooLs GmbH.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *	This product includes software developed by TooLs GmbH.
 * 4. The name of TooLs GmbH may not be used to endorse or promote products
 *    derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``AS IS'' AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.1 2021/04/02 07:00:33 rin Exp $");

#include <sys/param.h>
#include <sys/device.h>
#include <sys/systm.h>

#include <machine/dht.h>

#include <powerpc/spr.h>
#include <powerpc/ibm4xx/spr.h>

#include <powerpc/ibm4xx/cpu.h>
#include <powerpc/ibm4xx/dcr4xx.h>
#include <powerpc/ibm4xx/dev/plbvar.h>

/*
 * Determine device configuration for a machine.
 */
void
cpu_configure(void)
{

	intr_init();
	calc_delayconst();

	/* Make sure that timers run at CPU frequency */
	mtdcr(DCR_CPC0_CR1, mfdcr(DCR_CPC0_CR1) & ~CPC0_CR1_CETE);

	if (config_rootfound("plb", NULL) == NULL)
		panic("%s: plb not configured", __func__);

	genppc_cpu_configure();
}

void
device_register(device_t dev, void *aux)
{

	ibm4xx_device_register(dev, aux, DHT_COM_FREQ);
}

File Added: src/sys/arch/evbppc/dht/locore.S
/*	$NetBSD: locore.S,v 1.1 2021/04/02 07:00:33 rin Exp $	*/

/*
 * Taken from src/sys/arch/powerpc/ibm4xx/openbios/locore.s:
 *	NetBSD: locore.S,v 1.17 2021/03/30 01:57:20 rin Exp
 */

/*
 * Copyright 2001 Wasabi Systems, Inc.
 * All rights reserved.
 *
 * Written by Eduardo Horvath and Simon Burge for Wasabi Systems, Inc.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *      This product includes software developed for the NetBSD Project by
 *      Wasabi Systems, Inc.
 * 4. The name of Wasabi Systems, Inc. may not be used to endorse
 *    or promote products derived from this software without specific prior
 *    written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL WASABI SYSTEMS, INC
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */

/*
 * Copyright (C) 1995, 1996 Wolfgang Solfrank.
 * Copyright (C) 1995, 1996 TooLs GmbH.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *	This product includes software developed by TooLs GmbH.
 * 4. The name of TooLs GmbH may not be used to endorse or promote products
 *    derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``AS IS'' AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#ifdef PPC_4XX_NOCACHE
#error Not tested.
#endif

#include "assym.h"
#include "ksyms.h"

#ifdef _KERNEL_OPT
#include "opt_ddb.h"
#include "opt_modular.h"
#include "opt_ppcparam.h"
#endif

#include <machine/param.h>
#include <machine/asm.h>
#include <machine/psl.h>
#include <machine/trap.h>

#include <powerpc/spr.h>
#include <powerpc/ibm4xx/spr.h>

#include <powerpc/ibm4xx/dcr4xx.h>

/*
 * This symbol is here for the benefit of kvm_mkdb, and is supposed to
 * mark the start of kernel text.
 */
	.text
	.globl	_C_LABEL(kernel_text)
_C_LABEL(kernel_text):

/*
 * Startup entry.  Note, this must be the first thing in the text
 * segment!
 */
	.text
	.globl	__start
__start:
	li	%r0,0
	mtmsr	%r0			/* Disable FPU/MMU/exceptions */
	isync

	/*
	 * Errata 213:  Incorrect data may be flushed from the data cache.
	 * Cores:       PPC405D5X1, PPC405D5X2
	 * Workaround:  #1, CCR0 modification sequence #2
	 * Note:        Meaning of bits we need to set is undocumented.
	 */
	sync
	mfccr0  %r0
	oris    %r0,%r0,0x50000000@h
	mtccr0  %r0
	isync

	/* PPC405GP errata, item #58.
	 * Load string instructions may write incorrect data into the last GPR
	 * targeted in the operation.
	 * Workaround: set OCM0_DSCNTL[DSEN]=0 and OCM0_DSCNTL[DOF]=0 */
	li %r0,0
	mtdcr	DCR_OCM0_DSCNTL, %r0  	/* Disable Data access to OCM */
	mtdcr	DCR_OCM0_ISCNTL, %r0  	/* Disable Instruction access to OCM.
					   Just in case */
#ifdef PPC_4XX_NOCACHE
	/* Disable all caches for physical addresses */
	li	%r0,0
#else
	/* Allow cacheing for only the first 2GB of RAM */
	lis	%r0,0xffff
#endif
	mtdccr	%r0
	mticcr	%r0

	/* Invalidate all TLB entries */
	tlbia
	sync
	isync

	/* Get start of BSS */
	lis	%r3,_C_LABEL(_edata)-4@ha
	addi	%r3,%r3,_C_LABEL(_edata)-4@l
	/* Get end of kernel memory */
	lis	%r8,_C_LABEL(end)@ha
	addi	%r8,%r8,_C_LABEL(end)@l
	/* Zero BSS */
	li	%r4,0
2:	stwu	%r4,4(%r3)
	cmpw	%r3,%r8
	bne+	2b

#if NKSYMS > 0 || defined(DDB) || defined(MODULAR)
	/*
	 * If we had symbol table location we'd store it here and would've
	 * adjusted r8 here.
	 */
	lis	%r7,_C_LABEL(startsym)@ha
	addi	%r7,%r7,_C_LABEL(startsym)@l
	stw	%r8,0(%r7)
	lis	%r7,_C_LABEL(endsym)@ha
	addi	%r7,%r7,_C_LABEL(endsym)@l
	stw	%r8,0(%r7)
#endif

	/* Set kernel MMU context. */
	li	%r0,KERNEL_PID
	mtpid	%r0
	sync

	INIT_CPUINFO(%r8,%r1,%r9,%r0)
	mr	%r4,%r8

	lis	%r3,__start@ha
	addi	%r3,%r3,__start@l

	mr	%r6,%r31		/* info_block address */
	bl	_C_LABEL(initppc)
	bl	_C_LABEL(main)

loop:	b	loop			/* XXX not reached */

#include <powerpc/ibm4xx/4xx_locore.S>

File Added: src/sys/arch/evbppc/dht/machdep.c
/*	$NetBSD: machdep.c,v 1.1 2021/04/02 07:00:33 rin Exp $	*/

/*
 * Taken from src/sys/arch/evbppc/walnut/machdep.c:
 *	NetBSD: machdep.c,v 1.67 2021/03/30 05:08:16 rin Exp
 */

/*
 * Copyright 2001, 2002 Wasabi Systems, Inc.
 * All rights reserved.
 *
 * Written by Eduardo Horvath and Simon Burge for Wasabi Systems, Inc.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *      This product includes software developed for the NetBSD Project by
 *      Wasabi Systems, Inc.
 * 4. The name of Wasabi Systems, Inc. may not be used to endorse
 *    or promote products derived from this software without specific prior
 *    written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL WASABI SYSTEMS, INC
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */

/*
 * Copyright (C) 1995, 1996 Wolfgang Solfrank.
 * Copyright (C) 1995, 1996 TooLs GmbH.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *	This product includes software developed by TooLs GmbH.
 * 4. The name of TooLs GmbH may not be used to endorse or promote products
 *    derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``AS IS'' AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.1 2021/04/02 07:00:33 rin Exp $");

#include "opt_ddb.h"
#include "opt_pci.h"

#include <sys/param.h>
#include <sys/bus.h>
#include <sys/device.h>
#include <sys/kernel.h>
#include <sys/module.h>
#include <sys/reboot.h>
#include <sys/systm.h>

#include <machine/dht.h>

#include <powerpc/spr.h>
#include <powerpc/ibm4xx/spr.h>

#include <powerpc/ibm4xx/cpu.h>
#include <powerpc/ibm4xx/dcr4xx.h>
#include <powerpc/ibm4xx/ibm405gp.h>
#include <powerpc/ibm4xx/openbios.h>
#include <powerpc/ibm4xx/tlb.h>

#include "com.h"
#if NCOM > 0
#include <sys/termios.h>
#include <dev/ic/comreg.h>
#include <dev/ic/comvar.h>
#include <powerpc/ibm4xx/dev/comopbvar.h>
#ifndef CONADDR
#define	CONADDR		IBM405GP_UART0_BASE
#endif
#ifndef CONSPEED
#define	CONSPEED	B115200
#endif
#ifndef CONMODE
#define	CONMODE		TTYDEF_CFLAG
#endif
#endif /* NCOM > 0 */

#include "emac.h"
#if NEMAC > 0
#include <net/if_ether.h>
#endif

#include "pci.h"
#if NPCI > 0
#ifndef PCI_NETBSD_CONFIGURE
#error options PCI_NETBSD_CONFIGURE is mandatory.
#endif
#include <powerpc/ibm4xx/pci_machdep.h>
#include <dev/pci/pciconf.h>
#include <dev/pci/pcivar.h>
#endif

#define TLB_PG_SIZE 	(16 * 1024 * 1024)

static u_int memsize;

void initppc(vaddr_t, vaddr_t, char *, void *);

/*
 * Get memory size from SDRAM bank register.
 */
static u_int
dht_memsize(void)
{
	u_int total = 0;
	uint32_t val, addr;

	for (addr = DCR_SDRAM0_B0CR; addr <= DCR_SDRAM0_B3CR; addr += 4) {
		mtdcr(DCR_SDRAM0_CFGADDR, addr);
		val = mfdcr(DCR_SDRAM0_CFGDATA);
		if (val & SDRAM0_BnCR_EN)
			total += SDRAM0_BnCR_SZ(val);
	}
	return total;
}

void
consinit(void)
{

#if NCOM > 0
	com_opb_cnattach(DHT_COM_FREQ, CONADDR, CONSPEED, CONMODE);
#endif
}

void
initppc(vaddr_t startkernel, vaddr_t endkernel, char *args, void *info_block)
{

	/* Disable all external interrupts */
	mtdcr(DCR_UIC0_BASE + DCR_UIC_ER, 0);

	memsize = dht_memsize();

	/* Linear map kernel memory */
	for (vaddr_t va = 0; va < endkernel; va += TLB_PG_SIZE)
		ppc4xx_tlb_reserve(va, va, TLB_PG_SIZE, TLB_EX);

	/* Map console after physmem (see pmap_tlbmiss()) */
	ppc4xx_tlb_reserve(IBM405GP_UART0_BASE, roundup(memsize, TLB_PG_SIZE),
	    TLB_PG_SIZE, TLB_I | TLB_G);

	/* Disable all timers */
	mtspr(SPR_TCR, 0);

	ibm40x_memsize_init(memsize, startkernel);
	ibm4xx_init(startkernel, endkernel, pic_ext_intr);

#ifdef DDB
	if (boothowto & RB_KDB)
		Debugger();
#endif

	/* Look for the ibm4xx modules in the right place */
	module_machine = module_machine_ibm4xx;
}

void
cpu_startup(void)
{
	prop_number_t pn;

	ibm4xx_cpu_startup("DHT Walnut 405GP Evaluation Board");

	/*
	 * Set up the board properties database.
	 */
	board_info_init();

	pn = prop_number_create_integer(DHT_CPU_FREQ);
	KASSERT(pn != NULL);
	if (prop_dictionary_set(board_properties, "processor-frequency", pn) ==
	    false)
		panic("setting processor-frequency");
	prop_object_release(pn);

	pn = prop_number_create_integer(memsize);
	KASSERT(pn != NULL);
	if (prop_dictionary_set(board_properties, "mem-size", pn) == false)
		panic("setting mem-size");
	prop_object_release(pn);

#if NEMAC > 0
	/*
	 * XXX
	 * Unfortunately, no MAC address is assigned to this board.
	 * Set fake address de:ad:be:ef:00:00.
	 *
	 * XXX
	 * This should be same with what U-Boot/PPC-Boot set.
	 */
	static uint8_t enaddr[ETHER_ADDR_LEN];
	enaddr[0] = 0xde; enaddr[1] = 0xad; enaddr[2] = 0xbe;
	enaddr[3] = 0xef; enaddr[4] = 0x00; enaddr[5] = 0x00;
	prop_data_t pd = prop_data_create_data_nocopy(enaddr, ETHER_ADDR_LEN);
	KASSERT(pd != NULL);
	if (prop_dictionary_set(board_properties, "emac0-mac-addr", pd) ==
	    false)
		panic("setting emac0-mac-addr");
	prop_object_release(pd);
#endif

	/*
	 * Now that we have VM, malloc()s are OK in bus_space.
	 */
	bus_space_mallocok();

	/*
	 * No fake mapiodev.
	 */
	fake_mapiodev = 0;
}

#if NPCI > 0
int
ibm4xx_pci_bus_maxdevs(void *v, int busno)
{

	return 32;
}

/*
 * This is only possible mapping known to work b/w PCI devices and IRQ pins.
 */
#define	DEV_TO_IRQ(dev)		(27 + (dev))
#define	PARENT_DEV(swiz, dev)	((swiz) - (dev))

int
ibm4xx_pci_intr_map(const struct pci_attach_args *pa, pci_intr_handle_t *ihp)
{
	int pin = pa->pa_intrpin, bus = pa->pa_bus, dev = pa->pa_device;

	if (pin <= 0 || pin > 4)
		goto bad;

	if (bus != 0) {
		/*
		 * XXX
		 * We only support ppb(4) directly attached to pci0.
		 */
		dev = PARENT_DEV(pa->pa_intrswiz, dev);
		goto out;
	}

	switch (dev) {
	case 2:
	case 3:
	case 4:
out:
		*ihp = DEV_TO_IRQ(dev);
		return 0;
	default:
bad:
		printf("%s: invalid request: bus %d dev %d pin %d\n",
		    __func__, bus, dev, pin);
		*ihp = -1;
		return 1;
	}
}

void
ibm4xx_pci_conf_interrupt(void *v, int bus, int dev, int pin, int swiz,
    int *iline)
{

	if (bus != 0) {
		/*
		 * XXX
		 * See coment above.
		 */
		dev = PARENT_DEV(swiz, dev);
		goto out;
	}

	switch (dev) {
	case 2:
	case 3:
	case 4:
out:
		*iline = DEV_TO_IRQ(dev);
		break;
	default:
		printf("%s: invalid request: bus %d dev %d pin %d swiz %d\n",
		    __func__, bus, dev, pin, swiz);
		*iline = 0;
		break;
	}
}
#endif /* NPCI > 0 */

File Added: src/sys/arch/evbppc/include/dht.h
/*	$NetBSD: dht.h,v 1.1 2021/04/02 07:00:33 rin Exp $	*/

/*
 * Copyright (c) 2021 The NetBSD Foundation, Inc.
 * All rights reserved.
 *
 * This code is derived from software contributed to The NetBSD Foundation
 * by Rin Okuyama.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */

#ifndef	_EVBPPC_DHT_H_
#define	_EVBPPC_DHT_H_

#include <dev/ic/comreg.h>

#define	DHT_CPU_FREQ	266666666
#define	DHT_COM_FREQ	(6 * COM_FREQ)

#endif	/* _EVBPPC_DHT_H_ */