Home | History | Annotate | only in /src/sys/arch/amd64/conf
History log of /src/sys/arch/amd64/conf
RevisionDateAuthorComments
 1.195 21-Oct-2025  pgoyette Add Realtek 8126 to comment for rge*
 1.194 06-Oct-2025  riastradh x86: Wire up PCI resource manager if enabled.

Enable in your kernel config with `options PCI_RESOURCE'.

Adapted from a patch by mlelstv@.

PR port-amd64/59118: Thinkpad T495s - iwm PCI BAR is zero
 1.193 18-Aug-2025  andvar Fix various typos, mainly in comments:
s/invaid/invalid/
s/instad/instead/
s/wich/with/
s/tranform/transform/
s/tranmist/transmit/
s/tranceiver/transceiver/
s/Tranparent/Transparent/
s/tranlated/translated/
s/tranfer/transfer/
s/tranmissions/transmissions/
s/condtions/conditions/
s/Recient/Recent/
 1.192 03-Apr-2025  bouyer branches: 1.192.2;
Add gscan(4), a driver for USB to CAN bus adapters.
This driver supports the Geschwister Schneider USB to CAN adapter, and
clones supported by the open-source candleLight firmware.

Add gscan to evbarm GENERIC (which already supports CAN family and the
sunxican(4) driver by default), and to amd64 ALL.
 1.191 27-Mar-2025  riastradh virtio(4): Consolidate kernel configs.

No functional change intended.

Leave `# XXX ?' comments where I don't know why the driver in
question is excluded. (Typical reason is that PAGE_SIZE is not 4096
but I didn't investigate -- if you do investigate, please either
update the comment if you determine a reason, or enable the driver if
you don't.)

PR kern/59211: vio9p(4): missing from various GENERICs and MAKEDEVs
 1.190 26-Aug-2024  riastradh acpivmgenid(4): New driver for virtual machine generation ID.

Added to amd64/ALL and i386/ALL kernel configurations, and made
available as a loadable module acpivmgenid.kmod on x86, for now.

TBD: Add to all ACPI-supporting GENERIC kernels.

PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork
 1.189 16-Jul-2024  riastradh viocon(4): Add to various kernel configs.
 1.188 30-Apr-2024  andvar branches: 1.188.2;
viac7temp(4): rewrite temperature sensor to read value from MSR instead of using
documented cpuid instruction and eax register.

This approach is adapted from linux via-cputemp.c, no official documentation is
currently available. However, msr value seems to work on all tested CPUs while
documented cpuid instruction typically reports 0, even for my C7-D CPU.
msr value seems to have temperature in Celsius in lower 24-bits without fraction
(thus "msr & 0xffffff;" is used).

Tested on my personal systems based on CPUs below (i386 and amd64):
C7-D 1.6GHz (i386 only), Nano X2 L4350E, Nano X2 U4300, U2300 Nano, KX-U6580.
Also got one response via email which was based on Nano X2 L4050 (VE-900).
Nano reports independent values for each core.
KX-U6580 seems to show the same value for all cores but more testing is needed.

Since it works on amd64 capable CPUs, adding driver to GENERIC kernel config.
Also moving viac7temp man page to x86 instead of i386 (with updates).
In theory the change should add support for all VIA Nano CPUs and Zhaoxin CPUs
at least up to KX-6000(G) series.

In the future I may need to introduce amd64 kernel module as well.

Plan to pullup to at least netbsd-10.

Patch mainly reviewed by riastradh.
 1.187 02-Apr-2024  charlotte dk(4): Add support for discovering Atari TOS partitions as wedges

Any partitioning scheme which conforms to the Atari AHDI 3.00 spec should be
recognized by the new DKWEDGE_METHOD_TOS.
 1.186 21-Mar-2024  riastradh acpihed(4): New driver for PNP0C33 to notify apei(4).

PNP0C33 denotes the ACPI Hardware Error Device, which exists only to
be a vector for event notifications.

PR kern/58046
 1.185 20-Mar-2024  riastradh apei(4): New driver for ACPI Platform Error Interfaces.

For now it is wired up only in x86 ALL kernels, and built as a module
for x86 and Arm. Once it gets a little more testing on machines with
APEI, I would like to flip it on by default.

PR kern/58046
 1.184 29-Jan-2024  christos PR/57889: Ricardo Branco: ext2fs does not have user immutable and append
file flags, only system ones. Restrict those to the superuser. Before
the behavior was controlled by EXT2FS_SYSTEM_FLAGS. Make that behavior the
default.
 1.183 13-Dec-2023  andvar Removing obsolete TTY_DEBUG option from ALL kernels.
 1.182 05-Dec-2023  thorpej Add btvmei + btvmeii and vme to ALL.
 1.181 04-Oct-2023  rin igc(4): Added to kernel config files for tested platforms

I.e., aarch64, amd64, and evbppc/DHT, at the moment.

Please feel free to add to other config files, and report us back
if you find problems :)
 1.180 02-Sep-2023  andvar newsmips/sn(4): rename SONIC_DEBUG to SNDEBUG for consistency.

nix this option from i386/amd64 ALL configs, it isn't used anywhere anymore.
 1.179 18-Jul-2023  riastradh acpiec(4): New ACPIEC_DEBUG option.

Value is bit mask of debug messages to enable.

Enable in x86/ALL kernels.

No functional change intended when the option is off.
 1.178 07-Jul-2023  riastradh amd64/ALL: Turn on heartbeat checks.
 1.177 09-Feb-2023  abs Adjust _all_ cinclude of *.local files

- Ensure always at end
- Use tab rather than spaces
- Add consistent comment
"Pull in optional local configuration - always at end"

The only functional change is that a local file which tried to
override an existing setting (eg with "no foo") would have failed
in some cases before, but now will work
 1.176 22-Dec-2022  jakllsch Add missing virtio devices to x86 ALL kernels
 1.175 22-Dec-2022  nat Driver for DaynaPORT SCSI/Link (dse.4).

Written by Hiroshi Noguchi, of which an updated version was posted to
port-mac68k in 2001.

Attachments were added to kernel configs for platforms that already had
the Cabletron (se.4) driver added, although other platorms may benefit.

Reviewed on tech-net by Izumi Tsutsui.
 1.174 24-Sep-2022  riastradh branches: 1.174.4;
x86: Support EFI runtime services.

This creates a special pmap, efi_runtime_pmap, which avoids setting
PTE_U but allows mappings to lie in what would normally be user VM --
this way we don't fall afoul of SMAP/SMEP when executing EFI runtime
services from CPL 0. SVS does not apply to the EFI runtime pmap.

The mechanism is intended to work with either physical addressing or
virtual addressing; currently the bootloader does physical addressing
but in principle it could be modified to do virtual addressing
instead, if it allocated virtual pages, assigned them in the memory
map, and issued RT->SetVirtualAddressMap.

Not sure pmap_activate_sync and pmap_deactivate_sync are correct,
need more review from an x86 wizard.

If this causes fallout, it can be disabled temporarily without
reverting anything by just making efi_runtime_init return immediately
without doing anything, or by removing options EFI_RUNTIME.

amd64-only for now pending type fixes and testing on i386.
 1.173 07-Aug-2022  simonb UFS/LFS dirhash:
- Enable UFS_DIRHASH if the architecture or kernel model specific config
file can use 128MB of RAM or more.
- Remove experimental tag from UFS_DIRHASH; it's been with RUMP kernel
and by a number of NetBSD developers for years.
- Add LFS_DIRHASH if LFS was enabled.
- Be somewhat consistent with FS options order.
 1.172 29-May-2022  rin Add missing Hyper-V devices from GENERIC.
 1.171 13-May-2022  msaitoh Add MFI_DEBUG and MFII_DEBUG.
 1.170 07-May-2022  rin Add MODULAR_DEFAULT_VERBOSE.
 1.169 23-Dec-2021  hannken Disable amdgpu as it uses floating point arithmetics and subr_kcov
doesnt handle it.

Ok: riastradh@
 1.168 25-Nov-2021  ryo add missing options EXEC_ELF32
 1.167 29-Jun-2021  nia Remove uscanner(4) driver

This exists for compatibility with a Linux interface which was apparently
deprecated in Linux 2.6. There are various mailing list threads going
back to 2004 where the usefulness of this driver is discussed, but
the conclusion is that scanner software has all moved to using ugen(4)
instead, and enabling this driver will not help you scan things.
 1.166 01-Mar-2021  jakllsch branches: 1.166.4;
add rge(4) to x86 ALL kernels
 1.165 13-Dec-2020  martin Add atppc* at acpi?
 1.164 27-Sep-2020  roy branches: 1.164.2;
vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.163 08-Sep-2020  yamaguchi Added iavf(4) that is based on OpenBSD's iavf(4) implementation

reviewed by msaitoh@n.o and knakahara@n.o
 1.162 26-Aug-2020  riastradh Clarify wg(4)'s relation to WireGuard, pending further discussion.

Still planning to replace wgconfig(8) and wg-keygen(8) by one wg(8)
tool compatible with wireguard-tools; update wg(4) for the minor
changes from the 2018-06-30 spec to the 2020-06-01 spec; &c. This just
clarifies the current state of affairs as it exists in the development
tree for now.

Mark the man page EXPERIMENTAL for extra clarity.
 1.161 20-Aug-2020  riastradh Add wg(4) to amd64/ALL.
 1.160 01-Aug-2020  jdolecek remove CISS_NO_INTERRUPT_HACK from ALL kernel config too, it's no longer
supported in ciss(4)
 1.159 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.158 26-Jul-2020  jdolecek Add driver for Intel XMM7360 LTE modem, based upon Linux driver available
at https://github.com/xmm7360/xmm7360-pci

This version works on Linux, OpenBSD, and NetBSD.

OpenBSD port written for genua GmbH

Modem requires python script from the master site to initialize the network,
it will be added to pkgsrc shortly
 1.157 19-Jul-2020  maxv Compile USER_LDT by default, but, put it behind a privileged sysctl that
defaults to disabled. To enable:

# sysctl -w machdep.user_ldt=1
 1.156 14-Jul-2020  yamaguchi Introduce per-cpu IDTs

This is realized by following modifications:
- Add IDT pages and its allocation maps for each cpu in "struct cpu_info"
- Load per-cpu IDTs at cpu_init_idt(struct cpu_info*)
- Copy the IDT entries for cpu0 to other CPUs at attach
- These are, for example, exceptions, db, system calls, etc.

And, added a kernel option named PCPU_IDT to enable the feature.
 1.155 29-Jun-2020  riastradh Make padlock(4) compile on amd64.
 1.154 24-Jun-2020  thorpej Add amdccp at pci.
 1.153 07-Jun-2020  maxv Add fault(4).
 1.152 30-May-2020  jdolecek add bwfm* at pci?, which is present in GENERIC
 1.151 25-May-2020  yamaguchi Obsolete VIOIF_SOFTINT_INTR

The kernel option is introduced to realize softint-based if_input.
Since the same scheme has been implemented in if_percpuq_enqueue(),
the option is no longer needed.

pointed out by ozaki-r@n.o.
 1.150 16-May-2020  maya Remove uyap, USB YAP phone firmware loader.

And the associated ezload EZ-USB code, which is only used by uyap.
It could theoretically be used by other drivers, but none of them are
in tree.

I suspect that this device isn't in use, as phone technology has improved
a lot since 2001 when uyap(4) was added to the tree.

Proposed with no objections on netbsd-users on 13 April 2020
 1.149 25-Apr-2020  simonb Add uxrcom.
 1.148 13-Apr-2020  jdolecek remove wd* at umass?, it was dropped
 1.147 25-Mar-2020  jdolecek branches: 1.147.2;
remove 'file-system SMBFS' and 'pseudo-device nsmb' from all kernel configs
to prepare for their eventual removal
 1.146 09-Feb-2020  jmcneill Retire azalia(4).
 1.145 08-Feb-2020  maxv Retire KLEAK.

KLEAK was a nice feature and served its purpose; it allowed us to detect
dozens of info leaks on the kernel->userland boundary, and thanks to it we
tackled a good part of the infoleak problem 1.5 years ago.

Nowadays however, we have kMSan, which can detect uninitialized memory in
the kernel. kMSan supersedes KLEAK: it can detect what KLEAK was able to
detect, but in addition, (1) it operates in all of the kernel and not just
the kernel->userland boundary, (2) it requires no user interaction, and (3)
it is deterministic and not statistical.

That makes kMSan the feature of choice to detect info leaks nowadays;
people interested in detecting info leaks should boot a kMSan kernel and
just wait for the magic to happen.

KLEAK was a good ride, and a fun project, but now is time for it to go.

Discussed with several people, including Thomas Barabosch.
 1.144 03-Feb-2020  maya Remove more urio(4) traces.

Pointed out by maxv, thanks.
 1.143 29-Jan-2020  maya remove urio(4), a driver for the Rio500 MP3 player.

At this point it is highly unlikely this 1999 device still has users,
but it still comes up in the context of maxv's USB-fuzzing (and any device
could pretend to be a urio(4)), so it's best to get rid of it.

Renamed all major entries to obsolete, as was done in previous removals.

This still requires an update to sanitizers, but they're located in
"external", perhaps it should be first committed upstream?

Proposed on tech-kern a month ago.
 1.142 25-Jan-2020  thorpej Retire "le* at pci?" from the shipped kernel configs:
- If the config had both an le@pci and a pcn, simply remove le@pci
(pcn would match at a higher priority anyway).
- If the config had le@pci enabled, but no pcn, change le@pci to pcn.
- If the config had le@pci commented out, but no pcn, change le@pci
to pcn and leave it commented out.

The pcn driver supports more chips than le@pci and does DMA directly
to/from mbufs rather than memory copies.
 1.141 20-Jan-2020  thorpej Remove FDDI support.
 1.140 19-Jan-2020  riastradh Remove filemon(4).

Discussed on tech-kern:
https://mail-index.NetBSD.org/tech-kern/2020/01/13/msg025938.html

This was never (intentionally) enabled by default, and the design has
some shortcomings. You can get mostly the same results with ktrace,
as in usr.bin/make/filemon/filemon_ktrace.c which is now used instead
of filemon for make's meta mode.

If applications require higher performance than ktrace, or nesting
that ktrace doesn't support, we might consider adding something back
into the vfs system calls themselves, without hijacking the syscall
table. (Might want a more reliable output format too, e.g. one that
can handle newlines in file names.)
 1.139 19-Jan-2020  thorpej Remove Token Ring support.
 1.138 19-Jan-2020  thorpej Remove HIPPI support and the esh(4) driver that uses it. There have not
been any users of HIPPI for some time, and it is unlikely to be resurrected.
 1.137 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.136 17-Jan-2020  maya Remove uyurex(4).

This is a driver for a "nonsense machine" made by the art group Maywa-Denki
in 2008. It was disabled by default.

Unfortunately even so it draws development attention (flaws found in the
code, MP-ification needs) and it is best not to continue to maintain this
driver.

Proposed without objections on tech-kern.
 1.135 01-Jan-2020  ryo branches: 1.135.2;
add aq(4)
 1.134 23-Dec-2019  maxv Revert the removal of filemon.
 1.133 18-Dec-2019  maxv Retire filemon, discussed on tech-kern@.
 1.132 15-Dec-2019  riastradh Add vhci to x86/ALL.
 1.131 10-Dec-2019  yamaguchi Ported driver for Intel Ethernet 700 series

reviewed by msaitoh and knakahara
 1.130 20-Nov-2019  hikaru Add opencrypto driver for Intel QuickAssist.
 1.129 10-Nov-2019  chs add ips driver.
 1.128 01-Nov-2019  msaitoh Port SMSC LAN87xx 10/100 Ethernet PHY driver from FreeBSD with some cleanup
and IFM_NONE support.
 1.127 30-Oct-2019  msaitoh Add jmphy(4) from OpenBSD.
 1.126 28-Oct-2019  ozaki-r Add vio9p to some kernel configs
 1.125 08-Oct-2019  maxv No I/O ports for TPM-ISA, only MMIO, so remove commented-out options.
 1.124 07-Oct-2019  msaitoh Add support IC Plus IP1000* PHYs. PR/kern 42314 first reported by
Tomokazu HARADA and patch provided by Andrius V.
 1.123 03-Oct-2019  tnn also add mcx(4) to ALL
 1.122 19-Aug-2019  ozaki-r Add MBUFTRACE to ALL configs
 1.121 09-Aug-2019  rin xhci(4) is considered stable enough. So, remove misleading comments.

XXX
pullup to netbsd-9
 1.120 24-Jul-2019  tnn branches: 1.120.2;
add ssdfb(4) to ALL
 1.119 07-May-2019  mrg obsolete moscom(4). it was never in any default configs, did
not work for some cases.

umcs(4) supports everything it does plus one additional chipset,
has been in default configurations since netbsd 7.
 1.118 26-Apr-2019  sevan Use veriexec.config to reduce duplication
 1.117 12-Apr-2019  msaitoh Add the following debug options:

AI_DEBUG
ATHN_DEBUG
ATU_DEBUG
AXEN_DEBUG
BGE_DEBUG
BNX_DEBUG
BWFM_DEBUG
CAS_DEBUG
CBB_DEBUG
CMALO_DEBUG
EF_DEBUG
IWN_DEBUG
IX_DEBUG
LII_DEBUG
MSK_DEBUG
OTUS_DEBUG
RUM_DEBUG
RUN_DEBUG
UMB_DEBUG
UPGT_DEBUG
URAL_DEBUG
URNDIS_DEBUG
URTW_DEBUG
URTWN_DEBUG
WPI_DEBUG
ZYD_DEBUG
 1.116 24-Feb-2019  kamil Enable kUBSan kASan and KCOV in NetBSD/amd64 kernel=ALL

Add disabled KLEAK as it conflicts right now with KCOV, using the same
compiler instrumentation.
 1.115 06-Feb-2019  rin Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 1.114 27-Jan-2019  maxv Remove the satlink driver. It was disabled everywhere, had no man page and
no use either. Spotted by thorpej in PR/21345, ok christos.
 1.113 29-Dec-2018  maxv Retire compat_ibcs2, as discussed on tech-kern@. FreeBSD did the same
recently.
 1.112 19-Dec-2018  maxv Remove compat_svr4 and compat_svr4_32, as discussed on tech-kern@ recently,
but also as discussed several times in the past.
 1.111 14-Dec-2018  jakllsch add cardbus malo(4) to x86 GENERIC and ALL kernels
 1.110 12-Dec-2018  maxv Remove references to "lmc" in the kernel configurations.
 1.109 09-Dec-2018  jdolecek remove 'NOT WORKING' for ena(4) - while it was not yet confirmed working
on x86, it already is confirmed working on aarm64 so chances are high
it will work for x86 too
 1.108 24-Nov-2018  bouyer Add mpii(4), a driver for LSI Megaraid Fusion controllers.
Ported from OpenBSD. This driver is MP-safe.
Note that the earlier fusion controllers (Megaraid 2208, codenamed Thunderbold)
are also supported by mfi(4). mpii will take precedence if both drivers
are enabled.
Tested on a
mfii0 at pci6 dev 0 function 0: "PERC H740P Adapter ", firmware 50.3.0-1512, 819
2MB cache
mfii0: interrupting at ioapic2 pin 2
scsibus0 at mfii0: 64 targets, 8 luns per target
scsibus0: waiting 2 seconds for devices to settle...
sd0 at scsibus0 target 0 lun 0: <DELL, PERC H740P Adp, 5.03> disk fixed
sd0: fabricating a geometry
sd0: 99 GB, 102399 cyl, 64 head, 32 sec, 512 bytes/sect x 209714688 sectors
sd0: tagged queueing
sd1 at scsibus0 target 1 lun 0: <DELL, PERC H740P Adp, 5.03> disk fixed
sd1: fabricating a geometry
sd1: 22254 GB, 22788608 cyl, 64 head, 32 sec, 512 bytes/sect x 46671069696 sectors
sd1: fabricating a geometry

It supports bioctl(8) ioctls, as well as sensors for the BBU and logical
drives.

Sponsored by LIP6.
 1.107 23-Sep-2018  maxv Remove ISDN from the kernel. It has remained unmaintained for a long time,
is of poor quality, and is now an obstacle to MP-ification. It was removed
ten years ago from FreeBSD for the same reason.

This retires a big user of the mbuf API, and will ease maintenance of the
kernel.
 1.106 22-Sep-2018  maxv Remove isic(4). It is part of ISDN, which we are now retiring.
 1.105 22-Sep-2018  maxv Remove iwic(4). It is part of ISDN, which we are now retiring. This driver
was still marked as experimental (its man page dates back to 2002).
 1.104 22-Sep-2018  maxv Remove the "ifritz" driver (no man page). It is part of ISDN, which we are
retiring.
 1.103 22-Sep-2018  maxv Remove ifpci(4). It is part of ISDN, which we are retiring.
 1.102 21-Sep-2018  maxv Remove iavc(4).
 1.101 06-Sep-2018  maxv Retire the 'midway' driver. Discussed on tech-net@ recently and also three
years ago, part of removing the network ATM code.
 1.100 27-Aug-2018  riastradh Add amdgpu to amd64/ALL.
 1.99 25-Aug-2018  rin Add (commented out) mue(4) to where appropriate.
Also add MII/PHY drivers for USB NICs if missing.
 1.98 25-Aug-2018  maxv Retire NDIS. It appears that it has never worked, after 13 years it was
still marked as "experimental", and nowadays it may be one more obstacle
to MPification of the network stack.

Discussed on tech-net@.
 1.97 14-Aug-2018  maxv Replace references to etherip by l2tp. Etherip was already not enabled
anyway.
 1.96 01-Aug-2018  khorben Build the umb(4) driver in the ALL kernels (amd64, i386)

As suggested by Robert Swindells; thank you!
 1.95 26-Jul-2018  maxv Retire XENDEBUG_LOW, and switch its only user to XENDEBUG.
 1.94 13-Jul-2018  maxv Remove the X86PMC code I had written, replaced by tprof. Many defines
become unused in specialreg.h, so remove them. We don't want to add
defines all the time, there are countless PMCs on many generations, and
it's better to just inline the event/unit values.
 1.93 12-Jul-2018  maya Add entries for viadrmums to amd64 kernel configs too.

Commented out for GENERIC, same as i386.
 1.92 10-Jul-2018  maya Remove unused macro.
 1.91 10-Jul-2018  maya Remove viadrm(4), superseded by viadrmums.

Aside from viadrm using older drm code, it's also dysfunctional right now.
See PR port-i386/53364.
 1.90 16-Jun-2018  jdolecek branches: 1.90.2;
uncomment ena(4) now that it compiles; even though it's not working yet, this
ensures it's included in eventual subsystem rototils
 1.89 07-Jun-2018  thorpej Revert changes that pinned-down i2c parent specs. The i2c subsystem
has been enhanced to make this unnecessary.
 1.88 19-May-2018  jdolecek add config glue for ena(4)
 1.87 15-May-2018  thorpej Fully specifiy the location of indirectly-configured I2C devices. In
particular, the parent spec must not be wild-carded, as doing so doesn't
work well on systems where more than one I2C bus is present.

N.B. The x86 platforms are sort of a mess, here... legacy indirect
config and ACPI direct config sort of smashed together with the
same config file directives.
 1.86 01-May-2018  maya Fix ALL configs following MPVERBOSE becoming a defparam

XXX i386 ALL kernel build is failing
 1.85 08-Apr-2018  mrg turn on GCC spectre v2 mitigation options.

XXX: amd64 ALL doesn't build for me right now
 1.84 29-Mar-2018  maxv Remove TCPREASS_DEBUG. It was introduced 20 years ago when the reassembler
was being developed, but it's irrelevant today. Makes the code clearer.
 1.83 16-Mar-2018  maxv Remove ipkdb from i386. Also remove unused references in amd64.

I already talked about doing that six months ago on port-i386@. Back then
it was as general cleanup, but now, with SVS etc, we do actually have
good reasons for simplifying the entry points.

Ok kamil@. (christos@ was in the conversation too)
 1.82 25-Feb-2018  pgoyette branches: 1.82.2;
As requested by chuq@, add the new imc devices to the i386 and amd64
ALL kernels.
 1.81 12-Feb-2018  joerg Add a new option CISS_NO_INTERRUPT_HACK for driving ciss(4) by callouts.
This is intended as workaround for certain Xen issues with dom0 kernels
and will likely want to have a high HZ value as well for decent
performance.
 1.80 27-Jan-2018  pgoyette Update amdzentemp(4) attachment info. Also for ALL, remove duplicate
entry for amdtemp(4).
 1.79 25-Jan-2018  christos add amdzentemp
 1.78 13-Jan-2018  christos added commented out AUTOFS pseudo-device entries
 1.77 10-Jan-2018  knakahara add ipsec(4) interface to amd64/GENERIC and amd64/ALL configs.
 1.76 09-Jan-2018  christos Merge autofs support from: Tomohiro Kusumi
XXX: Does not work yet
 1.75 10-Dec-2017  bouyer Add dwiic, ihidev and ims
 1.74 02-Dec-2017  maxv Drop COMPAT_10 on amd64. The support for it comes down to one ifdef in
trap.c - code that is incorrect anyway, there were originally three lcall
LDT slots, and here only one instruction is decoded.

Given that one of these slots was used by BSDi's syscall, also remove the
references to COMPAT_NOMID to make clear we don't support that (it already
is not enabled).

Note: for some reason, COMPAT_10 does not even compile, because there are
"multiple definitions of _KERNEL_OPT_COMPAT_...", and I don't really
understand where this comes from.
 1.73 02-Dec-2017  maxv Remove options that do not exist on amd64.
 1.72 25-Nov-2017  jmcneill Add qemufwcfg (QEMU Firmware Configuration device)
 1.71 14-Sep-2017  mrg clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.70 13-Sep-2017  sevan Remove support for VERIFIED_EXEC_FP_RMD160, VERIFIED_EXEC_FP_SHA1, and VERIFIED_EXEC_FP_MD5 options.
These algorithms are either broken or on their way to being broken.

Discussed on tech-security
http://mail-index.netbsd.org/tech-security/2017/08/21/msg000936.html

ok riastradh
 1.69 03-Sep-2017  maxv Remove useless debug code, and split trap() into smaller functions, easier
to understand. NMIs take another, faster path now. No functional change
beyond that.
 1.68 30-Aug-2017  maxv Don't allow userland to create 286/386 call gates anymore - they are not
used by Wine. While here, don't allow it to overwrite the static entries
either, don't allow unknown entry types, remove LDT_DEBUG, and style.
 1.67 13-Aug-2017  christos Add ALPS pms support
 1.66 12-Aug-2017  maxv Remove support for vm86 on i386. It is bug-friendly, and there is no point
in having kernel support for this: the instruction set of the CPU is small,
and it can easily be emulated in userland entirely. There are also several
assumptions in the code that are not respected, and the slightest confusion
in the trap frame can lead to ring0 exploits.

vm86 has received zero maintenance. As far as I can tell, it was added
20 years ago in order to make doscmd work. But doscmd has not been
maintained either, and was removed from pkgsrc in 2011. dosbox can be used
instead: it does not require kernel support, and will produce better
results than our flimsy implementation.

Pass 1. (many pieces still in the tree)
 1.65 09-Aug-2017  maxv Remove references to compat_ibcs2.
 1.64 29-Jul-2017  maxv Remove DEBUG_HPUX (does not exist).
 1.63 29-Jul-2017  maxv Remove IBCS2_DEBUG (does not exist).
 1.62 28-Jul-2017  maxv Remove TCP_COMPAT_42 from the config files. Pass 1.
 1.61 28-Jul-2017  riastradh Add some more bogus compat options to amd64/ALL for compile-testing.
 1.60 14-Jun-2017  pgoyette Add wsbell
 1.59 27-May-2017  bouyer branches: 1.59.2;
Add options CAN and pseudo-device canloop to ALL kernel configs.
Add the same commented out to i386/amd64 GENERIC and OLIMEXLIME2 (A20-based).
Also add commented out awincan0 in OLIMEXLIME2.
 1.58 25-May-2017  para follow u3ginit driver rename to umodeswitch
 1.57 26-Apr-2017  christos Catch up with GENERIC changes.
 1.56 18-Apr-2017  riastradh branches: 1.56.2;
gson@ informs me the Alea I and II have the same USB product id.

Thus, ualea(4) should work for both of them. Rename USB product id
ARANEUS ALEA_II to ARANEUS ALEA to reflect this.

No functional change intended, except perhaps via usbdevs.
 1.55 17-Apr-2017  riastradh New rndsource driver for Araneus Alea II TRNG USB devices.

Disabled by default in x86/GENERIC and usbdevices.config pending
review and testing without rump ugenhc in the way, but enabled in
x86/ALL for compile-testing.

(Hi gson! Finally found a round tuit in my pocket, next to a certain
rectangular one.)
 1.54 08-Mar-2017  maxv A few changes:
* Use markers to reduce false sharing.
* Remove XENDEBUG_SYNC and several debug messages, they are just useless.
* Remove xen_vcpu_*. They are unused and not optimized: if we really
wanted to flush ranges we should pack the VAs in a mmuext_op array
instead of performing several hypercalls in a loop.
* Start removing PG_k.
* KNF, reorder, simplify and remove stupid comments.
 1.53 26-Feb-2017  rin Add DKWEDGE_METHOD_RDB option, which is enabled for x86, commented out for
other platforms by default.
 1.52 19-Feb-2017  rin PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.51 18-Feb-2017  maxv PERFCTRS -> PMC (not implemented anyway)
 1.50 16-Feb-2017  knakahara add l2tp(4) to amd64/GENERIC and amd64/ALL config.
 1.49 12-Jan-2017  ryo branches: 1.49.2;
white space police
 1.48 27-Dec-2016  pgoyette Add BIOHIST (and belatedly, UVMHIST) to the ALL kernels for i386 and amd64.

XXX Perhaps it should be added to others as well? Perhaps just as comments?
 1.47 23-Dec-2016  maya add SCTP_DEBUG to ALL kernels
 1.46 18-Dec-2016  dholland Whitespace.
 1.45 15-Dec-2016  ozaki-r Add SCTP to ALL configs to keep it buildable anyway
 1.44 13-Dec-2016  christos wildcard speaker attachments, now that we can handle many of them.
 1.43 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.42 09-Dec-2016  christos kill PCPPISPEAKER
 1.41 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.40 26-Nov-2016  christos mention PAX_SEGVGUARD dependency on FILEASSOC
 1.39 11-Oct-2016  ozaki-r Add IFA_STATS to ALLs
 1.38 07-Aug-2016  christos rename ifmpls to mpls, so we don't have if_ifmpls...
 1.37 27-Jul-2016  msaitoh Add sdtemp(4)
 1.36 11-Jul-2016  msaitoh branches: 1.36.2;
Add gpioiic into amd64/conf/ALL
 1.35 08-May-2016  skrll More options
 1.34 01-May-2016  nonaka Added nvme(4) for Non-Volatile Memory Host Controller Interface devices.
Ported from OpenBSD.
 1.33 10-Nov-2015  tnn Add "pseudo-device iscsi" to ALL and as a commented out hint in XEN3_*
 1.32 25-Oct-2015  khorben Remove references to SPLASHSCREEN_PROGRESS

To my knowledge this feature is no longer supported at the moment. The
manual page for wsdisplay(4) should probably also be updated to reflect
this situation.
 1.31 26-Sep-2015  maxv Disable PAX_SEGVGUARD.

We actually have a big problem: the fileassocs are never deleted.
Therefore, if a user generates a lot of buggy binaries and launches them
all, the kernel will allocate memory again again and again for all these
entries and will never free them (unless the files are deleted from the
disk). Which means that a user can too easily put the kernel under memory
pressure.
 1.30 08-Aug-2015  maxv Remove KMEMSTATS.
 1.29 03-May-2015  pgoyette Update to include the tco driver (it was previously included as part of
ichlpcib).
 1.28 28-Apr-2015  rjs Add DCCP.
 1.27 06-Mar-2015  riastradh Fix tabbing of drm lines.
 1.26 06-Mar-2015  riastradh Fix commented nouveau in amd64/GENERIC. Add nouveau to amd64/ALL.

Remove NV_DEBUG from amd64/ALL -- it breaks nouveau, and I can't find
any use of it in src/sys outside arch/atari/dev/nvram.c, which surely
has no relevance to amd64.

(Nouveau has an internal NV_DEBUG(...) macro for debug messages.)
 1.25 13-Feb-2015  nonaka iwm(4) works now, but 2.4GHz only.

> iwm0 at pci2 dev 0 function 0: Intel Dual Band Wireless AC 3160 (rev. 0x83)
> iwm0: interrupting at ioapic0 pin 18
> iwm0: hw rev: 0x160, fw ver 25.228 (API ver 9), address XX:XX:XX:XX:XX:XX
> iwm0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
> iwm0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
 1.24 19-Dec-2014  ozaki-r Add SOFTINT_INTR to ALL
 1.23 16-Nov-2014  manu branches: 1.23.2;
Remove unused extended attributes kernel options

As Masao Uebayashi pointed to me, UFS_EXTATTR_AUTOSTART, LFS_EXTATTR_AUTOSTART
and UFS_EXTATTR_AUTOCREATE are not used anywhere in the code. Remove them
as they have been obsolete for a long time:
UFS_EXTATTR_AUTOSTART was replaced by mount -o extattr
LFS_EXTATTR_AUTOSTART was created to match obsolete UFS_EXTATTR_AUTOSTART
UFS_EXTATTR_AUTOCREATE was replaced by sysctl vfs.ffs.extattr_autocreate
 1.22 02-Nov-2014  christos propagate drm changes
 1.21 18-Oct-2014  uebayasi Install agp_* drivers where pchb(4) is installed except INSTALL_FLOPPY.

XXX
Config around agp(4) is done in quite wrong direction.
"pchb <- (agpbus) <- agp <- agp_*"
should be:
"pchb <- (pcibus) <- agp_* <- (agpbus) <- agp"
 1.20 19-Sep-2014  christos Add HDAUDIOVERBOSE
 1.19 19-Sep-2014  christos Disable BSDLABEL and MBR DKWEDGE methods again since sysinst does not work
with wedges.
 1.18 24-Aug-2014  jnemeth Create an "options MODULAR_DEFAULT_AUTOLOAD" config option and add
it to all kernel configs that contain "options MODULAR". This
option turns on module autoloading by default (which is the current
default). This allows people who don't want module autoloading on
by default to disable it by simply removing/commentting this line.
 1.17 23-Aug-2014  dholland Add options COMPAT_44, which controls mostly MD code but should be in
here anyway.
 1.16 23-Aug-2014  dholland Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.15 18-Aug-2014  christos branches: 1.15.2;
- Enable Wedge support for MBR/BSDLABEL where it was commented out.
- Add apple partition support where it was missing
- Add comments where missing
 1.14 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.13 25-Jul-2014  dholland branches: 1.13.2;
Fix description of DIAGNOSTIC in x86 kernels.
 1.12 02-Jul-2014  ozaki-r Add NET_MPSAFE to ALL
 1.11 29-Jun-2014  tsutsui Add gffb(4) at pci.
 1.10 24-Jun-2014  maxv Remove dead code. The kernel already checks for PT_INTERP sections, and puts
their content into "itp". There's no need for re-reading the whole binary and
trying to find this section again. Just use "itp".

DEBUG_FREEBSD_ELF is now unused, so remove its references in amd64/conf/ALL
and i386/conf/ALL.
 1.9 10-Jun-2014  hikaru Add VMware VMXNET3 ethernet driver from OpenBSD, vmx(4).
 1.8 02-Jun-2014  dholland add MPVERBOSE, noted missing in PR 48733.
 1.7 25-Apr-2014  riastradh branches: 1.7.2; 1.7.4;
Add applesmc(4) to {i386,amd64}/ALL.
 1.6 21-Apr-2014  chs add malo at pcmcia.
 1.5 08-Apr-2014  riastradh Remove FFS_NO_SNAPSHOT from x86/ALL so we do compile the snapshot code.
 1.4 08-Apr-2014  riastradh Add COMPAT_NETBSD32 and COMPAT_LINUX32 to amd64/ALL.
 1.3 08-Apr-2014  christos add ixg
 1.2 24-Mar-2014  szptvlfn branches: 1.2.2;
fix manual section numbering of sysctl.
thanks wiz@
 1.1 20-Mar-2014  christos First attempt at an ALL kernel based on the i386 one
 1.2.2.1 10-Aug-2014  tls Rebase.
 1.7.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.7.4.1 25-Apr-2014  yamt file ALL was added on branch yamt-pagecache on 2014-05-22 11:39:28 +0000
 1.7.2.2 18-May-2014  rmind sync with head
 1.7.2.1 25-Apr-2014  rmind file ALL was added on branch rmind-smpnet on 2014-05-18 17:44:54 +0000
 1.13.2.5 05-Apr-2017  snj Pull up following revision(s) (requested by skrll in ticket #1395):
share/man/man4/axe.4: netbsd-7-nhusb
share/man/man4/axen.4: netbsd-7-nhusb
share/man/man4/cdce.4: netbsd-7-nhusb
share/man/man4/uaudio.4: netbsd-7-nhusb
share/man/man4/ucom.4: netbsd-7-nhusb
share/man/man4/uep.4: netbsd-7-nhusb
share/man/man4/urtw.4: netbsd-7-nhusb
share/man/man4/usb.4: netbsd-7-nhusb
share/man/man4/uyap.4: netbsd-7-nhusb
share/man/man4/xhci.4: netbsd-7-nhusb
share/man/man9/usbdi.9: netbsd-7-nhusb
sys/arch/amd64/conf/ALL: netbsd-7-nhusb
sys/arch/amd64/conf/GENERIC: netbsd-7-nhusb
sys/arch/amiga/dev/slhci_zbus.c: netbsd-7-nhusb
sys/arch/arm/allwinner/awin_otg.c: netbsd-7-nhusb
sys/arch/arm/allwinner/awin_usb.c: netbsd-7-nhusb
sys/arch/arm/amlogic/amlogic_dwctwo.c: netbsd-7-nhusb
sys/arch/arm/at91/at91ohci.c: netbsd-7-nhusb
sys/arch/arm/broadcom/bcm2835_dwctwo.c: netbsd-7-nhusb
sys/arch/arm/broadcom/bcm53xx_usb.c: netbsd-7-nhusb
sys/arch/arm/ep93xx/epohci.c: netbsd-7-nhusb
sys/arch/arm/gemini/obio_ehci.c: netbsd-7-nhusb
sys/arch/arm/imx/files.imx23: netbsd-7-nhusb
sys/arch/arm/imx/imxusb.c: netbsd-7-nhusb
sys/arch/arm/imx/imxusbreg.h: netbsd-7-nhusb
sys/arch/arm/omap/obio_ohci.c: netbsd-7-nhusb
sys/arch/arm/omap/omap3_ehci.c: netbsd-7-nhusb
sys/arch/arm/omap/omapl1x_ohci.c: netbsd-7-nhusb
sys/arch/arm/omap/tiotg.c: netbsd-7-nhusb
sys/arch/arm/s3c2xx0/ohci_s3c24x0.c: netbsd-7-nhusb
sys/arch/arm/samsung/exynos_usb.c: netbsd-7-nhusb
sys/arch/arm/xscale/pxa2x0_ohci.c: netbsd-7-nhusb
sys/arch/arm/zynq/zynq_usb.c: netbsd-7-nhusb
sys/arch/hpcarm/dev/nbp_slhci.c: netbsd-7-nhusb
sys/arch/hpcmips/dev/plumohci.c: netbsd-7-nhusb
sys/arch/i386/conf/ALL: netbsd-7-nhusb
sys/arch/i386/conf/GENERIC: netbsd-7-nhusb
sys/arch/i386/pci/gcscehci.c: netbsd-7-nhusb
sys/arch/luna68k/conf/GENERIC: netbsd-7-nhusb
sys/arch/mips/adm5120/dev/ahci.c: netbsd-7-nhusb
sys/arch/mips/adm5120/dev/ahcivar.h: netbsd-7-nhusb
sys/arch/mips/alchemy/dev/ohci_aubus.c: netbsd-7-nhusb
sys/arch/mips/atheros/dev/ehci_arbus.c: netbsd-7-nhusb
sys/arch/mips/atheros/dev/ohci_arbus.c: netbsd-7-nhusb
sys/arch/mips/conf/files.adm5120: netbsd-7-nhusb
sys/arch/mips/ralink/ralink_ehci.c: netbsd-7-nhusb
sys/arch/mips/ralink/ralink_ohci.c: netbsd-7-nhusb
sys/arch/mips/rmi/rmixl_ehci.c: netbsd-7-nhusb
sys/arch/mips/rmi/rmixl_ohci.c: netbsd-7-nhusb
sys/arch/playstation2/dev/ohci_sbus.c: netbsd-7-nhusb
sys/arch/powerpc/booke/dev/pq3ehci.c: netbsd-7-nhusb
sys/arch/powerpc/ibm4xx/dev/dwctwo_plb.c: netbsd-7-nhusb
sys/arch/x68k/dev/slhci_intio.c: netbsd-7-nhusb
sys/conf/files: netbsd-7-nhusb
sys/dev/cardbus/ehci_cardbus.c: netbsd-7-nhusb
sys/dev/cardbus/ohci_cardbus.c: netbsd-7-nhusb
sys/dev/cardbus/uhci_cardbus.c: netbsd-7-nhusb
sys/dev/ic/sl811hs.c: netbsd-7-nhusb
sys/dev/ic/sl811hsvar.h: netbsd-7-nhusb
sys/dev/isa/slhci_isa.c: netbsd-7-nhusb
sys/dev/marvell/ehci_mv.c: netbsd-7-nhusb
sys/dev/pci/ehci_pci.c: netbsd-7-nhusb
sys/dev/pci/ohci_pci.c: netbsd-7-nhusb
sys/dev/pci/uhci_pci.c: netbsd-7-nhusb
sys/dev/pci/xhci_pci.c: netbsd-7-nhusb
sys/dev/pcmcia/slhci_pcmcia.c: netbsd-7-nhusb
sys/dev/usb/Makefile.usbdevs: netbsd-7-nhusb
sys/dev/usb/TODO: netbsd-7-nhusb
sys/dev/usb/TODO.usbmp: netbsd-7-nhusb
sys/dev/usb/aubtfwl.c: netbsd-7-nhusb
sys/dev/usb/auvitek.c: netbsd-7-nhusb
sys/dev/usb/auvitek_audio.c: netbsd-7-nhusb
sys/dev/usb/auvitek_dtv.c: netbsd-7-nhusb
sys/dev/usb/auvitek_i2c.c: netbsd-7-nhusb
sys/dev/usb/auvitek_video.c: netbsd-7-nhusb
sys/dev/usb/auvitekvar.h: netbsd-7-nhusb
sys/dev/usb/ehci.c: netbsd-7-nhusb
sys/dev/usb/ehcireg.h: netbsd-7-nhusb
sys/dev/usb/ehcivar.h: netbsd-7-nhusb
sys/dev/usb/emdtv.c: netbsd-7-nhusb
sys/dev/usb/emdtv_dtv.c: netbsd-7-nhusb
sys/dev/usb/emdtv_ir.c: netbsd-7-nhusb
sys/dev/usb/emdtvvar.h: netbsd-7-nhusb
sys/dev/usb/ezload.c: netbsd-7-nhusb
sys/dev/usb/ezload.h: netbsd-7-nhusb
sys/dev/usb/files.usb: netbsd-7-nhusb
sys/dev/usb/hid.c: netbsd-7-nhusb
sys/dev/usb/hid.h: netbsd-7-nhusb
sys/dev/usb/if_athn_usb.c: netbsd-7-nhusb
sys/dev/usb/if_athn_usb.h: netbsd-7-nhusb
sys/dev/usb/if_atu.c: netbsd-7-nhusb
sys/dev/usb/if_atureg.h: netbsd-7-nhusb
sys/dev/usb/if_aue.c: netbsd-7-nhusb
sys/dev/usb/if_auereg.h: netbsd-7-nhusb
sys/dev/usb/if_axe.c: netbsd-7-nhusb
sys/dev/usb/if_axen.c: netbsd-7-nhusb
sys/dev/usb/if_axenreg.h: netbsd-7-nhusb
sys/dev/usb/if_axereg.h: netbsd-7-nhusb
sys/dev/usb/if_cdce.c: netbsd-7-nhusb
sys/dev/usb/if_cdcereg.h: netbsd-7-nhusb
sys/dev/usb/if_cue.c: netbsd-7-nhusb
sys/dev/usb/if_cuereg.h: netbsd-7-nhusb
sys/dev/usb/if_kue.c: netbsd-7-nhusb
sys/dev/usb/if_kuereg.h: netbsd-7-nhusb
sys/dev/usb/if_otus.c: netbsd-7-nhusb
sys/dev/usb/if_otusvar.h: netbsd-7-nhusb
sys/dev/usb/if_rum.c: netbsd-7-nhusb
sys/dev/usb/if_rumreg.h: netbsd-7-nhusb
sys/dev/usb/if_rumvar.h: netbsd-7-nhusb
sys/dev/usb/if_run.c: netbsd-7-nhusb
sys/dev/usb/if_runvar.h: netbsd-7-nhusb
sys/dev/usb/if_smsc.c: netbsd-7-nhusb
sys/dev/usb/if_smscreg.h: netbsd-7-nhusb
sys/dev/usb/if_smscvar.h: netbsd-7-nhusb
sys/dev/usb/if_udav.c: netbsd-7-nhusb
sys/dev/usb/if_udavreg.h: netbsd-7-nhusb
sys/dev/usb/if_upgt.c: netbsd-7-nhusb
sys/dev/usb/if_upgtvar.h: netbsd-7-nhusb
sys/dev/usb/if_upl.c: netbsd-7-nhusb
sys/dev/usb/if_ural.c: netbsd-7-nhusb
sys/dev/usb/if_uralreg.h: netbsd-7-nhusb
sys/dev/usb/if_uralvar.h: netbsd-7-nhusb
sys/dev/usb/if_url.c: netbsd-7-nhusb
sys/dev/usb/if_urlreg.h: netbsd-7-nhusb
sys/dev/usb/if_urndis.c: netbsd-7-nhusb
sys/dev/usb/if_urndisreg.h: netbsd-7-nhusb
sys/dev/usb/if_urtw.c: netbsd-7-nhusb
sys/dev/usb/if_urtwn.c: netbsd-7-nhusb
sys/dev/usb/if_urtwn_data.h: netbsd-7-nhusb
sys/dev/usb/if_urtwnreg.h: netbsd-7-nhusb
sys/dev/usb/if_urtwnvar.h: netbsd-7-nhusb
sys/dev/usb/if_urtwreg.h: netbsd-7-nhusb
sys/dev/usb/if_zyd.c: netbsd-7-nhusb
sys/dev/usb/if_zydreg.h: netbsd-7-nhusb
sys/dev/usb/irmce.c: netbsd-7-nhusb
sys/dev/usb/moscom.c: netbsd-7-nhusb
sys/dev/usb/motg.c: netbsd-7-nhusb
sys/dev/usb/motgvar.h: netbsd-7-nhusb
sys/dev/usb/ohci.c: netbsd-7-nhusb
sys/dev/usb/ohcireg.h: netbsd-7-nhusb
sys/dev/usb/ohcivar.h: netbsd-7-nhusb
sys/dev/usb/pseye.c: netbsd-7-nhusb
sys/dev/usb/slurm.c: netbsd-7-nhusb
sys/dev/usb/stuirda.c: netbsd-7-nhusb
sys/dev/usb/u3g.c: netbsd-7-nhusb
sys/dev/usb/uark.c: netbsd-7-nhusb
sys/dev/usb/uatp.c: netbsd-7-nhusb
sys/dev/usb/uaudio.c: netbsd-7-nhusb
sys/dev/usb/uberry.c: netbsd-7-nhusb
sys/dev/usb/ubsa.c: netbsd-7-nhusb
sys/dev/usb/ubsa_common.c: netbsd-7-nhusb
sys/dev/usb/ubsavar.h: netbsd-7-nhusb
sys/dev/usb/ubt.c: netbsd-7-nhusb
sys/dev/usb/uchcom.c: netbsd-7-nhusb
sys/dev/usb/ucom.c: netbsd-7-nhusb
sys/dev/usb/ucomvar.h: netbsd-7-nhusb
sys/dev/usb/ucycom.c: netbsd-7-nhusb
sys/dev/usb/udl.c: netbsd-7-nhusb
sys/dev/usb/udl.h: netbsd-7-nhusb
sys/dev/usb/udsbr.c: netbsd-7-nhusb
sys/dev/usb/udsir.c: netbsd-7-nhusb
sys/dev/usb/uep.c: netbsd-7-nhusb
sys/dev/usb/uftdi.c: netbsd-7-nhusb
sys/dev/usb/uftdireg.h: netbsd-7-nhusb
sys/dev/usb/ugen.c: netbsd-7-nhusb
sys/dev/usb/ugensa.c: netbsd-7-nhusb
sys/dev/usb/uhci.c: netbsd-7-nhusb
sys/dev/usb/uhcireg.h: netbsd-7-nhusb
sys/dev/usb/uhcivar.h: netbsd-7-nhusb
sys/dev/usb/uhid.c: netbsd-7-nhusb
sys/dev/usb/uhidev.c: netbsd-7-nhusb
sys/dev/usb/uhidev.h: netbsd-7-nhusb
sys/dev/usb/uhmodem.c: netbsd-7-nhusb
sys/dev/usb/uhso.c: netbsd-7-nhusb
sys/dev/usb/uhub.c: netbsd-7-nhusb
sys/dev/usb/uipad.c: netbsd-7-nhusb
sys/dev/usb/uipaq.c: netbsd-7-nhusb
sys/dev/usb/uirda.c: netbsd-7-nhusb
sys/dev/usb/uirdavar.h: netbsd-7-nhusb
sys/dev/usb/ukbd.c: netbsd-7-nhusb
sys/dev/usb/ukbdmap.c: netbsd-7-nhusb
sys/dev/usb/ukyopon.c: netbsd-7-nhusb
sys/dev/usb/ukyopon.h: netbsd-7-nhusb
sys/dev/usb/ulpt.c: netbsd-7-nhusb
sys/dev/usb/umass.c: netbsd-7-nhusb
sys/dev/usb/umass_isdata.c: netbsd-7-nhusb
sys/dev/usb/umass_isdata.h: netbsd-7-nhusb
sys/dev/usb/umass_quirks.c: netbsd-7-nhusb
sys/dev/usb/umass_quirks.h: netbsd-7-nhusb
sys/dev/usb/umass_scsipi.c: netbsd-7-nhusb
sys/dev/usb/umass_scsipi.h: netbsd-7-nhusb
sys/dev/usb/umassvar.h: netbsd-7-nhusb
sys/dev/usb/umcs.c: netbsd-7-nhusb
sys/dev/usb/umct.c: netbsd-7-nhusb
sys/dev/usb/umidi.c: netbsd-7-nhusb
sys/dev/usb/umidi_quirks.c: netbsd-7-nhusb
sys/dev/usb/umidi_quirks.h: netbsd-7-nhusb
sys/dev/usb/umodem.c: netbsd-7-nhusb
sys/dev/usb/umodem_common.c: netbsd-7-nhusb
sys/dev/usb/umodemvar.h: netbsd-7-nhusb
sys/dev/usb/ums.c: netbsd-7-nhusb
sys/dev/usb/uplcom.c: netbsd-7-nhusb
sys/dev/usb/urio.c: netbsd-7-nhusb
sys/dev/usb/urio.h: netbsd-7-nhusb
sys/dev/usb/usb.c: netbsd-7-nhusb
sys/dev/usb/usb.h: netbsd-7-nhusb
sys/dev/usb/usb_mem.c: netbsd-7-nhusb
sys/dev/usb/usb_mem.h: netbsd-7-nhusb
sys/dev/usb/usb_quirks.c: netbsd-7-nhusb
sys/dev/usb/usb_quirks.h: netbsd-7-nhusb
sys/dev/usb/usb_subr.c: netbsd-7-nhusb
sys/dev/usb/usbdevices.config: netbsd-7-nhusb
sys/dev/usb/usbdevs: netbsd-7-nhusb
sys/dev/usb/usbdevs.h: netbsd-7-nhusb
sys/dev/usb/usbdevs_data.h: netbsd-7-nhusb
sys/dev/usb/usbdi.c: netbsd-7-nhusb
sys/dev/usb/usbdi.h: netbsd-7-nhusb
sys/dev/usb/usbdi_util.c: netbsd-7-nhusb
sys/dev/usb/usbdi_util.h: netbsd-7-nhusb
sys/dev/usb/usbdivar.h: netbsd-7-nhusb
sys/dev/usb/usbhid.h: netbsd-7-nhusb
sys/dev/usb/usbhist.h: netbsd-7-nhusb
sys/dev/usb/usbroothub.c: netbsd-7-nhusb
sys/dev/usb/usbroothub.h: netbsd-7-nhusb
sys/dev/usb/usbroothub_subr.c: delete
sys/dev/usb/usbroothub_subr.h: delete
sys/dev/usb/uscanner.c: netbsd-7-nhusb
sys/dev/usb/uslsa.c: netbsd-7-nhusb
sys/dev/usb/usscanner.c: netbsd-7-nhusb
sys/dev/usb/ustir.c: netbsd-7-nhusb
sys/dev/usb/uthum.c: netbsd-7-nhusb
sys/dev/usb/utoppy.c: netbsd-7-nhusb
sys/dev/usb/uts.c: netbsd-7-nhusb
sys/dev/usb/uvideo.c: netbsd-7-nhusb
sys/dev/usb/uvisor.c: netbsd-7-nhusb
sys/dev/usb/uvscom.c: netbsd-7-nhusb
sys/dev/usb/uyap.c: netbsd-7-nhusb
sys/dev/usb/uyap_firmware.h: netbsd-7-nhusb
sys/dev/usb/uyurex.c: netbsd-7-nhusb
sys/dev/usb/x1input_rdesc.h: netbsd-7-nhusb
sys/dev/usb/xhci.c: netbsd-7-nhusb
sys/dev/usb/xhcireg.h: netbsd-7-nhusb
sys/dev/usb/xhcivar.h: netbsd-7-nhusb
sys/dev/usb/xinput_rdesc.h: netbsd-7-nhusb
sys/external/bsd/common/conf/files.linux: netbsd-7-nhusb
sys/external/bsd/common/include/linux/err.h: netbsd-7-nhusb
sys/external/bsd/common/include/linux/kernel.h: netbsd-7-nhusb
sys/external/bsd/common/include/linux/workqueue.h: netbsd-7-nhusb
sys/external/bsd/common/linux/linux_work.c: netbsd-7-nhusb
sys/external/bsd/drm2/dist/drm/radeon/atombios_encoders.c: netbsd-7-nhusb
sys/external/bsd/drm2/dist/drm/radeon/radeon_legacy_encoders.c: netbsd-7-nhusb
sys/external/bsd/drm2/drm/files.drmkms: netbsd-7-nhusb
sys/external/bsd/drm2/i915drm/files.i915drmkms: netbsd-7-nhusb
sys/external/bsd/drm2/include/linux/err.h: delete
sys/external/bsd/drm2/include/linux/workqueue.h: delete
sys/external/bsd/drm2/linux/files.drmkms_linux: netbsd-7-nhusb
sys/external/bsd/drm2/linux/linux_work.c: delete
sys/external/bsd/dwc2/dwc2.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dwc2.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dwc2var.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dwctwo2netbsd: netbsd-7-nhusb
sys/external/bsd/dwc2/conf/files.dwc2: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_core.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_core.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_coreintr.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcd.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcd.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcdddma.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcdintr.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcdqueue.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hw.h: netbsd-7-nhusb
sys/modules/drmkms_linux/Makefile: netbsd-7-nhusb
sys/modules/i915drmkms/Makefile: netbsd-7-nhusb
sys/rump/dev/lib/libugenhc/ugenhc.c: netbsd-7-nhusb
sys/rump/dev/lib/libusb/Makefile: netbsd-7-nhusb
sys/rump/dev/lib/libusb/USB.ioconf: netbsd-7-nhusb
sys/rump/dev/lib/libusb/usb_at_ugenhc.c: delete
sys/rump/dev/lib/libusb/opt/opt_usb.h: delete
sys/rump/dev/lib/libusb/opt/opt_usbverbose.h: delete
sys/sys/mbuf.h: netbsd-7-nhusb
usr.sbin/usbdevs/usbdevs.8: netbsd-7-nhusb
usr.sbin/usbdevs/usbdevs.c: netbsd-7-nhusb
Merge netbsd-7-nhusb:
- API / infrastructure changes to support memory management changes.
- Memory management improvements and bug fixes.
- HCDs should now be MP safe
- conversion to KERNHIST based debug
- FS/LS isoc support on ehci(4).
- conversion to kmem(9)
- Some USB 3 support - mostly from Takahiro HAYASHI (t-hash).
- interrupt transfers now get proper DMA operations
- general bug fixes
- kern/48308
- uhub status notification improvements
- umass(4) probe fix (applied to HEAD already)
- ohci(4) short transfer fix
- Change the SOFTINT level from NET to SERIAL for the USB softint handler.
This gives the callback a chance of running when another softint handler
at SOFTINT_NET has blocked holding a lock, e.g. softnet_lock and most of
the network stack.
- kern/49065 - ifconfig tun0 ... sequence locks up system / lockup:
softnet_lock held across usb xfr
- kern/50491 - unkillable wait in usbd_transfer while using usmsc0
on raspberry pi 2
- kern/51395 - USB Ethernet makes xhci hang
- Various improvements to slhci(4)
- Various improvements to dwc2(4)
 1.13.2.4 09-Dec-2016  snj Pull up following revision(s) (requested by msaitoh in ticket #1297):
sys/arch/amd64/conf/ALL: revision 1.37
sys/arch/amd64/conf/GENERIC: revision 1.436
sys/arch/amd64/conf/XEN3_DOM0: revision 1.120
sys/arch/i386/conf/ALL: revision 1.400
sys/arch/i386/conf/GENERIC: revision 1.1138
sys/arch/i386/conf/XEN3_DOM0: revision 1.99
Add sdtemp(4)
--
Add ichsmb(4), spdmem(4) and sdtemp(4).
 1.13.2.3 15-May-2015  snj branches: 1.13.2.3.4;
Pull up following revision(s) (requested by jnemeth in ticket #762):
share/man/man4/options.4: revision 1.442
sys/arch/amd64/conf/ALL: revision 1.18
sys/arch/amd64/conf/GENERIC: revision 1.396
sys/arch/dreamcast/conf/GENERIC: revision 1.119
sys/arch/epoc32/conf/GENERIC: revision 1.6
sys/arch/evbarm/conf/BCM5301X: revision 1.24
sys/arch/evbarm/conf/BCM56340: revision 1.9
sys/arch/evbarm/conf/IMX23_OLINUXINO: revision 1.9
sys/arch/evbarm/conf/std.beagle: revision 1.13
sys/arch/evbarm/conf/std.kobo: revision 1.2
sys/arch/evbarm/conf/std.netwalker: revision 1.10
sys/arch/evbppc/conf/P2020DS: revision 1.25
sys/arch/evbppc/conf/RB800: revision 1.30
sys/arch/evbppc/conf/TWRP1025: revision 1.18
sys/arch/hp300/conf/GENERIC: revision 1.187
sys/arch/hpcsh/conf/GENERIC: revision 1.104
sys/arch/i386/conf/GENERIC: revision 1.1111
sys/arch/i386/conf/MONOLITHIC: revision 1.17
sys/arch/landisk/conf/GENERIC: revision 1.43
sys/arch/luna68k/conf/GENERIC: revision 1.117
sys/arch/macppc/conf/GENERIC: revision 1.316
sys/arch/macppc/conf/GENERIC_601: revision 1.5
sys/arch/mmeye/conf/MMEYE_WLF: revision 1.16
sys/arch/news68k/conf/GENERIC: revision 1.123
sys/arch/sandpoint/conf/GENERIC: revision 1.85
sys/arch/shark/conf/GENERIC: revision 1.119
sys/arch/sparc/conf/GENERIC: revision 1.246
sys/arch/sparc64/conf/GENERIC: revision 1.174
sys/arch/sun3/conf/GENERIC3X: revision 1.125
sys/arch/sun3/conf/GENERIC: revision 1.169
sys/arch/x68k/conf/GENERIC: revision 1.177
sys/arch/zaurus/conf/GENERIC: revision 1.62
sys/conf/files: revision 1.1099
sys/kern/kern_module.c: revisions 1.98, 1.99
Create an "options MODULAR_DEFAULT_AUTOLOAD" config option and add
it to all kernel configs that contain "options MODULAR". This
option turns on module autoloading by default (which is the current
default). This allows people who don't want module autoloading on
by default to disable it by simply removing/commentting this line.
--
fix typo. (s/MODULE_DEFAULT_AUTOLOAD/MODULAR_DEFAULT_AUTOLOAD/)
 1.13.2.2 18-Mar-2015  snj Apply patch (requested by christos in ticket #542):
- Enable intel and radeon DRM/KMS drivers in GENERIC
- Disable all of the old DRM drivers in GENERIC
- Remove the separate DRMKMS kernel
 1.13.2.1 18-Nov-2014  snj Pull up following revision(s) (requested by manu in ticket #251):
sys/arch/acorn26/conf/GENERIC: revision 1.81
sys/arch/acorn32/conf/GENERIC: revision 1.116
sys/arch/alpha/conf/GENERIC: revision 1.362
sys/arch/amd64/conf/ALL: revision 1.23
sys/arch/amd64/conf/GENERIC: revision 1.404
sys/arch/amd64/conf/XEN3_DOM0: revision 1.112
sys/arch/amd64/conf/XEN3_DOMU: revision 1.60
sys/arch/amiga/conf/GENERIC.in: revision 1.129
sys/arch/amiga/conf/GENERIC: revision 1.311
sys/arch/amigappc/conf/GENERIC: revision 1.24
sys/arch/arc/conf/GENERIC: revision 1.184
sys/arch/bebox/conf/GENERIC: revision 1.145
sys/arch/cats/conf/GENERIC: revision 1.155
sys/arch/cesfic/conf/GENERIC: revision 1.65
sys/arch/cobalt/conf/GENERIC: revision 1.147
sys/arch/dreamcast/conf/GENERIC: revision 1.121
sys/arch/emips/conf/GENERIC: revision 1.15
sys/arch/epoc32/conf/GENERIC: revision 1.8
sys/arch/ews4800mips/conf/GENERIC: revision 1.51
sys/arch/hp300/conf/GENERIC: revision 1.190
sys/arch/hpcmips/conf/GENERIC: revision 1.229
sys/arch/hpcsh/conf/GENERIC: revision 1.106
sys/arch/hppa/conf/GENERIC: revision 1.6
sys/arch/i386/conf/ALL: revision 1.389
sys/arch/i386/conf/GENERIC: revision 1.1118
sys/arch/i386/conf/XEN3_DOM0: revision 1.93
sys/arch/i386/conf/XEN3_DOMU: revision 1.65
sys/arch/ibmnws/conf/GENERIC: revision 1.46
sys/arch/iyonix/conf/GENERIC: revision 1.88
sys/arch/landisk/conf/GENERIC: revision 1.45
sys/arch/luna68k/conf/GENERIC: revision 1.119
sys/arch/mac68k/conf/GENERIC: revision 1.220
sys/arch/macppc/conf/GENERIC: revision 1.320
sys/arch/macppc/conf/MAMBO: revision 1.24
sys/arch/macppc/conf/POWERMAC_G5: revision 1.25
sys/arch/mipsco/conf/GENERIC: revision 1.88
sys/arch/mmeye/conf/GENERIC: revision 1.120
sys/arch/mvme68k/conf/GENERIC: revision 1.94
sys/arch/mvmeppc/conf/GENERIC: revision 1.24
sys/arch/netwinder/conf/GENERIC: revision 1.126
sys/arch/news68k/conf/GENERIC: revision 1.125
sys/arch/newsmips/conf/GENERIC: revision 1.129
sys/arch/next68k/conf/GENERIC: revision 1.139
sys/arch/ofppc/conf/GENERIC: revision 1.157
sys/arch/pmax/conf/GENERIC64: revision 1.21
sys/arch/pmax/conf/GENERIC: revision 1.185
sys/arch/prep/conf/GENERIC: revision 1.174
sys/arch/rs6000/conf/GENERIC: revision 1.33
sys/arch/sandpoint/conf/GENERIC: revision 1.88
sys/arch/sbmips/conf/GENERIC: revision 1.101
sys/arch/sgimips/conf/GENERIC32_IP12: revision 1.28
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.104
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.106
sys/arch/shark/conf/GENERIC: revision 1.121
sys/arch/sparc/conf/GENERIC: revision 1.248
sys/arch/sparc/conf/TADPOLE3GX: revision 1.65
sys/arch/sparc64/conf/GENERIC: revision 1.177
sys/arch/sparc64/conf/NONPLUS64: revision 1.44
sys/arch/sun2/conf/GENERIC: revision 1.94
sys/arch/sun3/conf/GENERIC: revision 1.171
sys/arch/vax/conf/GENERIC: revision 1.193
sys/arch/vax/conf/VAX780: revision 1.19
sys/arch/x68k/conf/GENERIC: revision 1.179
sys/arch/zaurus/conf/GENERIC: revision 1.65
sys/ufs/files.ufs: revision 1.38
Remove unused extended attributes kernel options

As Masao Uebayashi pointed to me, UFS_EXTATTR_AUTOSTART, LFS_EXTATTR_AUTOSTART
and UFS_EXTATTR_AUTOCREATE are not used anywhere in the code. Remove them
as they have been obsolete for a long time:
UFS_EXTATTR_AUTOSTART was replaced by mount -o extattr
LFS_EXTATTR_AUTOSTART was created to match obsolete UFS_EXTATTR_AUTOSTART
UFS_EXTATTR_AUTOCREATE was replaced by sysctl vfs.ffs.extattr_autocreate
 1.13.2.3.4.1 18-Jan-2017  skrll Sync with netbsd-5
 1.15.2.3 03-Dec-2017  jdolecek update from HEAD
 1.15.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.15.2.1 18-Aug-2014  tls file ALL was added on branch tls-maxphys on 2014-08-20 00:02:42 +0000
 1.23.2.9 28-Aug-2017  skrll Sync with HEAD
 1.23.2.8 05-Feb-2017  skrll Sync with HEAD
 1.23.2.7 05-Dec-2016  skrll Sync with HEAD
 1.23.2.6 05-Oct-2016  skrll Sync with HEAD
 1.23.2.5 29-May-2016  skrll Sync with HEAD
 1.23.2.4 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.23.2.3 22-Sep-2015  skrll Sync with HEAD
 1.23.2.2 06-Jun-2015  skrll Sync with HEAD
 1.23.2.1 06-Apr-2015  skrll Sync with HEAD
 1.36.2.5 26-Apr-2017  pgoyette Sync with HEAD
 1.36.2.4 20-Mar-2017  pgoyette Sync with HEAD
 1.36.2.3 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.36.2.2 04-Nov-2016  pgoyette Sync with HEAD
 1.36.2.1 06-Aug-2016  pgoyette Sync with HEAD
 1.49.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.56.2.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.59.2.6 07-Dec-2018  martin Pull up following revision(s) (requested by bouyer in ticket #1129):

sys/arch/amd64/conf/XEN3_DOM0: revision 1.159
sys/arch/amd64/conf/GENERIC: revision 1.508
sys/arch/i386/conf/ALL: revision 1.458
sys/dev/ic/mfi.c: revision 1.60
sys/dev/pci/mpiireg.h: revision 1.1
distrib/sets/lists/man/mi: revision 1.1628
sys/dev/pci/mfii.c: revision 1.1,1.2 (adapted)
sys/arch/i386/conf/GENERIC: revision 1.1194
sys/dev/pci/mpii.c: revision 1.13
sys/dev/ic/mfireg.h: revision 1.9
share/man/man4/mfii.4: revision 1.1
share/man/man4/Makefile: revision 1.673 (patch)
sys/dev/pci/files.pci: revision 1.410
share/man/man4/mfii.4: revision 1.2
sys/arch/amd64/conf/ALL: revision 1.108
sys/arch/i386/conf/XEN3PAE_DOM0: revision 1.8 (patch, in XEN3_DOM0)

Add some definitions from OpenBSD, needed by the upcoming mfii driver.
No functionnal change.

-

Move registers definitions to a separate file, needed for the upcomning mpii
driver. No functionnal change.

-

Add mpii(4), a driver for LSI Megaraid Fusion controllers.
Ported from OpenBSD. This driver is MP-safe.

Note that the earlier fusion controllers (Megaraid 2208, codenamed Thunderbold)
are also supported by mfi(4). mpii will take precedence if both drivers
are enabled.

Tested on a
mfii0 at pci6 dev 0 function 0: "PERC H740P Adapter ", firmware 50.3.0-1512, 819
2MB cache
mfii0: interrupting at ioapic2 pin 2
scsibus0 at mfii0: 64 targets, 8 luns per target
scsibus0: waiting 2 seconds for devices to settle...
sd0 at scsibus0 target 0 lun 0: <DELL, PERC H740P Adp, 5.03> disk fixed
sd0: fabricating a geometry
sd0: 99 GB, 102399 cyl, 64 head, 32 sec, 512 bytes/sect x 209714688 sectors
sd0: tagged queueing
sd1 at scsibus0 target 1 lun 0: <DELL, PERC H740P Adp, 5.03> disk fixed
sd1: fabricating a geometry
sd1: 22254 GB, 22788608 cyl, 64 head, 32 sec, 512 bytes/sect x 46671069696 sectors
sd1: fabricating a geometry

It supports bioctl(8) ioctls, as well as sensors for the BBU and logical
drives.

Sponsored by LIP6.

-

Add my name in copyright list

-

add a man page for the new mpii, mostly from OpenBSD.

-

Sort SEE ALSO. Fix date. Whitespace fixes.
 1.59.2.5 11-Apr-2018  martin Pull up following revision(s) (requested by mrg in ticket #731):
sys/arch/i386/conf/files.i386: revision 1.392
sys/arch/i386/conf/GENERIC: revision 1.1175
sys/arch/i386/conf/GENERIC: revision 1.1176
sys/arch/amd64/conf/files.amd64: revision 1.102
sys/arch/i386/conf/GENERIC: revision 1.1177
share/man/man4/options.4: revision 1.485 (patch)
sys/arch/i386/conf/Makefile.i386: revision 1.190
sys/arch/amd64/conf/GENERIC: revision 1.487
sys/arch/amd64/conf/ALL: revision 1.85
sys/arch/amd64/conf/GENERIC: revision 1.488
sys/arch/amd64/conf/GENERIC: revision 1.489
sys/arch/amd64/conf/Makefile.amd64: revision 1.67
sys/arch/i386/conf/ALL: revision 1.437

add an SPECTRE_V2_GCC_MITIGATION option to x86 kernels, that turns
on the GCC spectre v2 mitigation options.
XXX: pullup-8.
XXX: turn on in all kernels.

actually do what the previous change said:
don't turn on the new 'SPECTRE_V2_GCC_MITIGATION' option yet.

turn on GCC spectre v2 mitigation options.
XXX: amd64 ALL doesn't build for me right now
 1.59.2.4 09-Apr-2018  bouyer Pull up following revision(s) (requested by spz in ticket #708):
sys/conf/files: revision 1.1194
sys/dev/ic/cissvar.h: revision 1.7
sys/dev/ic/ciss.c: revision 1.38
sys/dev/pci/ciss_pci.c: revision 1.14
sys/arch/amd64/conf/ALL: revision 1.81
Add a new option CISS_NO_INTERRUPT_HACK for driving ciss(4) by callouts.
This is intended as workaround for certain Xen issues with dom0 kernels
and will likely want to have a high HZ value as well for decent
performance.
 1.59.2.3 11-Feb-2018  snj Pull up following revision(s) (requested by ozaki-r in ticket #536):
distrib/sets/lists/base/shl.mi: 1.825
distrib/sets/lists/comp/mi: 1.2168-1.2169
distrib/sets/lists/comp/shl.mi: 1.310
distrib/sets/lists/debug/mi: 1.234
distrib/sets/lists/debug/shl.mi: 1.188
distrib/sets/lists/man/mi: 1.1570
distrib/sets/lists/tests/mi: 1.772
etc/mtree/NetBSD.dist.tests: 1.150
share/man/man4/Makefile: 1.650
share/man/man4/ipsec.4: 1.42-1.43
share/man/man4/ipsecif.4: 1.1-1.5
sys/arch/amd64/conf/ALL: 1.77
sys/arch/amd64/conf/GENERIC: 1.480
sys/conf/files: 1.1191
sys/net/Makefile: 1.34
sys/net/files.net: 1.14
sys/net/if.c: 1.404
sys/net/if.h: 1.248
sys/net/if_gif.c: 1.135
sys/net/if_ipsec.c: 1.1-1.3
sys/net/if_ipsec.h: 1.1
sys/net/if_l2tp.c: 1.16
sys/net/if_types.h: 1.28
sys/netinet/in.c: 1.214
sys/netinet/in.h: 1.103
sys/netinet/in_gif.c: 1.92
sys/netinet/ip_var.h: 1.122
sys/netinet6/in6.c: 1.257
sys/netinet6/in6.h: 1.88
sys/netinet6/in6_gif.c: 1.90
sys/netinet6/ip6_var.h: 1.75
sys/netipsec/Makefile: 1.6
sys/netipsec/files.netipsec: 1.13
sys/netipsec/ipsec.h: 1.62
sys/netipsec/ipsecif.c: 1.1
sys/netipsec/ipsecif.h: 1.1
sys/netipsec/key.c: 1.246-1.247
sys/netipsec/key.h: 1.34
sys/rump/net/Makefile.rumpnetcomp: 1.20
sys/rump/net/lib/libipsec/IPSEC.ioconf: 1.1
sys/rump/net/lib/libipsec/Makefile: 1.1
sys/rump/net/lib/libipsec/ipsec_component.c: 1.1
tests/net/Makefile: 1.34
tests/net/if_ipsec/Makefile: 1.1
tests/net/if_ipsec/t_ipsec.sh: 1.1-1.2
Don't touch an SP without a reference to it
unify processing to check nesting count for some tunnel protocols.
add ipsec(4) interface, which is used for route-based VPN.
man and ATF are added later, please see man for details.
reviewed by christos@n.o, joerg@n.o and ozaki-r@n.o, thanks.
https://mail-index.netbsd.org/tech-net/2017/12/18/msg006557.html
ipsec(4) interface supports rump now.
add ipsec(4) interface ATF.
add ipsec(4) interface man as ipsecif.4.
add ipsec(4) interface to amd64/GENERIC and amd64/ALL configs.
apply in{,6}_tunnel_validate() to gif(4).
Spell IPsec that way. Simplify macro usage. Sort SEE ALSO. Bump
date for previous.
Improve wording and macro use.
Some parts are not clear to me, so someone with knowledge of ipsecif(4)
should improve this some more.
Improve ipsecif.4. Default port ipsec(4) NAT-T is tested now.
pointed out by wiz@n.o and suggested by ozaki-r@n.o, thanks.
Change the prefix of test names to ipsecif_ to distinguish from tests for ipsec(4)
New sentence, new line. Remove empty macro.
Fix PR kern/52920. Pointed out by David Binderman, thanks.
Improve wording, and put a new drawing, from me and Kengo Nakahara.
apply a little more #ifdef INET/INET6. fixes !INET6 builds.
 1.59.2.2 05-Feb-2018  martin Pull up following revision(s) (requested by pgoyette in ticket #524):

distrib/sets/lists/man/mi 1.1574
distrib/sets/lists/modules/md.amd64 1.73
distrib/sets/lists/modules/md.i386 1.76
share/man/man4/amdtemp.4 1.11
share/man/man4/man4.x86/Makefile 1.17
share/man/man4/man4.x86/amdsmn.4 1.1-1.3
share/man/man4/man4.x86/amdzentemp.4 1.1-1.6
sys/arch/amd64/conf/ALL 1.79,1.80
sys/arch/amd64/conf/GENERIC 1.482,1.484
sys/arch/amd64/conf/XEN3_DOM0 1.146,1.147
sys/arch/x86/pci/amdsmn.c 1.1-1.2
sys/arch/x86/pci/amdsmn.h 1.1
sys/arch/x86/pci/amdzentemp.c 1.1-1.7
sys/arch/x86/pci/files.pci 1.22,1.23
sys/modules/amdzentemp/amdzentemp.ioconf 1.2


Add amdzentemp from FreeBSD via Ian Clark.

man pages for amdsmn and amdzentemp.

Some clean-up on the HISTORY and AUTHORS sections, and addition of a BUGS
section to document the fact that we don't yet handle the required temp
offset, nor do we expose the available thermal-trip value.

Add missing article 'a'

KNF: Put back the blank line following the empty variable declarations
Put back the variable declaration, too, and mark it __diagused
Otherwise a DIAGNOSTIC kernel will complain about the variable being
undeclared.

Correct placement of __diagused attribute.

Modularize the amdsmn(4) driver, and update dependency for amdzentemp(4),
Create amdsmn(4) amd amdzentemp(4) modules for X86.
 1.59.2.1 09-Sep-2017  snj Pull up following revision(s) (requested by maxv in ticket #258):
sys/arch/amd64/conf/ALL: 1.68
sys/arch/i386/conf/ALL: 1.428
sys/arch/i386/i386/i386_trap.S: 1.12
sys/arch/i386/i386/locore.S: 1.149-1.150
sys/arch/x86/x86/sys_machdep.c: 1.38
Remove undocumented hack.
--
Switch to the temporary stack right away when booted via multiboot. GRUB
happens to give a correct stack, but it is not guaranteed by the spec. This
temporary stack will be reset later, which is fine.
Fixes PR/50245.
--
Pfff, use %ss and not %ds. The latter is controlled by userland, the former
contains the kernel value (flat); FreeBSD fixed this too a few weeks ago.
As I said earlier, this dtrace code is complete bullshit.
--
Don't allow userland to create 286/386 call gates anymore - they are not
used by Wine. While here, don't allow it to overwrite the static entries
either, don't allow unknown entry types, remove LDT_DEBUG, and style.
 1.82.2.12 18-Jan-2019  pgoyette Synch with HEAD
 1.82.2.11 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.82.2.10 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.82.2.9 30-Sep-2018  pgoyette Ssync with HEAD
 1.82.2.8 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.82.2.7 28-Jul-2018  pgoyette Sync with HEAD
 1.82.2.6 25-Jun-2018  pgoyette Sync with HEAD
 1.82.2.5 21-May-2018  pgoyette Sync with HEAD
 1.82.2.4 02-May-2018  pgoyette Synch with HEAD
 1.82.2.3 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.82.2.2 30-Mar-2018  pgoyette Resolve conflicts between branch and HEAD
 1.82.2.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.90.2.4 21-Apr-2020  martin Sync with HEAD
 1.90.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.90.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.90.2.1 10-Jun-2019  christos Sync with HEAD
 1.120.2.4 07-Jul-2020  martin Pull up following revision(s) (requested by jmcneill in ticket #980):

sys/dev/pci/if_aq.c: revision 1.4
sys/dev/pci/if_aq.c: revision 1.5
sys/arch/amd64/conf/GENERIC: revision 1.553
sys/dev/pci/files.pci: revision 1.419
sys/arch/amd64/conf/XEN3_DOM0: revision 1.170
sys/dev/pci/if_aq.c: revision 1.9
share/man/man4/Makefile: revision 1.693
sys/dev/pci/pcidevs: revision 1.1411
share/man/man4/aq.4: revision 1.1
share/man/man4/aq.4: revision 1.3
sys/arch/i386/conf/ALL: revision 1.479
share/man/man4/aq.4: revision 1.4
sys/dev/pci/if_aq.c: revision 1.10
sys/dev/pci/files.pci: revision 1.421
sys/dev/pci/if_aq.c: revision 1.11
sys/dev/pci/if_aq.c: revision 1.12
sys/dev/pci/if_aq.c: revision 1.13
sys/dev/pci/if_aq.c: revision 1.14
sys/dev/pci/if_aq.c: revision 1.15
sys/dev/pci/if_aq.c: revision 1.16
sys/dev/pci/pcidevs: revision 1.1408
sys/arch/amd64/conf/ALL: revision 1.135
sys/net/ethertypes.h: revision 1.19
sys/arch/i386/conf/GENERIC: revision 1.1218
distrib/sets/lists/man/mi: revision 1.1668
sys/dev/pci/if_aq.c: revision 1.1
sys/dev/pci/if_aq.c: revision 1.2
sys/dev/pci/pcidevs: revision 1.1395
sys/dev/pci/if_aq.c: revision 1.3
sys/arch/evbarm/conf/GENERIC64: revision 1.125

Add the ETHERTYPE_QINQ for 802.1ad VLAN stacking

add Aquantia AQC 10G network adapters
add support Aquantia AQC seriese 10G network adapters.

this driver is based on the FreeBSD version https://github.com/Aquantia/aqtion-freebsd ,
but drastically rewritten for NetBSD.

add aq(4)

Add Aquantia AQC100, AQC100S and D100.

add support VLAN HW filter

set/clear IFF_OACTIVE flag only on txring 0

make counters per queue

support internal PHY temperature sensor

Found by kUBSan:
- Use unsigned to avoid undefined behavior in aq_hw_init().
- Cast to unsigned to avoid undefined behavior in aq_set_mac_addr().

fix descriptions of register map in comment

return the ifmedia active status correctly even while the link is not up after attach.
pointed out by msaitoh@. thanks.

On FIBRE devices, there are times when linkstat interrupt doesn't occur?
reported from Andrius V. thanks.
- use polling instead of linkstat interrupt when FIBRE
- add AQ_FORCE_POLL_LINKSTAT options (not by default)

sort product table, and tabify

add support AQC100S and D100.
not tested, but they are probably the same as the AQC100.
 1.120.2.3 25-Nov-2019  martin Pull up following revision(s) (requested by msaitoh in ticket #478):

sys/dev/mii/smscphy.c: revision 1.1
sys/arch/amd64/conf/ALL: revision 1.127
sys/arch/amd64/conf/ALL: revision 1.128
sys/dev/mii/files.mii: revision 1.52
sys/dev/mii/files.mii: revision 1.53
sys/arch/i386/conf/ALL: revision 1.473
share/man/man4/mii.4: revision 1.29
sys/arch/i386/conf/ALL: revision 1.474
sys/arch/amd64/conf/GENERIC: revision 1.543
sys/arch/amd64/conf/GENERIC: revision 1.544
sys/dev/mii/jmphyreg.h: revision 1.1
share/man/man4/Makefile: revision 1.687
share/man/man4/smscphy.4: revision 1.1
share/man/man4/Makefile: revision 1.688
sys/dev/mii/jmphy.c: revision 1.1
sys/dev/DEVNAMES: revision 1.324
sys/dev/DEVNAMES: revision 1.325
distrib/sets/lists/man/mi: revision 1.1661
sys/arch/i386/conf/GENERIC: revision 1.1214
distrib/sets/lists/man/mi: revision 1.1662
sys/arch/i386/conf/GENERIC: revision 1.1215
share/man/man4/jmphy.4: revision 1.1
share/man/man4/jme.4: revision 1.8

Add jmphy(4) from OpenBSD.

Add jmphy.4.

Port SMSC LAN87xx 10/100 Ethernet PHY driver from FreeBSD with some cleanup
and IFM_NONE support.
 1.120.2.2 25-Nov-2019  martin Pull up following revision(s) (requested by msaitoh in ticket #476):

sys/dev/pci/if_stgereg.h: revision 1.6
sys/arch/amd64/conf/ALL: revision 1.124
sys/dev/mii/files.mii: revision 1.51
share/man/man4/vge.4: revision 1.8
share/man/man4/vge.4: revision 1.9
distrib/sets/lists/man/mi: revision 1.1656
sys/arch/i386/conf/ALL: revision 1.471
share/man/man4/mii.4: revision 1.28
sys/dev/pci/if_stge.c: revision 1.71
sys/dev/mii/ipgphy.c: revision 1.1
sys/dev/mii/ipgphy.c: revision 1.2
share/man/man4/Makefile: revision 1.684
sys/dev/mii/ipgphy.c: revision 1.3
sys/dev/mii/ipgphyreg.h: revision 1.1
sys/dev/mii/ipgphy.c: revision 1.4
sys/dev/mii/ipgphyreg.h: revision 1.2
sys/dev/mii/ipgphy.c: revision 1.5
sys/dev/mii/ipgphyreg.h: revision 1.3
sys/dev/DEVNAMES: revision 1.322
sys/arch/i386/conf/GENERIC: revision 1.1211
sys/arch/amd64/conf/GENERIC: revision 1.537
share/man/man4/ipgphy.4: revision 1.1
share/man/man4/ipgphy.4: revision 1.2

Add support IC Plus IP1000* PHYs. PR/kern 42314 first reported by

Tomokazu HARADA and patch provided by Andrius V.

New sentence, new line.
Fix date. Add RCS Id.

KNF. No functional change.

STGE_PhyCtrl is not PHY register but MAC register, so use ukphy_status()
for IP1000A device.

- Use auto-negotiation when forcing 1000BASE-T.
- Add XXX comment for strange pause setting code. I suspect this is wrong.
- On my environments, 1000BASE-T half duplex doesn't work, so we might remove
IFM_1000T_HDX from this device in future.
- Define IPGPHY_SCR's address.
- Whitespace fix.

Add missing NetBSD RCS Id. Reported by Andrius V.
 1.120.2.1 09-Aug-2019  martin Pull up following revision(s) (requested by rin in ticket #35):

sys/arch/amd64/conf/ALL: revision 1.121
sys/arch/i386/conf/XEN3PAE_DOM0: revision 1.14
sys/arch/amd64/conf/XEN3_DOM0: revision 1.168
sys/arch/i386/conf/GENERIC: revision 1.1210
sys/arch/amd64/conf/GENERIC: revision 1.534

xhci(4) is considered stable enough. So, remove misleading comments.

XXX
pullup to netbsd-9
 1.135.2.3 29-Feb-2020  ad Sync with head.
 1.135.2.2 25-Jan-2020  ad Sync with head.
 1.135.2.1 17-Jan-2020  ad Sync with head.
 1.147.2.1 20-Apr-2020  bouyer Sync with HEAD
 1.164.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.164.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.166.4.1 01-Aug-2021  thorpej Sync with HEAD.
 1.174.4.5 09-Oct-2024  martin Pull up following revision(s) (requested by riastradh in ticket #939):

distrib/sets/lists/debug/module.md.amd64: revision 1.18
sys/modules/Makefile: revision 1.292
lib/libc/gen/arc4random.c: revision 1.34
lib/libc/gen/arc4random.c: revision 1.35
lib/libc/gen/arc4random.c: revision 1.36
lib/libc/gen/arc4random.c: revision 1.37
sys/kern/kern_entropy.c: revision 1.70
lib/libc/gen/arc4random.c: revision 1.38
sys/kern/kern_entropy.c: revision 1.71
lib/libc/gen/getentropy.3: revision 1.8
distrib/sets/lists/modules/md.amd64: revision 1.103
share/man/man4/rnd.4: revision 1.42
share/man/man4/rnd.4: revision 1.44
lib/libc/include/arc4random.h: revision 1.1
distrib/sets/lists/man/mi: revision 1.1786
sys/arch/i386/conf/GENERIC: revision 1.1258
sys/modules/acpivmgenid/acpivmgenid.ioconf: revision 1.1
sys/arch/amd64/conf/ALL: revision 1.190
distrib/sets/lists/debug/mi: revision 1.446
sys/arch/i386/conf/ALL: revision 1.521
lib/libc/gen/Makefile.inc: revision 1.219
distrib/sets/lists/debug/module.md.i386: revision 1.12
sys/dev/acpi/acpi_vmgenid.c: revision 1.1
sys/dev/acpi/acpi_vmgenid.c: revision 1.2
lib/libc/include/reentrant.h: revision 1.22
sys/arch/evbarm/conf/GENERIC64: revision 1.219
share/man/man4/Makefile: revision 1.735
distrib/sets/lists/modules/md.i386: revision 1.100
distrib/sets/lists/tests/mi: revision 1.1334
lib/libc/gen/arc4random.3: revision 1.22
sys/dev/acpi/files.acpi: revision 1.133
lib/libc/gen/arc4random.3: revision 1.23
tests/lib/libc/gen/t_arc4random.c: revision 1.1
sys/sys/entropy.h: revision 1.6
sys/arch/amd64/conf/GENERIC: revision 1.614
sys/modules/acpivmgenid/Makefile: revision 1.1
share/man/man4/acpivmgenid.4: revision 1.1
lib/libc/gen/Makefile.inc: revision 1.220
tests/lib/libc/gen/Makefile: revision 1.56
share/man/man4/acpivmgenid.4: revision 1.2
share/man/man4/acpivmgenid.4: revision 1.3

(all via patch)

Catch up with all the lint warnings since exit on warning was disabled.

Disable 'missing header declaration' and 'nested extern' warnings for now.
acpivmgenid(4): New driver for virtual machine generation ID.

Added to amd64/ALL and i386/ALL kernel configurations, and made
available as a loadable module acpivmgenid.kmod on x86, for now.
TBD: Add to all ACPI-supporting GENERIC kernels.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

entropy(9): Factor out subroutines to reset and gather entropy.
`Reset' means we keep the data in the pool, but assume it had zero
entropy. `Gather' means we request samples from all on-demand
sources and wait for the synchronous ones to complete.

No functional change intended, other than to expose new symbols --
just preparation to expose these to acpivmgenid(4), so it can use
these when the VM host notifies us that we, the guest, have been
cloned.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

acpivmgenid(4): Reset and gather entropy on VM clone notification.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

arc4random(3): Reseed if system entropy epoch changes.
This can happen, for example, if the system is a VM instance, and the
VM is cloned.

This incurs the cost of a system call on every arc4random call, which
is unfortunate, but
1. we don't currently have a (machine-independent) mechanism for
exposing a read-only page to userland shared by the kernel to
enable a cheaper access path to the entropy epoch; and
2. the algorithm here -- a simple application of ChaCha -- is likely
also a bottleneck and could be much cheaper by
(a) using sys/crypto/chacha for machine-dependent vectorized
ChaCha code, and
(b) filling a buffer (somewhere between a cipher block and a page)
in a batch at a time, instead of running ChaCha to generate
only 32 bytes at a time.
So although this might be a performance hit, the security benefit is
worthwhile and we have a clear path to do better than reversing the
performance hit later.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

acpivmgenid(4): Nix BUGS that have been squashed.
Reference kern.entropy.epoch for the remaining bug (which is a
performance issue, not a security issue).
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

entropy(9): Allow unprivileged reads of sysctl kern.entropy.epoch.

Applications need this in order to know when to reseed. (We should
also expose it through a page shared read-only with userland for
cheaper access, but until we do, let's let applications get at it
through sysctl.)
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

arc4random.c: Fix test program.

This isn't wired up anywhere, but let's reduce the bitrot. It was
helpful in reminding me that kern.entropy.epoch was, for reasons I
can't remember, restricted to privileged access.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

amd64, evbarm, i386: Add acpivmgenid(4) to GENERIC.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

rnd(4): Document kern.entropy.epoch is unprivileged and elaborate.
Cross-reference acpivmgenid(4).
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

arc4random(3): Note that arc4random respects kern.entropy.epoch.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork
Add debug info for new acpivmgenid module

arc4random(3): Add automatic tests.

This verifies that:
- arc4random zeroes its state and reseeds itself on fork
- arc4random reseeds itself on entropy consolidation (e.g., VM clone)
- arc4random falls back to global state if it can't allocate local
state because address space limits cause mmap to fail

NOTE: This adds a new libc symbol __arc4random_global, but it's in
the reserved namespace and only used by t_arc4random, so no libc
minor bump.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

getentropy(3): Note intent to reseed on VM clone, and caveats.

Tidy markup and pacify some mandoc -Tlint complaints while here.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

Bump dates on man pages recently updated to mention VM clones.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

arc4random(3): Pacify some of lint's complaints.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

arc4random: suppress another lint warning
 1.174.4.4 09-Oct-2024  martin Pull up following revision(s) (requested by riastradh in ticket #936):

sys/dev/acpi/apei_einjvar.h: revision 1.1
sys/dev/acpi/apei_cper.h: revision 1.2
distrib/sets/lists/debug/module.md.i386: revision 1.9
sys/dev/acpi/apei_hest.c: revision 1.1
sys/modules/apei/Makefile: revision 1.1
sys/dev/acpi/apei_hest.c: revision 1.2
distrib/sets/lists/modules/md.amd64: revision 1.101
sys/dev/acpi/apei_hest.c: revision 1.3
distrib/sets/lists/modules/md.amd64: revision 1.102
sys/modules/apei/apei.ioconf: revision 1.1
sys/dev/acpi/apei_bert.c: revision 1.1
distrib/sets/lists/man/mi: revision 1.1785
sys/dev/acpi/apei_bertvar.h: revision 1.1
sys/dev/acpi/apei.c: revision 1.1
sys/dev/acpi/apei.c: revision 1.2
sys/dev/acpi/apei.c: revision 1.3
sys/modules/Makefile: revision 1.283
sys/modules/Makefile: revision 1.284
sys/dev/acpi/apei_reg.c: revision 1.1
sys/dev/acpi/apei_hestvar.h: revision 1.1
distrib/sets/lists/debug/module.md.i386: revision 1.10
sys/dev/acpi/apei_reg.c: revision 1.2
sys/dev/acpi/apei_reg.c: revision 1.3
sys/dev/acpi/apei_reg.h: revision 1.1
sys/dev/acpi/apei_reg.h: revision 1.2
sys/dev/acpi/apei_reg.h: revision 1.3
sys/dev/acpi/acpi_hed.c: revision 1.1
sys/dev/acpi/apei_einj.c: revision 1.1
sys/dev/acpi/apeivar.h: revision 1.1
sys/dev/acpi/apei_einj.c: revision 1.2
sys/dev/acpi/apei_einj.c: revision 1.3
sys/dev/acpi/apei_einj.c: revision 1.4
sys/dev/acpi/apei_einj.c: revision 1.5
share/man/man4/Makefile: revision 1.734
sys/dev/acpi/apei_einj.c: revision 1.6
sys/dev/acpi/apei_einj.c: revision 1.7
sys/dev/acpi/files.acpi: revision 1.131
sys/dev/acpi/files.acpi: revision 1.132
sys/dev/acpi/apei_interp.c: revision 1.1
sys/dev/acpi/apei_interp.c: revision 1.2
share/man/man4/acpihed.4: revision 1.1
sys/dev/acpi/apei_mapreg.c: revision 1.1
sys/dev/acpi/apei_interp.c: revision 1.3
share/man/man4/acpihed.4: revision 1.2
distrib/sets/lists/modules/md.i386: revision 1.98
sys/dev/acpi/apei_mapreg.c: revision 1.2
sys/dev/acpi/apei_interp.h: revision 1.1
sys/dev/acpi/apei_interp.c: revision 1.4
distrib/sets/lists/modules/md.i386: revision 1.99
sys/modules/acpihed/Makefile: revision 1.1
sys/dev/acpi/apei_mapreg.c: revision 1.3
sys/dev/acpi/apei_interp.h: revision 1.2
sys/arch/amd64/conf/ALL: revision 1.185
sys/dev/acpi/apei_mapreg.h: revision 1.1
sys/dev/acpi/apei_mapreg.c: revision 1.4
sys/arch/amd64/conf/ALL: revision 1.186
sys/dev/acpi/apei_erstvar.h: revision 1.1
sys/dev/acpi/apei_erst.c: revision 1.1
sys/dev/acpi/apei_erst.c: revision 1.2
sys/dev/acpi/apei_erst.c: revision 1.3
sys/arch/i386/conf/ALL: revision 1.516
share/man/man4/apei.4: revision 1.1
sys/arch/i386/conf/ALL: revision 1.517
share/man/man4/apei.4: revision 1.2
distrib/sets/lists/debug/module.md.amd64: revision 1.15
sys/modules/acpihed/acpihed.ioconf: revision 1.1
sys/dev/acpi/apei_hed.h: revision 1.1
distrib/sets/lists/debug/module.md.amd64: revision 1.16
sys/dev/acpi/apei_cper.h: revision 1.1

(all via patch)

apei(4): New driver for ACPI Platform Error Interfaces.

For now it is wired up only in x86 ALL kernels, and built as a module
for x86 and Arm. Once it gets a little more testing on machines with
APEI, I would like to flip it on by default.
PR kern/58046

apei(4): Pacify -Wsign-compare.
Assert that the parsing made forward progress too while here.
PR kern/58046

apei(4): Tweak some comments about the APEI interpreter language.
No functional change intended.
PR kern/58046

apei(4): Fix parsing checks for TRIGGER_ERROR action table.
The TableSize is size of the header plus the body, not just the body.
PR kern/58046
apei(4): Note some TODOs for EINJ and HEST.
No functional change intended, comments only.
PR kern/58046

acpihed(4): New driver for PNP0C33 to notify apei(4).
PNP0C33 denotes the ACPI Hardware Error Device, which exists only to
be a vector for event notifications.
PR kern/58046

acpihed(4): fix name in Dt, use Ql
apei(4): Plug memory leak on teardown of instruction interpreter.
PR kern/58046
apei(4): Fix indexing of multi-unit register access.
PR kern/58046

apei(4): Fix register chunk counting.
Now it will actually read and write the registers!
Have been updating and reloading the wrong module to test this, oops.
PR kern/58046

apei(4): Allow pre-mapping I/O registers too.
PR kern/58046

apei(4): Pre-map registers when compiling interpreter.
This way we don't have to worry about mapping them in nasty contexts
where access to uvm_km_alloc may not be allowed. Paves the way to
use ERST for saving dmesg on crash.
Exception: ACPI_ERST_MOVE_DATA still needs to do AcpiOsMapMemory.
We'll need to reserve a couple pages to avoid that.
PR kern/58046

apei(4): Simplify EINJ/ERST register access now that it's pre-mapped.
PR kern/58046
apei(4): Make sure to initialize *fatalp in apei_gesb_report.
PR kern/58046

apei: fix typos in comments

apei: fix typos in comments and snprintb bitfmt

apei(4): Fix uninitialized stack access in error branch.
PR kern/58046

apei(4), acpihed(4): Wire up man pages to build.
PR kern/58046: Missing APEI (ACPI Platform Error Interface) support
 1.174.4.3 20-Jun-2024  martin Pull up following revision(s) (requested by andvar in ticket #700):

sys/arch/i386/conf/GENERIC: revision 1.1256
share/man/man4/man4.x86/viac7temp.4: revision 1.1
sys/arch/x86/x86/viac7temp.c: revision 1.11
share/man/man4/man4.x86/Makefile: revision 1.24
share/man/man4/man4.i386/viac7temp.4: file removal
share/man/man4/man4.i386/Makefile: revision 1.81
distrib/sets/lists/man/mi: revision 1.1773
sys/arch/amd64/conf/GENERIC: revision 1.612
sys/arch/amd64/conf/ALL: revision 1.188
sys/arch/i386/conf/ALL: revision 1.519

viac7temp(4): rewrite temperature sensor to read value from MSR instead of using
documented cpuid instruction and eax register.

This approach is adapted from linux via-cputemp.c, no official documentation is
currently available. However, msr value seems to work on all tested CPUs while
documented cpuid instruction typically reports 0, even for my C7-D CPU.
msr value seems to have temperature in Celsius in lower 24-bits without fraction
(thus "msr & 0xffffff;" is used).

Tested on my personal systems based on CPUs below (i386 and amd64):
C7-D 1.6GHz (i386 only), Nano X2 L4350E, Nano X2 U4300, U2300 Nano, KX-U6580.
Also got one response via email which was based on Nano X2 L4050 (VE-900).

Nano reports independent values for each core.

KX-U6580 seems to show the same value for all cores but more testing is needed.

Since it works on amd64 capable CPUs, adding driver to GENERIC kernel config.

Also moving viac7temp man page to x86 instead of i386 (with updates).

In theory the change should add support for all VIA Nano CPUs and Zhaoxin CPUs
at least up to KX-6000(G) series.

In the future I may need to introduce amd64 kernel module as well.

Patch mainly reviewed by riastradh.
 1.174.4.2 08-Oct-2023  martin Pull up following revision(s) (requested by rin in ticket #393):

sys/dev/pci/igc/if_igc.c up to 1.3
sys/dev/pci/igc/if_igc.h up to 1.2
sys/dev/pci/igc/igc_api.c up to 1.2
sys/dev/pci/igc/igc_api.h up to 1.2
sys/dev/pci/igc/igc_base.c up to 1.2
sys/dev/pci/igc/igc_base.h up to 1.2
sys/dev/pci/igc/igc_defines.h up to 1.2
sys/dev/pci/igc/igc_evcnt.h up to 1.1
sys/dev/pci/igc/igc_hw.h up to 1.2
sys/dev/pci/igc/igc_i225.c up to 1.2
sys/dev/pci/igc/igc_i225.h up to 1.2
sys/dev/pci/igc/igc_mac.c up to 1.2
sys/dev/pci/igc/igc_mac.h up to 1.2
sys/dev/pci/igc/igc_nvm.c up to 1.2
sys/dev/pci/igc/igc_nvm.h up to 1.2
sys/dev/pci/igc/igc_phy.c up to 1.2
sys/dev/pci/igc/igc_phy.h up to 1.2
sys/dev/pci/igc/igc_regs.h up to 1.2
distrib/sets/lists/man/mi: revision 1.1766
sys/arch/amd64/conf/GENERIC: revision 1.606
sys/arch/evbppc/conf/DHT: revision 1.5
sys/arch/evbarm/conf/GENERIC64: revision 1.213
share/man/man4/Makefile: revision 1.733
sys/arch/amd64/conf/ALL: revision 1.181
share/man/man4/igc.4: revision 1.1
sys/dev/pci/files.pci: revision 1.447
sys/arch/amd64/conf/XEN3_DOM0: revision 1.200
doc/CHANGES (apply patch)

Add igc(4) for Intel I225/I226 series ethernet devices
 1.174.4.1 30-Jul-2023  martin Pull up following revision(s) (requested by riastradh in ticket #259):

sys/dev/acpi/acpi_ec.c: revision 1.102
sys/dev/acpi/acpi_ec.c: revision 1.103
sys/dev/acpi/acpi_ec.c: revision 1.104
sys/dev/acpi/acpi_ec.c: revision 1.105
sys/dev/acpi/acpi_ec.c: revision 1.106
sys/dev/acpi/acpi_ec.c: revision 1.107
sys/dev/acpi/acpi_ec.c: revision 1.108
sys/dev/acpi/acpi_ec.c: revision 1.90
sys/dev/acpi/acpi_ec.c: revision 1.91
sys/dev/acpi/acpi_ec.c: revision 1.92
sys/dev/acpi/acpi_ec.c: revision 1.93
sys/dev/acpi/acpi_ec.c: revision 1.94
sys/dev/acpi/files.acpi: revision 1.128
sys/dev/acpi/acpi_ec.c: revision 1.95
sys/dev/acpi/acpi_ec.c: revision 1.96
sys/dev/acpi/acpi_ec.c: revision 1.97
sys/arch/amd64/conf/ALL: revision 1.179
sys/dev/acpi/acpi_ec.c: revision 1.98
sys/dev/acpi/acpi_ec.c: revision 1.99
sys/dev/acpi/acpi_ec.c: revision 1.87
sys/dev/acpi/acpi_ec.c: revision 1.88
sys/dev/acpi/acpi_ec.c: revision 1.89
sys/arch/i386/conf/ALL: revision 1.511
sys/dev/acpi/acpi_ec.c: revision 1.100
sys/dev/acpi/acpi_ec.c: revision 1.101

acpiec(4): Record device_t self.

Not used yet, to be used soon for device_printf and to allow making
some of the internal functions a little more type-safe later.
acpiec(4): New ACPIEC_DEBUG option.

Value is bit mask of debug messages to enable.

Enable in x86/ALL kernels.

No functional change intended when the option is off.

acpiec(4): Clarify lock order and sprinkle lock assertions.
No functional change intended.

acpiec(4): Sprinkle comments.
Note where this code is abusing cv_wait and needs a loop to handle
spurious wakeups.
No functional change intended.

acpiec(4): Assert state is free when we start a transaction.
No functional change intended.

acpiec(4): Set sc_got_sci only when a transaction is over.

Before, when the acpiec thread noticed an SCI had been requested and
entered acpiec_gpe_state_machine to send the query command, it would
see the SCI is still requested -- because it had yet to acknowledge
it by setting the query command! -- and think the EC was asking for a
_second_ SCI.

So once the first SCI transaction was over, it would start a second
one, even though the EC hadn't asked for another -- and this would
wedge on some ECs.

Now, acpiec_gpe_state_machine waits to see what state we transition
to before taking the SCI bit to mean we need to notify the acpiec
thread to handle another query.

That way, when the acpiec thread enters acpiec_gpe_state_machine with
EC_STATE_QUERY, it can send the query command first, with the side
effect of clearing the SCI bit in subsequent reads of the status
register, and it won't think another SCI has been requested until it
returns to EC_STATE_FREE and sees the SCI bit set again in the status
register.

Possibly relevant PRs:
PR kern/53135
PR kern/52763
PR kern/57162

acpiec(4): Fix cv_wait loop around sc->sc_got_sci.

That is, make it actually loop as required, so it gracefully handles
spurious wakeups instead of barging into invalid states.

acpiec(4): Fix interrupt wait loop in acpiec_gpe_query thread.

acpiec(4): Fix cv_timedwait abuse in acpiec_read/write.

acpiec(4): Don't touch sc->sc_state outside sc->sc_mtx.

acpiec(4): Merge returns in acpiec_read/write.
No functional change intended.

acpiec(4): Factor wait logic out.
No functional change intended.

acpiec(4): Pass softc, not device_t, to acpiec_gpe_state_machine.
Simpler, type-safer.
No functional change intended.

acpiec(4): Pass softc, not device_t, to acpiec_callout.
Simpler.
No functional change intended.

acpiec(4): Pass softc, not device_t, to acpiec_gpe_handler.
Simpler.
No functional change intended.

acpiec(4): Pass softc, not device_t, to acpiec_lock/unlock.
Simpler, type-safer.
No functional change intended.

acpiec(4): Pass softc, not device_t, to acpiec_read/write.
Simpler, type-safer.
No functional change intended.

acpiec(4): Pass softc, not device_t, to acpiec_gpe_query thread.
Simpler.
No functional change intended.

acpiec(4): Pass softc, not device_t, to acpiec_space_handler.
Better to keep the device_t isolated to public interfaces. Simpler
internally this way.
No functional change intended.

acpiec(4): Factor out if (state == FREE) cv_signal(sc_cv).

In principle this could have a functional change, but at worst, it is
to signal more wakeups than needed, which should always be safe.
acpiec(4): Take a lock around acpiec_cold updates.

Otherwise we race with readers -- probably harmlessly, but let's
avoid the appearance of problems.
XXX Maybe acpiec_suspend and acpiec_shutdown should interrupt
transactions and force them to fail promptly?
XXX This looks bad because acpiec_cold is global and sc->sc_mtx
doesn't look like it's global, but we expect to have only one
acpiec(4) device anyway from what I understand. Maybe we should move
acpiec_cold into the softc?

acpiec(4): One more debug message about read/write polling timeout.
 1.188.2.1 02-Aug-2025  perseant Sync with HEAD
 1.192.2.1 20-Oct-2025  martin Pull up following revision(s) (requested by riastradh in ticket #66):

sys/arch/x86/include/mpacpi.h: revision 1.12
sys/arch/x86/x86/mpacpi.c: revision 1.112
sys/arch/amd64/conf/ALL: revision 1.194
sys/arch/i386/conf/ALL: revision 1.524
sys/arch/x86/acpi/acpi_machdep.c: revision 1.40
sys/arch/i386/conf/GENERIC: revision 1.1261
sys/dev/acpi/acpi_mcfg.h: revision 1.6
sys/arch/amd64/conf/GENERIC: revision 1.618

x86: Wire up PCI resource manager if enabled.

Enable in your kernel config with `options PCI_RESOURCE'.

Adapted from a patch by mlelstv@.
PR port-amd64/59118: Thinkpad T495s - iwm PCI BAR is zero
 1.9 02-Nov-2014  christos make DRMKMS the default on GENERIC and comment out the legacy drivers.
 1.8 26-Jul-2014  riastradh branches: 1.8.2; 1.8.4;
Rename radeondrmkms to just plain radeon.

radeondrmkmsfb will stay as is until the name radeonfb is available
(currently taken by legacy dev/pci/radeonfb.c).
 1.7 25-Jul-2014  dholland Fix description of DIAGNOSTIC in x86 kernels.
 1.6 25-Jul-2014  riastradh Hook up radeondrmkmsfb code.

Builds, not testable yet.
 1.5 24-Jul-2014  riastradh Rework Intel framebuffer attachment.

Turns out genfb_softc must be at the start of its own device_private,
so we can't have it in the middle of a structure, and certainly can't
have potentially multiple genfbs per graphics device. Failing to do
this is why entering ddb didn't work with an i915drmkms console.

Instead of putting a genfb_softc into each drm_fb_helper, put a
device_t into each drm_fb_helper and create a new intelfb(4) device
for each Intel framebuffer. This will be more flexible, too, in case
we want accelerated framebuffers later on. (XXX Need to adapt the
radeon code, which I'm disabling until that happens to avoid breaking
the build.)

While here, defer disabling VGA, vga_cndetach, and genfb_attach until
we're actually ready to do them all together along with the mode
switch. This should reduce the amount of time during which the
screen is blanked, in case it hangs.
 1.4 16-Jul-2014  riastradh First whack at radeon driver.

No hardware to test yet, but it builds.
 1.3 16-Jul-2014  riastradh Make it build and boot on my test machines.

Screen blanks on boot on the Ivy Bridge system with

DRM error in cpt_serr_int_handler: PCH transcoder A FIFO underrun

But after that everything is OK. Appears to be an upstream problem.
To investigate...

I think there's a cache flushing issue somewhere -- there are little
display artefacts on my T60.
 1.2 18-Mar-2014  riastradh branches: 1.2.2; 1.2.4; 1.2.6;
Merge riastradh-drm2 to HEAD.
 1.1 30-Jan-2014  riastradh branches: 1.1.2;
file DRMKMS was initially added on branch riastradh-drm2.
 1.1.2.1 30-Jan-2014  riastradh Redo amd64/NO_DRM config and add amd64/DRMKMS.
 1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.6.1 18-Mar-2014  yamt file DRMKMS was added on branch yamt-pagecache on 2014-05-22 11:39:28 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 18-Mar-2014  rmind file DRMKMS was added on branch rmind-smpnet on 2014-05-18 17:44:54 +0000
 1.2.2.1 10-Aug-2014  tls Rebase.
 1.8.4.3 03-Dec-2017  jdolecek update from HEAD
 1.8.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8.4.1 26-Jul-2014  tls file DRMKMS was added on branch tls-maxphys on 2014-08-20 00:02:42 +0000
 1.8.2.1 18-Mar-2015  snj Apply patch (requested by christos in ticket #542):
- Enable intel and radeon DRM/KMS drivers in GENERIC
- Disable all of the old DRM drivers in GENERIC
- Remove the separate DRMKMS kernel
 1.2 02-Jan-2008  jmmv branches: 1.2.2;
Remove this; objections from joerg@ and ad@, and I agree with them that
additional kernel configs are not the way to go because they are not
flexible at all. Plus ad@ is working on a real solution (bootprop).
 1.1 01-Jan-2008  jmmv Add a trimmed-down configuration file for the VMware Fusion virtual machine
suitable for the subset of hardware devices it provides.
 1.2.2.3 08-Jan-2008  bouyer Sync with HEAD
 1.2.2.2 02-Jan-2008  bouyer Sync with HEAD
 1.2.2.1 02-Jan-2008  bouyer file FUSION was added on branch bouyer-xeni386 on 2008-01-02 21:47:04 +0000
 1.619 21-Oct-2025  pgoyette Add Realtek 8126 to comment for rge*
 1.618 06-Oct-2025  riastradh x86: Wire up PCI resource manager if enabled.

Enable in your kernel config with `options PCI_RESOURCE'.

Adapted from a patch by mlelstv@.

PR port-amd64/59118: Thinkpad T495s - iwm PCI BAR is zero
 1.617 04-Aug-2025  skrll Add a port of the FreeBSD driver for the VMware PV SCSI controller found
in VMware's ESXi product.

Tested on ESXi/Arm such that an installation from ISO succeeds and boots.
 1.616 27-Mar-2025  riastradh branches: 1.616.2;
x86: Enable vio9p(4) out of the box.

PR kern/59211: vio9p(4): missing from various GENERICs and MAKEDEVs
 1.615 27-Mar-2025  riastradh virtio(4): Consolidate kernel configs.

No functional change intended.

Leave `# XXX ?' comments where I don't know why the driver in
question is excluded. (Typical reason is that PAGE_SIZE is not 4096
but I didn't investigate -- if you do investigate, please either
update the comment if you determine a reason, or enable the driver if
you don't.)

PR kern/59211: vio9p(4): missing from various GENERICs and MAKEDEVs
 1.614 27-Aug-2024  riastradh amd64, evbarm, i386: Add acpivmgenid(4) to GENERIC.

PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork
 1.613 16-Jul-2024  riastradh viocon(4): Add to various kernel configs.
 1.612 30-Apr-2024  andvar branches: 1.612.2;
viac7temp(4): rewrite temperature sensor to read value from MSR instead of using
documented cpuid instruction and eax register.

This approach is adapted from linux via-cputemp.c, no official documentation is
currently available. However, msr value seems to work on all tested CPUs while
documented cpuid instruction typically reports 0, even for my C7-D CPU.
msr value seems to have temperature in Celsius in lower 24-bits without fraction
(thus "msr & 0xffffff;" is used).

Tested on my personal systems based on CPUs below (i386 and amd64):
C7-D 1.6GHz (i386 only), Nano X2 L4350E, Nano X2 U4300, U2300 Nano, KX-U6580.
Also got one response via email which was based on Nano X2 L4050 (VE-900).
Nano reports independent values for each core.
KX-U6580 seems to show the same value for all cores but more testing is needed.

Since it works on amd64 capable CPUs, adding driver to GENERIC kernel config.
Also moving viac7temp man page to x86 instead of i386 (with updates).
In theory the change should add support for all VIA Nano CPUs and Zhaoxin CPUs
at least up to KX-6000(G) series.

In the future I may need to introduce amd64 kernel module as well.

Plan to pullup to at least netbsd-10.

Patch mainly reviewed by riastradh.
 1.611 21-Apr-2024  riastradh apei(4), acpihed(4): Enable in x86 GENERIC.

Let's just see how this works out in practice. Might need to reduce
the overhead of each GHES on machines with thousands of them, but
we'll see.

PR kern/58046
 1.610 02-Apr-2024  charlotte Mention DKWEDGE_METHOD_TOS in several kernel config files
 1.609 29-Jan-2024  christos PR/57889: Ricardo Branco: ext2fs does not have user immutable and append
file flags, only system ones. Restrict those to the superuser. Before
the behavior was controlled by EXT2FS_SYSTEM_FLAGS. Make that behavior the
default.
 1.608 23-Oct-2023  msaitoh eqos(4): Disable eqos(4) by default because it's not stable on x86.
 1.607 20-Oct-2023  msaitoh eqos(4): Add initial support for Intel Elkhart Lake internal Ethernet devices.

- Only tested on PSE SGMII 1G Ethernet MAC with MaxLinear GPY115.
- I don't know why dmat64 doesn't work. eqos_attach() have a special
code if EQOS_HW_FEATURE_ADDR64_32BIT(sc) is true, but it seems it doesn't
work.
- TODO:
Multiqueue support.
Detach support.
 1.606 04-Oct-2023  rin igc(4): Added to kernel config files for tested platforms

I.e., aarch64, amd64, and evbppc/DHT, at the moment.

Please feel free to add to other config files, and report us back
if you find problems :)
 1.605 09-Aug-2023  andvar viadrmums(4): build legacy VIA DRM UMS driver module for amd64.

This driver is not built-in by default, thus loadable module can help (un)lucky
owners of 64-bit capable VIA (Nano/Eden) systems or early AMD/Intel systems
with some VIA chipsets, which include VIA integrated graphics.
I also boldly added product IDs for few later models from VX8xx/VX9xx chipsets
without 3D support (DX9_0) to "expand" the driver support to more systems.
Tested successfully basic functionality on VX800, and partially successfully
on VX900 (on VX900 Xorg failed to initialize due to openchrome related issues,
viadrmums attaches and it is by used the driver).
Didn't test on VX855, I don't have one.

Pull up to netbsd-10 is needed.
 1.604 15-Jul-2023  riastradh amd64: Enable HEARTBEAT option, not just a HEARTBEAT option comment.
 1.603 15-Jul-2023  riastradh x86: Enable HEARTBEAT by default in GENERIC.
 1.602 12-Apr-2023  riastradh ichsmb(4), tco(4): Add support for TCO on newer Intel chipsets.

TCO (`Total Cost of Ownership', Intel's bizarre name for a watchdog
timer) used to hang off the Intel I/O platform controller hub's (ICH)
low-pin-count interface bridge (LPC IB), or ichlpcib(4). On newer
devices, it hangs off the ICH SMBus instead.

Tested on INTEL 100SERIES_SMB (works) and INTEL 100SERIES_LP_SMB
(doesn't work, still not sure why).

XXX kernel revbump: This breaks the module ABI -- tco(4) modules
older than the change to make ta_has_rcba into ta_version will
incorrectly attach at buses they do not understand. (However, the
tco(4) driver is statically built into GENERIC, so maybe it's safe
for pullup since the module wouldn't have worked anyway.)
 1.601 09-Feb-2023  abs Adjust _all_ cinclude of *.local files

- Ensure always at end
- Use tab rather than spaces
- Add consistent comment
"Pull in optional local configuration - always at end"

The only functional change is that a local file which tried to
override an existing setting (eg with "no foo") would have failed
in some cases before, but now will work
 1.600 09-Feb-2023  abs Ensure GENERIC.local is always at the end of GENERIC

Where a GENERIC config had an existing inclusion of GENERIC.local,
ensure it is always at the end of the file, with a consistent
comment:

# Pull in optional local configuration
cinclude "arch/landisk/conf/GENERIC.local"

This allows GENERIC.local to correctly override all options

(This pass does not affect any GENERIC which did not already have
an include of GENERIC.local)
 1.599 29-Sep-2022  riastradh branches: 1.599.4;
swwdog(4): Add to GENERIC kernels.

Plus a handful of others that I'm familiar with. Lots of special-
purpose kernels should probably have this too but I'm not going
through all the arm, mips, and ppc evaluation board kernels to see
which ones are relevant.

Omitted from systems I know to be very small:
- sun2/GENERIC
- dreamcast/GENERIC
Feel free to remove it from others that need to be kept smaller.

Compile-tested a few of these just in case:
- alpha/GENERIC
- amd64/GENERIC
- evbmips/OCTEON
- i386/GENERIC
- riscv/GENERIC

PR kern/29702
 1.598 24-Sep-2022  riastradh x86: Support EFI runtime services.

This creates a special pmap, efi_runtime_pmap, which avoids setting
PTE_U but allows mappings to lie in what would normally be user VM --
this way we don't fall afoul of SMAP/SMEP when executing EFI runtime
services from CPL 0. SVS does not apply to the EFI runtime pmap.

The mechanism is intended to work with either physical addressing or
virtual addressing; currently the bootloader does physical addressing
but in principle it could be modified to do virtual addressing
instead, if it allocated virtual pages, assigned them in the memory
map, and issued RT->SetVirtualAddressMap.

Not sure pmap_activate_sync and pmap_deactivate_sync are correct,
need more review from an x86 wizard.

If this causes fallout, it can be disabled temporarily without
reverting anything by just making efi_runtime_init return immediately
without doing anything, or by removing options EFI_RUNTIME.

amd64-only for now pending type fixes and testing on i386.
 1.597 01-Sep-2022  bouyer Add commented out experimental PVH dom0 options and pseudo-device
 1.596 07-Aug-2022  simonb UFS/LFS dirhash:
- Enable UFS_DIRHASH if the architecture or kernel model specific config
file can use 128MB of RAM or more.
- Remove experimental tag from UFS_DIRHASH; it's been with RUMP kernel
and by a number of NetBSD developers for years.
- Add LFS_DIRHASH if LFS was enabled.
- Be somewhat consistent with FS options order.
 1.595 16-Apr-2022  nia x86: Enable HDAUDIOVERBOSE (as on arm) in order for AUDIO_GETDEV
to return human-readable data. Especially now that HDMI/DP audio
is enabled by default, it helps to be able to tell two devices
apart in audiocfg/aiomixer.
 1.594 24-Mar-2022  manu Add initial support for Intel GPIO chips
 1.593 31-Oct-2021  simonb options<space><tab>
 1.592 16-Oct-2021  jmcneill Enable com and lpt at ACPI attachments.
 1.591 15-Oct-2021  jmcneill Swap fdc@isa for fdc@acpi as the former takes over a second to probe.
 1.590 09-Sep-2021  jakllsch Enable WSDISPLAY_CUSTOM_OUTPUT and WSDISPLAY_CUSTOM_BORDER on
amd64 GENERIC as i386 GENERIC already does.
 1.589 17-May-2021  yamaguchi Add a new link-aggregation pseudo interface named lagg(4)

- FreeBSD's lagg(4) based implementation
- MP-safe and MP-scalable
 1.588 10-Mar-2021  wiz branches: 1.588.4; 1.588.6;
drm(4): allow limiting maximum X/Y resolution

With some drivers (at least radeon(4)), in some cases the driver
does not choose the resolution correctly. The options
DRM_MAX_RESOLUTION_HORIZONTAL and DRM_MAX_RESOLUTION_VERTICAL allow
limiting the maximum resolution in X and Y direction.
 1.587 10-Mar-2021  msaitoh Add micphy(4).
 1.586 05-Mar-2021  gdt GENERIC: comment typo fix (spacing)
 1.585 04-Mar-2021  gdt GENERIC: Tiny comment adjustment (NFC)

While making XEN3_DOM0 more like GENERIC, I noticed a few differences
where GENERIC was off -- trivial things like missing spaces in
comments, inconsistent comment workding. This fixes those, both
because they are valid fixes in their own right once noticed, and to
make the diff to XEN smaller.
 1.584 01-Mar-2021  jakllsch enable rge(4) on x86 and evbarm64
 1.583 24-Jan-2021  jmcneill Attach dwiic(4) to AMD FCH I2C controllers. These busses are separate
from the SMBus that we attach to piixpm(4) today, and support direct
config via ACPI.
 1.582 20-Jan-2021  nia remove compat_ossaudio from kernel modules

this is only useful with compat_linux and gets autoloaded when
compat_linux is loaded, so there's no reason to bake it into kernels
any more.
 1.581 16-Jan-2021  thorpej Enable tpm @ acpi (now that it can match TPM 1.2 devices, which are not,
as the comment implies, experimental).
 1.580 27-Sep-2020  roy branches: 1.580.2;
vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.579 08-Sep-2020  yamaguchi Added iavf(4) that is based on OpenBSD's iavf(4) implementation

reviewed by msaitoh@n.o and knakahara@n.o
 1.578 30-Aug-2020  dholland typo in comment
 1.577 17-Aug-2020  christos remove commented out MEMORY_DISK_* entries
 1.576 17-Aug-2020  christos correct MEMORY_DISK_* option docs
 1.575 16-Aug-2020  jdolecek make COMPAT_LINUX option disabled by default

leave the option enabled only in amd64/i386 ALL kernels to make
sure it continues to be compilable also when included in kernel
 1.574 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.573 19-Jul-2020  maxv Compile USER_LDT by default, but, put it behind a privileged sysctl that
defaults to disabled. To enable:

# sysctl -w machdep.user_ldt=1
 1.572 14-Jul-2020  yamaguchi Enable PCPU_IDT option by default
 1.571 24-Jun-2020  thorpej Add amdccp at pci.
 1.570 18-Jun-2020  maxv style
 1.569 07-Jun-2020  maxv Add fault(4).
 1.568 16-May-2020  christos Add ACL support for FFS. From FreeBSD.
 1.567 02-May-2020  bouyer Introduce Xen PVH support in GENERIC.
This is compiled in with
options XENPVHVM
x86 changes:
- add Xen section and xen pvh entry points to locore.S. Set vm_guest
to VM_GUEST_XENPVH in this entry point.
Most of the boot procedure (especially page table setup and switch to
paged mode) is shared with native.
- change some x86_delay() to delay_func(), which points to x86_delay() for
native/HVM, and xen_delay() for PVH

Xen changes:
- remove Xen bits from init_x86_64_ksyms() and init386_ksyms()
and move to xen_init_ksyms(), used for both PV and PVH
- set ISA no-legacy-devices property for PVH
- factor out code from Xen's cpu_bootconf() to xen_bootconf()
in xen_machdep.c
- set up a specific pvh_consinit() which starts with printk()
(which uses a simple hypercall that is available early) and switch to
xencons when we can use pmap_kenter_pa().
 1.566 25-Apr-2020  bouyer Merge the bouyer-xenpvh branch, bringing in Xen PV drivers support under HVM
guests in GENERIC.
Xen support can be disabled at runtime with
boot -c
disable hypervisor
 1.565 15-Apr-2020  maxv Introduce POOL_NOCACHE, simple option to cancel pool_caches and go directly
to the pool layer. It is taken out of POOL_QUARANTINE.

Advertise POOL_NOCACHE for kMSan rather than POOL_QUARANTINE. With kMSan
we are only interested in the no-caching effect, not the quarantine. This
reduces memory pressure on kMSan kernels.
 1.564 28-Mar-2020  isaki branches: 1.564.2;
Reduce default AUDIO_BLK_MS from 40msec to 10msec on all platform except m68k
(m68k uses 40msec default as before). And remove the option from GENERIC.
- It's not good idea to set such parameter in individual GENERICs.
- 4msec is (probably no problem for most modern real hardware but)
too aggressive to be default.
- 10msec is too severe for antique machines but it's hard to draw a line.
 1.563 17-Feb-2020  nisimura add kse(4) for i386/amd64 GENERIC
 1.562 09-Feb-2020  jmcneill Retire azalia(4).
 1.561 08-Feb-2020  maxv Retire KLEAK.

KLEAK was a nice feature and served its purpose; it allowed us to detect
dozens of info leaks on the kernel->userland boundary, and thanks to it we
tackled a good part of the infoleak problem 1.5 years ago.

Nowadays however, we have kMSan, which can detect uninitialized memory in
the kernel. kMSan supersedes KLEAK: it can detect what KLEAK was able to
detect, but in addition, (1) it operates in all of the kernel and not just
the kernel->userland boundary, (2) it requires no user interaction, and (3)
it is deterministic and not statistical.

That makes kMSan the feature of choice to detect info leaks nowadays;
people interested in detecting info leaks should boot a kMSan kernel and
just wait for the magic to happen.

KLEAK was a good ride, and a fun project, but now is time for it to go.

Discussed with several people, including Thomas Barabosch.
 1.560 25-Jan-2020  thorpej Retire "le* at pci?" from the shipped kernel configs:
- If the config had both an le@pci and a pcn, simply remove le@pci
(pcn would match at a higher priority anyway).
- If the config had le@pci enabled, but no pcn, change le@pci to pcn.
- If the config had le@pci commented out, but no pcn, change le@pci
to pcn and leave it commented out.

The pcn driver supports more chips than le@pci and does DMA directly
to/from mbufs rather than memory copies.
 1.559 24-Jan-2020  nia Set AUDIO_BLK_MS=4 - unlikely to cause significant overhead on non-m68k.

Several of us have been setting this in /etc/sysctl.conf for months, to
get better performance from applications that require synced audio, etc.

It's also mentioned as a good value with low overhead on most archs here:
https://mail-index.netbsd.org/tech-kern/2019/12/07/msg025830.html

We could probably go lower, but this is low enough to make most/all
software run well, removing frame drops. It's also low enough to get
emulators/mednafen to stop complaining in the console.
 1.558 20-Jan-2020  thorpej Remove FDDI support.
 1.557 19-Jan-2020  thorpej Remove Token Ring support.
 1.556 19-Jan-2020  thorpej Remove HIPPI support and the esh(4) driver that uses it. There have not
been any users of HIPPI for some time, and it is unlikely to be resurrected.
 1.555 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.554 09-Jan-2020  manu Rollback multiboot2 for amd64, as requested by core
 1.553 01-Jan-2020  ryo branches: 1.553.2;
add aq(4)
 1.552 26-Dec-2019  msaitoh Add cas(4).
 1.551 14-Dec-2019  maxv Disable multiboot for now, too much breakage.
 1.550 10-Dec-2019  yamaguchi Ported driver for Intel Ethernet 700 series

reviewed by msaitoh and knakahara
 1.549 10-Dec-2019  manu Add multiboot 2 support to amd64 kernel
 1.548 05-Dec-2019  sevan Enable pciverbose option to make use of the pcidevs database by default.

ok ad, mrg
 1.547 20-Nov-2019  hikaru Add opencrypto driver for Intel QuickAssist.
 1.546 14-Nov-2019  maxv Add support for Kernel Memory Sanitizer (kMSan). It detects uninitialized
memory used by the kernel at run time, and just like kASan and kCSan, it
is an excellent feature. It has already detected 38 uninitialized variables
in the kernel during my testing, which I have since discreetly fixed.

We use two shadows:
- "shad", to track uninitialized memory with a bit granularity (1:1).
Each bit set to 1 in the shad corresponds to one uninitialized bit of
real kernel memory.
- "orig", to track the origin of the memory with a 4-byte granularity
(1:1). Each uint32_t cell in the orig indicates the origin of the
associated uint32_t of real kernel memory.

The memory consumption of these shadows is consequent, so at least 4GB of
RAM is recommended to run kMSan.

The compiler inserts calls to specific __msan_* functions on each memory
access, to manage both the shad and the orig and detect uninitialized
memory accesses that change the execution flow (like an "if" on an
uninitialized variable).

We mark as uninit several types of memory buffers (stack, pools, kmem,
malloc, uvm_km), and check each buffer passed to copyout, copyoutstr,
bwrite, if_transmit_lock and DMA operations, to detect uninitialized memory
that leaves the system. This allows us to detect kernel info leaks in a way
that is more efficient and also more user-friendly than KLEAK.

Contrary to kASan, kMSan requires comprehensive coverage, ie we cannot
tolerate having one non-instrumented function, because this could cause
false positives. kMSan cannot instrument ASM functions, so I converted
most of them to __asm__ inlines, which kMSan is able to instrument. Those
that remain receive special treatment.

Contrary to kASan again, kMSan uses a TLS, so we must context-switch this
TLS during interrupts. We use different contexts depending on the interrupt
level.

The orig tracks precisely the origin of a buffer. We use a special encoding
for the orig values, and pack together in each uint32_t cell of the orig:
- a code designating the type of memory (Stack, Pool, etc), and
- a compressed pointer, which points either (1) to a string containing
the name of the variable associated with the cell, or (2) to an area
in the kernel .text section which we resolve to a symbol name + offset.

This encoding allows us not to consume extra memory for associating
information with each cell, and produces a precise output, that can tell
for example the name of an uninitialized variable on the stack, the
function in which it was pushed on the stack, and the function where we
accessed this uninitialized variable.

kMSan is available with LLVM, but not with GCC.

The code is organized in a way that is similar to kASan and kCSan, so it
means that other architectures than amd64 can be supported.
 1.545 05-Nov-2019  maxv Add Kernel Concurrency Sanitizer (kCSan) support. This sanitizer allows us
to detect race conditions at runtime. It is a variation of TSan that is
easy to implement and more suited to kernel internals, albeit theoretically
less precise than TSan's happens-before.

We do basically two things:

- On every KCSAN_NACCESSES (=2000) memory accesses, we create a cell
describing the access, and delay the calling CPU (10ms).

- On all memory accesses, we verify if the memory we're reading/writing
is referenced in a cell already.

The combination of the two means that, if for example cpu0 does a read that
is selected and cpu1 does a write at the same address, kCSan will fire,
because cpu1's write collides with cpu0's read cell.

The coverage of the instrumentation is the same as that of kASan. Also, the
code is organized in a way similar to kASan, so it is easy to add support
for more architectures than amd64. kCSan is compatible with KCOV.

Reviewed by Kamil.
 1.544 01-Nov-2019  msaitoh Port SMSC LAN87xx 10/100 Ethernet PHY driver from FreeBSD with some cleanup
and IFM_NONE support.
 1.543 30-Oct-2019  msaitoh Add jmphy(4) from OpenBSD.
 1.542 28-Oct-2019  ozaki-r Add vio9p to some kernel configs
 1.541 25-Oct-2019  martin Add support for Nuvoton NCT5104D GPIO chips, as found on PC Engines APU
systems. From Andrew Doran in PR kern/54648.
 1.540 25-Oct-2019  martin whitespace
 1.539 25-Oct-2019  martin Add missing onewire temperature sensors, suggested by Andrew Doran.
 1.538 08-Oct-2019  maxv No I/O ports for TPM-ISA, only MMIO, so remove commented-out options.
 1.537 07-Oct-2019  msaitoh Add support IC Plus IP1000* PHYs. PR/kern 42314 first reported by
Tomokazu HARADA and patch provided by Andrius V.
 1.536 03-Oct-2019  tnn add mcx(4) to GENERIC

Tested on dual-port ConnectX-4 with 25 Gbit/s AOC
 1.535 14-Sep-2019  maxv Add vHCI, a driver which allows to send and receive USB packets directly
from userland via /dev/vhci. Using this, it becomes possible to test and
fuzz the USB stack and all the USB drivers without having the associated
hardware.

The vHCI device has four ports independently addressable.

For each xfer on each port, we create two packets: a setup packet (which
indicates mostly the type of request) and a data packet (which contains
the raw data). These packets are processed by read and write operations
on /dev/vhci: userland poll-reads it to fetch usb_device_request_t
structures, and dispatches the requests depending on bRequest and
bmRequestType.

A few ioctls are available:

VHCI_IOC_GET_INFO - Get the current status
VHCI_IOC_SET_PORT - Choose a vHCI port
VHCI_IOC_USB_ATTACH - Attach a USB device on the current port
VHCI_IOC_USB_DETACH - Detach the USB device on the current port

vHCI has already allowed me to automatically find several bugs in the USB
stack and its drivers.
 1.534 09-Aug-2019  rin xhci(4) is considered stable enough. So, remove misleading comments.

XXX
pullup to netbsd-9
 1.533 07-Aug-2019  maxv Sync with reality.
 1.532 01-Aug-2019  msaitoh Add ena(4).
 1.531 24-Jul-2019  msaitoh branches: 1.531.2;
USE <SPACE>+<TAB>
 1.530 17-Jun-2019  kamil Register UBSAN_ALWAYS_FATAL in kernel configs for kUBSan
 1.529 15-Jun-2019  maxv Add KASAN_PANIC, an option to turn KASAN warning into kernel panics,
requested by Siddharth. While here clarify a little.
 1.528 24-May-2019  nonaka Added drivers for Hyper-V Synthetic Keyboard and Video device.
 1.527 06-May-2019  sevan Use filesystems.config to reduce duplication
 1.526 26-Apr-2019  sevan Enable BUFQ_PRIOCSCAN, CARP, Veriexec by default in GENERIC kernel configs.
On ports without a GENERIC kernel config enable in individul files, e.g evbmips.
Omit on:
atari, dreamcast, emips, epoc32, evbppc/VIRTEX*, ia64, luna68x, mvme68k,
mvmeppc, playstation2, riscv, sun2, sun3, x68k, zaurus due to resource
constraints or port infancy.
 1.525 25-Apr-2019  msaitoh Add gem(4).
 1.524 18-Apr-2019  maya Follow arm64 and provide two sizes of fonts, so a larger one is chosen
for larger displays.
 1.523 18-Apr-2019  christos Yes, we support FFS_EI but not DISKLABEL_EI... How does that make sense?
 1.522 13-Apr-2019  maxv Introduce POOL_QUARANTINE, a feature that creates a window during which a
freed buffer cannot be reallocated. This greatly helps detecting
use-after-frees, because they are not short-lived anymore.

We maintain a per-pool fifo of 128 buffers. On each pool_put, we do a real
free of the oldest buffer, and insert the new buffer. Before insertion, we
mark the buffer as invalid with KASAN. On each pool_cache_put, we destruct
the object, so it lands in pool_put, and the quarantine is handled there.

POOL_QUARANTINE can be used in conjunction with KASAN to detect more
use-after-free bugs.
 1.521 28-Mar-2019  maxv Move NVMM in the "any" class, so that it can be enabled in GENERIC. Add
missing files in files.nvmm, and add NVMM (commented out) in the amd64
GENERIC. Remove the "caveats" section in the man page.
 1.520 01-Mar-2019  nonaka fix typo. pointed out by pgoyette@n.o.
 1.519 01-Mar-2019  pgoyette Rename the MODULE_*_HOOK() macros to MODULE_HOOK_*() as briefly
discussed on irc.

NFCI intended.

Ride the earlier kernel bump - it;s getting crowded.
 1.518 01-Mar-2019  nonaka Update Hyper-V related drivers description.
 1.517 23-Feb-2019  kamil Add KCOV - kernel code coverage tracing device

The KCOV driver implements collection of code coverage inside the kernel.
It can be enabled on a per process basis from userland, allowing the kernel
program counter to be collected during syscalls triggered by the same
process.

The device is oriented towards kernel fuzzers, in particular syzkaller.

Currently the only supported coverage type is -fsanitize-coverage=trace-pc.

The KCOV driver was initially developed in Linux. A driver based on the
same concept was then implemented in FreeBSD and OpenBSD.

Documentation is borrowed from OpenBSD and ATF tests from FreeBSD.

This patch has been prepared by Siddharth Muralee, improved by <maxv>
and polished by myself before importing into the mainline tree.

All ATF tests pass.
 1.516 15-Feb-2019  nonaka Added Microsoft Hyper-V support. It ported from OpenBSD and FreeBSD.

graphical console is not work on Gen.2 VM yet. To use the serial console,
enter "consdev com,0x3f8,115200" on efiboot.
 1.515 01-Jan-2019  maya Add commented out amdgpu.

(Builds, untested on hardware)
 1.514 25-Dec-2018  mlelstv Make ipmi driver available to other platforms.
Add ACPI attachment.
 1.513 14-Dec-2018  jakllsch add cardbus malo(4) to x86 GENERIC and ALL kernels
 1.512 12-Dec-2018  maxv Remove references to "lmc" in the kernel configurations.
 1.511 11-Dec-2018  maya revert previous, nouveau apparently works for some people.
 1.510 11-Dec-2018  maya disable nouveau. it hasn't been functional since the import of new drmkms
code.
 1.509 02-Dec-2018  maxv Introduce KLEAK, a new feature that can detect kernel information leaks.

It works by tainting memory sources with marker values, letting the data
travel through the kernel, and scanning the kernel<->user frontier for
these marker values. Combined with compiler instrumentation and rotation
of the markers, it is able to yield relevant results with little effort.

We taint the pools and the stack, and scan copyout/copyoutstr. KLEAK is
supported on amd64 only for now, but it is not complicated to add more
architectures (just a matter of having the address of .text, and a stack
unwinder).

A userland tool is provided, that allows to execute a command in rounds
and monitor the leaks generated all the while.

KLEAK already detected directly 12 kernel info leaks, and prompted changes
that in total fixed 25+ leaks.

Based on an idea developed jointly with Thomas Barabosch (of Fraunhofer
FKIE).
 1.508 24-Nov-2018  bouyer Add mpii(4), a driver for LSI Megaraid Fusion controllers.
Ported from OpenBSD. This driver is MP-safe.
Note that the earlier fusion controllers (Megaraid 2208, codenamed Thunderbold)
are also supported by mfi(4). mpii will take precedence if both drivers
are enabled.
Tested on a
mfii0 at pci6 dev 0 function 0: "PERC H740P Adapter ", firmware 50.3.0-1512, 819
2MB cache
mfii0: interrupting at ioapic2 pin 2
scsibus0 at mfii0: 64 targets, 8 luns per target
scsibus0: waiting 2 seconds for devices to settle...
sd0 at scsibus0 target 0 lun 0: <DELL, PERC H740P Adp, 5.03> disk fixed
sd0: fabricating a geometry
sd0: 99 GB, 102399 cyl, 64 head, 32 sec, 512 bytes/sect x 209714688 sectors
sd0: tagged queueing
sd1 at scsibus0 target 1 lun 0: <DELL, PERC H740P Adp, 5.03> disk fixed
sd1: fabricating a geometry
sd1: 22254 GB, 22788608 cyl, 64 head, 32 sec, 512 bytes/sect x 46671069696 sectors
sd1: fabricating a geometry

It supports bioctl(8) ioctls, as well as sensors for the BBU and logical
drives.

Sponsored by LIP6.
 1.507 17-Nov-2018  uwe Add commented out options WSEMUL_DEFAULT="\"vt100\""

If WSEMUL_SUN is enabled it becomes the default emulation which is
most likely not what we want here.
 1.506 07-Oct-2018  maxv Make it clear that you need to disable SVS if you enable USER_LDT. I could
make SVS compatible with it, but there has to be someone doing Wine work
first, to justify the effort.
 1.505 06-Sep-2018  maxv Retire the 'midway' driver. Discussed on tech-net@ recently and also three
years ago, part of removing the network ATM code.
 1.504 20-Aug-2018  maxv Add support for kASan on amd64. Written by me, with some parts inspired
from Siddharth Muralee's initial work. This feature can detect several
kinds of memory bugs, and it's an excellent feature.

It can be enabled by uncommenting these three lines in GENERIC:

#makeoptions KASAN=1 # Kernel Address Sanitizer
#options KASAN
#no options SVS

The kernel is compiled without SVS, without DMAP and without PCPU area.
A shadow area is created at boot time, and it can cover the upper 128TB
of the address space. This area is populated gradually as we allocate
memory. With this design the memory consumption is kept at its lowest
level.

The compiler calls the __asan_* functions each time a memory access is
done. We verify whether this access is legal by looking at the shadow
area.

We declare our own special memcpy/memset/etc functions, because the
compiler's builtins don't add the __asan_* instrumentation.

Initially all the mappings are marked as valid. During dynamic
allocations, we add a redzone, which we mark as invalid. Any access on
it will trigger a kASan error message. Additionally, the compiler adds
a redzone on global variables, and we mark these redzones as invalid too.
The illegal-access detection works with a 1-byte granularity.

For now, we cover three areas:

- global variables
- kmem_alloc-ated areas
- malloc-ated areas

More will come, but that's a good start.
 1.503 14-Aug-2018  maxv Replace references to etherip by l2tp. Etherip was already not enabled
anyway.
 1.502 13-Aug-2018  mrg use dev/usb/usbdevices.config, gaining these missing drivers:
slurm(4), uthum(4), umcs(4), uark(4), upgt(4), and usmsc(4).
 1.501 12-Aug-2018  sevan Remove commented out BPFJIT & SLJIT options as they are provided as loadable
modules already.

Heads up by <leot> <christos>
 1.500 10-Aug-2018  sevan Add snippet for bpfjit(4) as both i386 and amd64 are listed as supported.
Ideally BPFJIT should be enabled by default for use with NPF but I haven't
raised the question (no access to email at the moment) hence both are disabled.
 1.499 03-Aug-2018  kamil Register kUBSan in the GENERIC amd64 kernel config

Tested with GCC.
 1.498 01-Aug-2018  maxv Unreference IPF/PF from the x86 config files (amd64, i386, xen), and enable
NPF instead when wanted.
 1.497 31-Jul-2018  khorben Add a port of the umb(4) driver from OpenBSD

The umb(4) driver provides support for USB MBIM (Mobile Broadband
Interface Model) devices.

MBIM devices establish connections via cellular networks such as GPRS,
UMTS, and LTE. They appear as a regular point-to-point network interface, transporting raw IP frames.

Required configuration parameters like PIN and APN have to be set with
umbctl(8), a new tool specific to this driver. The IP address is configured
automatically; the default route and DNS server information have to be set
separately.

The driver is not fully functional yet, it is therefore still marked as
experimental and disabled by default. Any help welcome to complete it!

Tested on NetBSD/amd64, with a Sierra Wireless EM7345 LTE modem on a Lenovo
ThinkPad T440s. No functional change expected otherwise.
 1.496 13-Jul-2018  maxv Remove the X86PMC code I had written, replaced by tprof. Many defines
become unused in specialreg.h, so remove them. We don't want to add
defines all the time, there are countless PMCs on many generations, and
it's better to just inline the event/unit values.
 1.495 12-Jul-2018  maya Add entries for viadrmums to amd64 kernel configs too.

Commented out for GENERIC, same as i386.
 1.494 10-Jul-2018  maya Remove viadrm(4), superseded by viadrmums.

Aside from viadrm using older drm code, it's also dysfunctional right now.
See PR port-i386/53364.
 1.493 07-Jun-2018  thorpej branches: 1.493.2;
Revert changes that pinned-down i2c parent specs. The i2c subsystem
has been enhanced to make this unnecessary.
 1.492 22-May-2018  maxv Clarify the parameters for the SpectreV2 mitigation.

Add:
machdep.spectre_v2.swmitigated
Rename:
machdep.spectre_v2.mitigated -> machdep.spectre_v2.hwmitigated

Change the method string, to combine both the hardware and software
mitigations. swmitigated is set at compile time, hwmitigated can be
set by the user.

Examples:

spectre_v2.swmitigated = 1
spectre_v2.hwmitigated = 0
spectre_v2.method = [GCC retpoline]

spectre_v2.swmitigated = 0
spectre_v2.hwmitigated = 0
spectre_v2.method = (none)

spectre_v2.swmitigated = 1
spectre_v2.hwmitigated = 1
spectre_v2.method = [GCC retpoline] + [Intel IBRS]
 1.491 15-May-2018  thorpej Fully specifiy the location of indirectly-configured I2C devices. In
particular, the parent spec must not be wild-carded, as doing so doesn't
work well on systems where more than one I2C bus is present.

N.B. The x86 platforms are sort of a mess, here... legacy indirect
config and ACPI direct config sort of smashed together with the
same config file directives.
 1.490 11-May-2018  maya Enable bwfm at pci.
 1.489 08-Apr-2018  mrg turn on GCC spectre v2 mitigation options.

XXX: amd64 ALL doesn't build for me right now
 1.488 07-Apr-2018  mrg actually do what the previous change said:
don't turn on the new 'SPECTRE_V2_GCC_MITIGATION' option yet.
 1.487 07-Apr-2018  mrg add an SPECTRE_V2_GCC_MITIGATION option to x86 kernels, that turns
on the GCC spectre v2 mitigation options.

XXX: pullup-8.
XXX: turn on in all kernels.
 1.486 22-Mar-2018  rin Add njs(4) at pci(4) and cardbus(4).
 1.485 26-Feb-2018  maxv branches: 1.485.2;
Enable SVS by default.
 1.484 27-Jan-2018  pgoyette Update amdzentemp(4) attachment info. Also for ALL, remove duplicate
entry for amdtemp(4).
 1.483 26-Jan-2018  maxv Add etherip, so that we at least know it exists on amd64.
 1.482 25-Jan-2018  christos add amdzentemp
 1.481 13-Jan-2018  christos added commented out AUTOFS pseudo-device entries
 1.480 10-Jan-2018  knakahara add ipsec(4) interface to amd64/GENERIC and amd64/ALL configs.
 1.479 09-Jan-2018  christos Merge autofs support from: Tomohiro Kusumi
XXX: Does not work yet
 1.478 07-Jan-2018  maxv Don't enable SVS yet.
 1.477 07-Jan-2018  maxv Add a new option, SVS (for Separate Virtual Space), that unmaps kernel
pages when running in userland. For now, only the PTE area is unmapped.

Sent on tech-kern@.
 1.476 31-Dec-2017  christos explain that a.out never shipped on x86_64 and put back compat_nomid
 1.475 10-Dec-2017  bouyer Add dwiic, ihidev and ims
 1.474 09-Dec-2017  riastradh Attach wsmouse at wsmousedev on x86 so modular mice have a hope.

As noted on tech-kern:

https://mail-index.NetBSD.org/tech-kern/2017/12/08/msg022708.html
 1.473 05-Dec-2017  dholland Add missing wsbell, commented out with a note that it's apparently only
a module by default.

This way people making their own configs have half a prayer of
realizing they might need to turn it on, instead of just not getting
beeps any more for no clear reason.

XXX: Wasn't the agreement after the last round of module flamage that
XXX: things shouldn't be module-only in GENERIC?
 1.472 05-Dec-2017  dholland Sort the file system options by which fs they apply to.
 1.471 02-Dec-2017  maxv Drop COMPAT_13 on amd64, already not enabled. Reduces the number of
critical places.
 1.470 02-Dec-2017  maxv Drop COMPAT_10 on amd64. The support for it comes down to one ifdef in
trap.c - code that is incorrect anyway, there were originally three lcall
LDT slots, and here only one instruction is decoded.

Given that one of these slots was used by BSDi's syscall, also remove the
references to COMPAT_NOMID to make clear we don't support that (it already
is not enabled).

Note: for some reason, COMPAT_10 does not even compile, because there are
"multiple definitions of _KERNEL_OPT_COMPAT_...", and I don't really
understand where this comes from.
 1.469 25-Nov-2017  jmcneill Add qemufwcfg (QEMU Firmware Configuration device)
 1.468 06-Nov-2017  rin Revive commented out DISKLABEL_EI option to kernel configuration files
that contain FFS_EI option.
 1.467 19-Oct-2017  jmcneill add bwfm
 1.466 14-Sep-2017  mrg clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.465 13-Sep-2017  sevan Remove support for VERIFIED_EXEC_FP_RMD160, VERIFIED_EXEC_FP_SHA1, and VERIFIED_EXEC_FP_MD5 options.
These algorithms are either broken or on their way to being broken.

Discussed on tech-security
http://mail-index.netbsd.org/tech-security/2017/08/21/msg000936.html

ok riastradh
 1.464 13-Aug-2017  christos Add ALPS pms support
 1.463 04-Aug-2017  maxv Revert my changes, and re-enable COMPAT_NOMID, COMPAT_09 and COMPAT_43.
Several compat options happen to be dependent on the compat_43_* functions,
the availability of which is (wrongfully) controlled with COMPAT_43. Same
for COMPAT_09.
 1.462 28-Jul-2017  maxv After a careful review, and all things considered, disable compat43 by
default on amd64. The use case is limited, the potential for damage too
high, and it is safer to run a BSD4.3 binary on i386 since the kernel does
not have to go through netbsd32 - which may not correctly reproduce i386.
 1.461 22-Jul-2017  maxv Add USER_LDT, commented out for now.
 1.460 12-Jul-2017  maxv Enable PMCs by default.
 1.459 27-May-2017  bouyer branches: 1.459.2;
Add options CAN and pseudo-device canloop to ALL kernel configs.
Add the same commented out to i386/amd64 GENERIC and OLIMEXLIME2 (A20-based).
Also add commented out awincan0 in OLIMEXLIME2.
 1.458 25-May-2017  para follow u3ginit driver rename to umodeswitch
 1.457 18-Apr-2017  riastradh gson@ informs me the Alea I and II have the same USB product id.

Thus, ualea(4) should work for both of them. Rename USB product id
ARANEUS ALEA_II to ARANEUS ALEA to reflect this.

No functional change intended, except perhaps via usbdevs.
 1.456 17-Apr-2017  riastradh New rndsource driver for Araneus Alea II TRNG USB devices.

Disabled by default in x86/GENERIC and usbdevices.config pending
review and testing without rump ugenhc in the way, but enabled in
x86/ALL for compile-testing.

(Hi gson! Finally found a round tuit in my pocket, next to a certain
rectangular one.)
 1.455 10-Mar-2017  maxv PMCs for amd64 - still disabled, like i386.
 1.454 26-Feb-2017  rin Comment out DISKLABEL_RDB as it is too specific for general usage.
(Also add commented out that entry for GENERIC on amd64; I forgot it)
 1.453 26-Feb-2017  maya Remove commented DISKLABEL_EI for strictly little endian architectures

It will never be useful.
 1.452 19-Feb-2017  rin PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.451 16-Feb-2017  knakahara add l2tp(4) to amd64/GENERIC and amd64/ALL config.
 1.450 12-Jan-2017  ryo branches: 1.450.2;
white space police
 1.449 31-Dec-2016  christos Add commented out TCP_SIGNATURE
 1.448 18-Dec-2016  dholland Whitespace.
 1.447 13-Dec-2016  christos wildcard speaker attachments, now that we can handle many of them.
 1.446 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.445 09-Dec-2016  christos kill PCPPISPEAKER
 1.444 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.443 26-Nov-2016  christos mention PAX_SEGVGUARD dependency on FILEASSOC
 1.442 26-Nov-2016  dholland 1.6 was the first amd64 release. (although it didn't really work too well
before -5)
 1.441 26-Nov-2016  dholland Note that really old compat is only useful for running 32-bit binaries.

XXX: someone please indicate what the oldest possible extant x86_64
binaries are; I can't find an authoritative source.
 1.440 25-Nov-2016  dholland fileassoc is used by PaX as well as veriexec - update note accordingly.
 1.439 25-Nov-2016  dholland sort iwm* before iwn*
 1.438 25-Nov-2016  dholland The compat options should all be in one block.
 1.437 07-Aug-2016  christos rename ifmpls to mpls, so we don't have if_ifmpls...
 1.436 27-Jul-2016  msaitoh Add sdtemp(4)
 1.435 21-Jun-2016  nonaka branches: 1.435.2;
add sdhc(4) at acpi to i386 and amd64 GENERIC kernel config.
 1.434 14-Jun-2016  pgoyette Re-arrange PAX_ASLR options to keep the _DEBUG next to the main option.
 1.433 14-May-2016  christos Turn on MPROTECT on GENERIC and both MPROTECT and ASLR on XEN*
 1.432 01-May-2016  nonaka Added nvme(4) for Non-Volatile Memory Host Controller Interface devices.
Ported from OpenBSD.
 1.431 23-Apr-2016  skrll Merge nick-nhusb

- API / infrastructure changes to support memory management changes.
- Memory management improvements and bug fixes.
- HCDs should now be MP safe
- conversion to KERNHIST based debug
- FS/LS isoc support on ehci(4).
- conversion to kmem(9)
- Some USB 3 support - mostly from Takahiro HAYASHI (t-hash).
- interrupt transfers now get proper DMA operations
- general bug fixes
- kern/48308
- uhub status notification improvements
- umass(4) probe fix (applied to HEAD already)
- ohci(4) short transfer fix
 1.430 13-Apr-2016  riastradh Enable nouveau by default again in x86 GENERIC.
 1.429 10-Apr-2016  christos We don't need TRAP_SIGDEBUG
 1.428 10-Apr-2016  christos - Turn on ASLR by default
- Add PAX_MPROTECT_DEBUG flag
 1.427 19-Mar-2016  gdt Disable uscanner in all kernel configs

As discussed on current-users@, SANE uses ugen via libusb and not
uscanner, so users are not well served by having uscanner. Consensus
is that addressing how to adjust permissions for scanners should not
block restoring basic functionionality.

(Compile-tested only, but there are multiple reports of this being the
right approach.)
 1.426 16-Mar-2016  christos Add PAX_SEGVGUARD disabled.
 1.425 05-Mar-2016  riastradh Revert to disabling nouveau by default in x86 GENERIC.

Haven't had time to debug the issues that seem to affect pretty much
everyone. Maybe soon!
 1.424 13-Feb-2016  riastradh Add nouveau to x86 GENERIC kernels.
 1.423 30-Jan-2016  christos compile full symbol table for CTF so FBT can get function arguments.
 1.422 22-Jan-2016  riz Enable KDTRACE_HOOKS on i386 and amd64 GENERIC.
 1.421 10-Jan-2016  christos scsibus at scsi should work; if it does not...
 1.420 10-Jan-2016  christos PR/50636: Ryo ONODERA: Add scsibus to vioscsi
 1.419 05-Jan-2016  msaitoh Add ismt(4).
 1.418 30-Oct-2015  christos add vioscsi
 1.417 21-Sep-2015  nonaka PR/50261: Added newer Toshiba hotkeys support.
 1.416 27-Aug-2015  nonaka Added rtwn(4) for Realtek RTL8188CE/RTL8192CE PCIe 802.11b/g/n wireless network
devices. Ported from OpenBSD.
 1.415 13-Aug-2015  msaitoh Compile ixv(4) by default.
 1.414 08-Aug-2015  maxv Remove KMEMSTATS.
 1.413 03-May-2015  pgoyette Update to include the tco driver (it was previously included as part of
ichlpcib).
 1.412 23-Apr-2015  pgoyette Add a space after "options" and before the <tab> for conformity
with other options. Among other things, this allows one to
remove the # comment character without breaking the vertical
alignment.
 1.411 10-Mar-2015  msaitoh Modify to make Intel Intel 10G Ethernet (ixg(4)) virtual function ixv(4)
compilable. Not completed yet. It's required to use MSI-X.
 1.410 06-Mar-2015  riastradh Fix tabbing of drm lines.
 1.409 06-Mar-2015  riastradh Fix commented nouveau in amd64/GENERIC. Add nouveau to amd64/ALL.

Remove NV_DEBUG from amd64/ALL -- it breaks nouveau, and I can't find
any use of it in src/sys outside arch/atari/dev/nvram.c, which surely
has no relevance to amd64.

(Nouveau has an internal NV_DEBUG(...) macro for debug messages.)
 1.408 13-Feb-2015  nonaka iwm(4) works now, but 2.4GHz only.

> iwm0 at pci2 dev 0 function 0: Intel Dual Band Wireless AC 3160 (rev. 0x83)
> iwm0: interrupting at ioapic0 pin 18
> iwm0: hw rev: 0x160, fw ver 25.228 (API ver 9), address XX:XX:XX:XX:XX:XX
> iwm0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
> iwm0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
 1.407 07-Feb-2015  pooka Add a driver for Intel Centrino 7260 and similar wireless cards.
Supported devices should more or less match ones supported
by the Linux iwlwifi mvm driver. Sponsored by genua mbh for OpenBSD.

This is probably the world's first Canadian cross device driver: it was
created for OpenBSD by writing and porting a NetBSD driver which was
developed in a rump kernel in Linux userspace.

Note: I don't have access to the hardware anymore, so this version is
not tested and not enabled by default. While I tried to be careful in
adding the NetBSD bits back, it's probable that there's a snafu or two.
Feel free to send private email in case you have the hardware and there
are issues.
 1.406 19-Dec-2014  msaitoh Sync gpio related lines with i386/conf/GENERIC.
 1.405 12-Dec-2014  christos Add options to run a.out i386 binaries (commented out)
 1.404 16-Nov-2014  manu branches: 1.404.2;
Remove unused extended attributes kernel options

As Masao Uebayashi pointed to me, UFS_EXTATTR_AUTOSTART, LFS_EXTATTR_AUTOSTART
and UFS_EXTATTR_AUTOCREATE are not used anywhere in the code. Remove them
as they have been obsolete for a long time:
UFS_EXTATTR_AUTOSTART was replaced by mount -o extattr
LFS_EXTATTR_AUTOSTART was created to match obsolete UFS_EXTATTR_AUTOSTART
UFS_EXTATTR_AUTOCREATE was replaced by sysctl vfs.ffs.extattr_autocreate
 1.403 12-Nov-2014  manu Support for UFS1 extended attributes in GENERIC and GENERIC-like kernels

This change just brings UFS1 extended attribute *support* in the kernel,
extended attributes are not enabled unless three conditions are met:
1) filesystem is UFS1 (newfs -O1)
2) .attribute/system and .attribute/user directories are created at fs root
3) filesystem is mounted with -o extattr

Some GENERIC kernels are obviously memory constrained, the extended
attributes options were not enabled for them, but just added commented out.
(kernel were considered memory constrained if QUOTA option was disabled)
 1.402 02-Nov-2014  christos make DRMKMS the default on GENERIC and comment out the legacy drivers.
 1.401 26-Oct-2014  tls Add viornd(4), a driver for the VirtIO entropy source available on
QEMU, KVM, and Google Compute Engine. From OpenBSD.
 1.400 18-Oct-2014  uebayasi Install agp_* drivers where pchb(4) is installed except INSTALL_FLOPPY.

XXX
Config around agp(4) is done in quite wrong direction.
"pchb <- (agpbus) <- agp <- agp_*"
should be:
"pchb <- (pcibus) <- agp_* <- (agpbus) <- agp"
 1.399 19-Sep-2014  christos Add HDAUDIOVERBOSE
 1.398 19-Sep-2014  christos Disable BSDLABEL and MBR DKWEDGE methods again since sysinst does not work
with wedges.
 1.397 18-Sep-2014  wiz Add commented out KDTRACE_HOOKS line.
 1.396 24-Aug-2014  jnemeth Create an "options MODULAR_DEFAULT_AUTOLOAD" config option and add
it to all kernel configs that contain "options MODULAR". This
option turns on module autoloading by default (which is the current
default). This allows people who don't want module autoloading on
by default to disable it by simply removing/commentting this line.
 1.395 23-Aug-2014  dholland Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.394 18-Aug-2014  christos - Enable Wedge support for MBR/BSDLABEL where it was commented out.
- Add apple partition support where it was missing
- Add comments where missing
 1.393 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.392 25-Jul-2014  dholland branches: 1.392.2;
Fix description of DIAGNOSTIC in x86 kernels.
 1.391 16-Jun-2014  dsl Comment out the xhci entries.
The driver really doesn't work well enough to be generally useful.
 1.390 12-Jun-2014  alnsn Revert the previous (comment only change).
 1.389 12-Jun-2014  alnsn Add a comment about disabling INET6. Should fix kern/48901.
 1.388 10-Jun-2014  hikaru Add VMware VMXNET3 ethernet driver from OpenBSD, vmx(4).
 1.387 29-May-2014  christos enable IPSEC
 1.386 21-Apr-2014  chs add malo at pcmcia.
 1.385 08-Apr-2014  riastradh Enable options VND_COMPRESSION in amd64/GENERIC.
 1.384 08-Apr-2014  christos add ixg
 1.383 24-Mar-2014  szptvlfn branches: 1.383.2;
fix manual section numbering of sysctl.
thanks wiz@
 1.382 19-Mar-2014  nonaka Add a driver for Realtek RTS5209/RTS5229 Card Reader.
Ported from OpenBSD.
 1.381 26-Oct-2013  nonaka Add driver for ASIX AX88178a and AX88179 Ethernet interface.
Ported from OpenBSD.
 1.380 23-Oct-2013  matt Add xhci device
 1.379 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.378 10-Jun-2013  kardel branches: 1.378.2;
adjust soekrisgpio driver to NetBSD
 1.377 05-Jun-2013  christos remove obsolete networking options
 1.376 04-Jun-2013  christos sync drm with i386
 1.375 28-May-2013  kiyohara Add udsir.
 1.374 03-May-2013  jakllsch Enable sdhc* at cardbus? in amd64 GENERIC. As it is already in i386
GENERIC. sdhc(4) has had working detach support for a while now too.
 1.373 27-Apr-2013  christos more bogus number removal
 1.372 27-Apr-2013  christos the bogus number police
 1.371 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.370 06-Apr-2013  martin athn at pci has been successfully tested
 1.369 30-Mar-2013  christos patches for new wifi devices.
 1.368 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.367 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.366 20-Dec-2012  christos fix cut-n-paste.
 1.365 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.364 23-Sep-2012  chs add vmt entry to GENERIC.
standardize commented pfsync and npf entries.
 1.363 01-Sep-2012  jakllsch branches: 1.363.2;
Rename RT2500USB driver to ural(4) as it was originally in OpenBSD,
as ural(4) and ral(4) do not actually share any code.

Enable ural(4) in hpcarm WZERO3 kernel too, as it will now build.

Fixes PR#43520.
 1.362 01-Sep-2012  jakllsch back out unintentional change in 1.352.
 1.361 27-Aug-2012  dholland whitespace
 1.360 24-Aug-2012  dholland Restore comment heading lost during the MODULAR thrashing.
 1.359 01-Aug-2012  matt Enable FFS_EI (let's be more endian tolerant).
 1.358 30-Jul-2012  degroote Add malo(4) entry in various kernel configuration
 1.357 14-Jun-2012  riz Add urtw(4) to i386/amd64 GENERIC.
 1.356 05-Jun-2012  abs Adjust the WSDISPLAY_COMPAT_USL comment to mention wsconscfg, to at least
give a hint that its not just for third party compat. No functional change.
 1.355 30-May-2012  nonaka Add a driver for Ralink Technology RT2700U/RT2800U/RT3000U USB IEEE
802.11a/b/g/n wireless network devices, ported from OpenBSD by FUKAUMI Naoki,
arranged by me.
 1.354 19-Apr-2012  bouyer Add mpii(4), a driver for LSI Logic Fusion-MPT Message Passing Interface II
SAS controllers. Ported from OpenBSD.
 1.353 13-Apr-2012  cegger Replace amdtempbus with amdnb_miscbus.
This allows us to have independent drivers on the same device (northbridge f3)
each coming with a certain functionality/feature.
This way we do not need to mess with amdtemp(4) to utilize other features.
 1.352 07-Apr-2012  christos add apple autodiscovery.
 1.351 25-Mar-2012  nonaka Added urtwn(4), a driver for Realtek RTL8188CU/RTL8192CU USB IEEE 802.11b/g/n wireless network devices.
 1.350 10-Mar-2012  joerg P1003_1B_SEMAPHORE is no longer optional.
 1.349 28-Feb-2012  mbalmer Add commented out DDB_COMMANDONENTER example, enable pwdog(4).
 1.348 22-Jan-2012  christos branches: 1.348.2;
add a tpm driver from bsssd.sourceforge.net
 1.347 17-Jan-2012  veego Back out all changes for rev 1.346 which are not related to PR/45850
Should fix the reported build problem from Paul Goyette
 1.346 17-Jan-2012  christos PR/45850: Pierre Pronchery: USB multi-touch panels are not supported
 1.345 16-Jan-2012  jmcneill add irmce(4), cir@irmce, and cir@emdtv
 1.344 15-Jan-2012  jmcneill add & enable digital tv capture support
 1.343 13-Jan-2012  cegger Support CPU microcode loading via cpuctl(8).
Implemented and enabled via CPU_UCODE kernel config option
for x86 and Xen Dom0.
Tested on different AMD machines with different
CPU families.

ok wiz@ for the manpages
ok releng@
ok core@ via releng@
 1.342 31-Dec-2011  christos Add an ipad
 1.341 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.340 22-Nov-2011  tls branches: 1.340.2;

The rnd pseudo-device is not really optional, because it is in the same
source file as the entropy-pool code itself. Move it to std. This
will be cleaned up more when I split the sources up as they should be.

This fixes build breaks on several ports. Thanks to Havard Eidnes for
pointing them out.
 1.339 13-Nov-2011  mbalmer Add commented out entry for gpiopwm(4).
 1.338 30-Oct-2011  hannken branches: 1.338.2;
Import of the virtio driver written by MINOURA Makoto <minoura@netbsd.org>
with minor changes to make it compile an run on -current. This driver
speeds up disk and network access in virtual environments like KVM.

Enabled on i386 and amd64. Tested with a CentOS 5.7 x86_64 host.

See http://ozlabs.org/~rusty/virtio-spec/virtio.pdf for the specification.
 1.337 30-Aug-2011  mbalmer Add gpio entries, commented out, since I am working with them as modules atm.
 1.336 30-Aug-2011  jmcneill revert previous
 1.335 30-Aug-2011  jruoho Comment out the legacy bktr(4) from the GENERICs.
 1.334 18-Aug-2011  jakllsch Attach amdtemp(4) at pchb(4) instead of in place of pchb(4).

Should fix PR#45268.
 1.333 11-Aug-2011  mbalmer Add commented out sample entry for pwdog(4).
 1.332 09-Aug-2011  jmcneill remove commented out entries for emdtv, auvitek, and dtv
 1.331 08-Aug-2011  jmcneill remove dtv (available as a module)
 1.330 08-Aug-2011  jakllsch Add P1003_1B_SEMAPHORE to match i386.
 1.329 08-Aug-2011  jakllsch Finish reverting premature modularization of amd64 kernels.
 1.328 30-Jul-2011  jmcneill add PCKBD_CNATTACH_MAY_FAIL to be consistent with i386
 1.327 23-Jul-2011  jakllsch Enable or note aubtfwl(4) wherever ubt(4) is enabled or noted.
 1.326 21-Jul-2011  jakllsch Add wmieeepc(4) to amd64 GENERIC.
 1.325 21-Jul-2011  jakllsch Add dtv* at dtvbus? because I'll get weird looks if I introduce a #if NDTV > 0,
and also if I don't un-Break the build.
 1.324 20-Jul-2011  jakllsch Add cxdtv(4) and urndis(4). Also, two slight cosmetic changes.
 1.323 13-Jul-2011  jruoho A driver for HP 3D DriverGuard; a LIS3LV02DL-based accelerometer. Tested on
HP NC4400. Like aps(4), this is commented out in the GENERIC kernels.
 1.322 03-Jul-2011  bouyer Add back DIAGNOSTIC option to x86 GENERIC kernels, as discussed on tech-kern.
This will have to be commented out on release branches.
 1.321 21-Jun-2011  jruoho By default, enable wmihp(4) instead of hpqlb(4), as it has a better chance
of working with a greater number of HP laptops. Ok cegger@.
 1.320 14-Jun-2011  jruoho Try to attach hpet(4) also via a specific HPET table. Fixes PR kern/43702.
 1.319 28-May-2011  ryo branches: 1.319.2;
many whitespace cleanup.
 1.318 01-Apr-2011  jruoho Enable acpicpu(4) by default.
 1.317 06-Mar-2011  bouyer merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.
 1.316 04-Mar-2011  jruoho Move INTEL_ONDEMAND_CLOCKMOD -- or odcm(4) -- to the cpufeaturebus.
 1.315 27-Feb-2011  jruoho Move acpicpu(4) from "acpinodebus" to "cpufeaturebus".
 1.314 24-Feb-2011  jruoho Move PowerNow! to the cpufeaturebus.
 1.313 23-Feb-2011  jruoho Move ENHANCED_SPEEDSTEP, or henceforth est(4), to the cpufeaturebus.
 1.312 23-Feb-2011  jmcneill add alc@pci
 1.311 21-Feb-2011  pooka Put coredumps back as a built-in. Until it can autoload or something,
there's no point in causing user-visible (and test-visible)
regressions.
 1.310 20-Feb-2011  jruoho Modularize coretemp(4). Ok jmcneill@.
 1.309 19-Feb-2011  jmcneill add VCONS_DRAW_INTR
 1.308 18-Feb-2011  christos add ifmpls since MPLS was added
 1.307 16-Feb-2011  jym Per mrg@ request, add MFS as default builtin, for things like init(8).

XXX should be replaced by TMPFS eventually.
 1.306 16-Feb-2011  jruoho Add (commented) aps(4) from i386 GENERIC.
 1.305 16-Feb-2011  jym Build certain file-systems and options(7) as module(7). 32 and 64 bits
support are still builtin, as well as FFS, NFS, TMPFS, and most COMPAT
code. Saves approx. 750kiB.

Reflect this in INSTALL kernel, where we have to support more file systems
statically.

See http://mail-index.netbsd.org/port-amd64/2011/02/13/msg001318.html
 1.304 14-Feb-2011  hannken Initial implementation of ibmhawk(4) driver for sensors behind the IBM Hawk
on-board Integrated Systems Management Processor found on some eServers.

Tested on an IBM eServer x335.
 1.303 13-Feb-2011  jym Missing MPLS options (commented out).
 1.302 11-Feb-2011  jmcneill attach drm hw drivers to 'drm' not 'vga'
 1.301 06-Feb-2011  jmcneill - add support for using compressed images as splash images
- retire SPLASHSCREEN_PROGRESS and SPLASHSCREEN_IMAGE options
 1.300 26-Jan-2011  pooka Add bwi from PR kern/40279. There is no know case of testing the
driver on amd64/i386, but if it doesn't work at least we're more
likely to get a PR instead of people wondering about lacking driver
support.
 1.299 17-Jan-2011  jmcneill branches: 1.299.2;
add acpiwdrt
 1.298 09-Jan-2011  jruoho branches: 1.298.2;
Add a dummy-driver for ACPI fans.
 1.297 09-Jan-2011  jruoho Remove APM. (Already commented out.)
 1.296 05-Jan-2011  jruoho Add a driver for ACPI power meters.
 1.295 03-Jan-2011  tsutsui Xref module(7) in comments.
 1.294 27-Dec-2010  jmcneill add 'uaudio* at usbifif?' so uaudio can attach to something other than
a hub
 1.293 27-Nov-2010  christos add ihphy
 1.292 23-Nov-2010  hannken Remove unused count from pseudo-device md.
 1.291 13-Nov-2010  jnemeth Add new et(4)/etphy(4) devices.
 1.290 10-Nov-2010  dholland <space><tab>

I went and wrote a gizmo to automate this a while back, but I seem to
have *lost* the thing. grr.
 1.289 05-Nov-2010  gsutre Merge ACPI Fujitsu Driver. Provides support for hotkeys and other
built-in components through vendor-specific ACPI devices.

ok jruoho@
 1.288 03-Nov-2010  christos add otus
 1.287 24-Oct-2010  jruoho Add acpiwmi(4) mappings for MSI laptops.

XXX: It may be necessary to fix PR # 43659 before this works on all models.
 1.286 12-Oct-2010  gsutre Merge ACPI display driver. Provides generic support for brightness
control and output switching, through ACPI video extensions.

TODO: use wsconsctl(8) instead of sysctl(8) for brightness control.

ok jruoho@
also discussed with cegger@ and jmcneill@
 1.285 22-Aug-2010  rmind Import NPF - a packet filter. Some features:

- Designed to be fully MP-safe and highly efficient.

- Tables/IP sets (hash or red-black tree) for high performance lookups.

- Stateful filtering and Network Address Port Translation (NAPT).
Framework for application level gateways (ALGs).

- Packet inspection engine called n-code processor - inspired by BPF -
supporting generic RISC-like and specific CISC-like instructions for
common patterns (e.g. IPv4 address matching). See npf_ncode(9) manual.

- Convenient userland utility npfctl(8) with npf.conf(8).

NOTE: This is not yet a fully capable alternative to PF or IPFilter.
Further work (support for binat/rdr, return-rst/return-icmp, common ALGs,
state saving/restoring, logging, etc) is in progress.

Thanks a lot to Matt Thomas for various useful comments and code review.
Aye by: board@
 1.284 08-Aug-2010  chs add more (commented-out) spdmem instances for HP xw-series workstations.
 1.283 23-Jul-2010  jakllsch Almost entirely rework Intel Firmware Hub random number generator support.

This introduces fwhrng(4) which attaches via ichlpcib(4), replacing
the rnd(4) support in pchb(4).
 1.282 18-Jul-2010  jruoho Merge a driver for ACPI CPUs with basic support for processor power states,
also known as C-states. The code is modular and provides an easy way to add
the remaining functionality later (namely throttling and P-states).

Remarks:

1. Commented out in the GENERICs; more testing exposure is needed.

2. The C3-state is disabled for the time being because it turns off
timers, among them the local APIC timer. This may not be universally
true on all x86 processors; define ACPICPU_ENABLE_C3 to test.

3. The algorithm used to choose a power state may need tuning. When
evaluating the appropriate state, the implementation uses the
previous sleep time as an indicator. Additional hints would include
for example the system load.

Also bus master activity is evaluated when choosing a state. The
usb(4) stack is notorious for such activity even when unused.
Typically it must be disabled in order to reach the C3-state,
but it may also prevent the use of C2.

4. While no extensive empirical measurements have been carried out, the
power savings are somewhere between 1-2 W with C1 and C2, depending
on the processor, firmware, and load. With C3 even up to 4 W can be
saved. The less something ticks, the more power is saved.

ok jmcneill@, joerg@, and discussed with various people.
 1.281 02-Jun-2010  dholland Remove orphaned heading "Mice"
 1.280 02-Jun-2010  dholland COMPAT_43 should not be sorted between COMPAT_40 and COMPAT_50.
 1.279 22-May-2010  plunky add btmagic(4) where other Bluetooth drivers are listed
 1.278 08-May-2010  mrg enable IPFILTER_COMPAT in all kernels that have ipfilter already.
canonicalise several of the ipf option segments in various files
(this mostly means adding commented out IPFILTER_DEFAULT_BLOCK,
or adding commented or uncommented IPFILTER_LOG or IPFILTER_LOOKUP
option statements.)

i built about 20 of these kernels to check, but not all of them.
 1.277 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.276 09-Apr-2010  ahoka revert last change, amd64 doesnt have monolith so dont remove pad.
 1.275 09-Apr-2010  ahoka Remove pad from GENERIC, add to MONOLITH, we have it as a module now.
 1.274 08-Apr-2010  jruoho Add WMI mappings for HP laptops. Requested by cegger@.
Thanks to apb@ and cegger@ for initial testing.

XXX: This conflicts with hpqlb(4). Someone with the suitable hardware needs
to complete the list of hotkeys before -- and if -- this can replace
hpqlb(4). For now, the driver was left uncommented in the GENERICs.
 1.273 08-Apr-2010  jruoho Add wmidell(4).
 1.272 28-Mar-2010  dholland sort a couple things
 1.271 07-Mar-2010  plunky branches: 1.271.2;
add uhso(4) device where appropriate
- follow the lead of other USB driver declarations wrt commented out
- (cross-)build tested all these kernels
 1.270 06-Mar-2010  cnst remove aiboost(4) from GENERICs, since it cannot win in autoconf(9) over aibs(4); ok pgoyette
 1.269 22-Feb-2010  pgoyette Correct spelling of smscmon and add (commented out) to GENERICs
 1.268 22-Feb-2010  ahoka Add SPLASH example, like in i386.
 1.267 21-Feb-2010  cnst New wbsio(4) driver for Winbond Super I/O attachment of lm(4) on any port.

http://mail-index.netbsd.org/tech-kern/2010/02/17/msg007338.html

Reviewed by <pgoyette>, <tech-kern>.
 1.266 09-Feb-2010  cnst New aibs(4) driver for ASUSTeK AI Booster (ACPI ATK0110) hardware monitor
with limit support.

http://thread.gmane.org/gmane.os.netbsd.devel.kernel/35654

Reviewed by <pgoyette>, <jruoho> and <tech-kern>.
 1.265 08-Feb-2010  pgoyette Add flags to all instances of lm(4), add a reference to man page
 1.264 06-Feb-2010  pgoyette branches: 1.264.2;
Add acpismbus enries - commented out!
 1.263 31-Jan-2010  jruoho Remove ACPICA_PEDANTIC.
 1.262 07-Jan-2010  tnn uhmodem(4) is superseded by u3g(4) and u3ginit(4).
Prepare for uhmodem(4) removal by not building it anymore.
This may fix PR kern/41174.
 1.261 07-Jan-2010  martin Add the u3ginit driver to all configs which have the u3g driver
 1.260 23-Dec-2009  pooka unifdef -D UGEN_BULK_RA_WB

Default behaviour unchanged, the feature must still be explicitly
enabled for a ugen fd.
 1.259 05-Dec-2009  pooka Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.258 03-Dec-2009  sborrill Add udl(4)
 1.257 02-Oct-2009  jmcneill PR# kern/42139: ACPI WMI: new driver

Import acpiwmi(4) from Jukka Ruohonen. From the PR:

Attached is a driver that implements ACPI WMI API:

http://www.microsoft.com/whdc/system/pnppwr/wmi/wmi-acpi.mspx

The WMI is used to provide a generic interface for OEMs to use certain
platform/laptop-specific additions to the standard ACPI in a somewhat
portable way. These can be hotkeys for additional buttons, different event
handlers (wireless kill switch, lid switch, etc.), and so on. At least HP
and Acer use it by default nowadays.

The benefit of this interface would be portability. For an example, instead
of hpqlb(4) that works only with certain HP models, we could have a generic
HP WMI-driver that should work in theory across all HP laptops. On many new
laptops WMI may also be the only way to access laptop/manufacturer-specific
features.
 1.256 30-Sep-2009  jmcneill Need sdmmc* at wb?
 1.255 30-Sep-2009  jmcneill wss@acpi doesn't make much sense on amd64, so remove it
 1.254 30-Sep-2009  jmcneill add and enable wb(4)
 1.253 20-Sep-2009  christos add toshide
 1.252 07-Sep-2009  jmcneill Switch on hdaudio(4)
 1.251 07-Sep-2009  jmcneill Refer to hdaudio as 'High Definition Audio', not
'Intel High Definition Audio' as many vendors implement the HD audio spec.
 1.250 06-Sep-2009  sborrill hdaudio(4) is a standards-compliant driver for Intel High Definition Audio.
It will replace azalia(4) after testing.

To use, comment out azalia in your kernel configuration and uncomment the
hdaudio and hdafg lines so it reads:

# Intel High Definition Audio
hdaudio* at pci? dev ? function ?
hdafg* at hdaudiobus?

You should also:
cd /dev
sh MAKEDEV audio
 1.249 09-Aug-2009  christos put back drm.
 1.248 09-Aug-2009  christos remove drm stuff for now
 1.247 09-Aug-2009  christos add spic and drm to generic
 1.246 27-Jul-2009  kiyohara Support Marvell Hercules-I/II SATA Controllers.
 1.245 19-Jul-2009  kiyohara Support siisata@cardbus.
It tested on amd64 and i386 only.
 1.244 22-May-2009  christos add uhmodem, uncomment wd* at umass
 1.243 27-Apr-2009  joerg Add commented out hpet@ichlpcib entry.
 1.242 21-Apr-2009  nonaka Added SD/MMC support from OpenBSD.
tested on i386, amd64 at current-users ML by pgoyette@.
tested on zaurus by myself.
 1.241 20-Apr-2009  cegger add ale(4)
 1.240 10-Apr-2009  perry add (commented out) options LOCKDEBUG
 1.239 06-Mar-2009  cegger add age(4) and atphy(4)
 1.238 16-Feb-2009  jmcneill Add and enable genfb(4)
 1.237 29-Jan-2009  ad branches: 1.237.2;
Enable BUFQ_PRIOCSCAN by default.
 1.236 11-Jan-2009  christos merge christos-time_t
 1.235 14-Dec-2008  jmcneill branches: 1.235.2;
add options PMS_ELANTECH_TOUCHPAD
 1.234 24-Nov-2008  ad Remove softdep, pass 1. We are focused on improving journalling.

Proposed on tech-kern@.
 1.233 12-Nov-2008  ad Comment out P1003_1B_SEMAPHORE. The ksem module will now be autoloaded from
the file system if POSIX semaphores are used.
 1.232 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.231 19-Oct-2008  joerg branches: 1.231.2; 1.231.4;
Add u3g entries in kernels that have ugensa as well.
 1.230 11-Oct-2008  bouyer jme(4), a driver for JMicron Technologies JME250 Gigabit Ethernet and
JME260 Fast Ethernet PCI Express controllers.
Written with a lot of cut-n-paste from the FreeBSD jme(4) driver.
No support for jumbo ethernet frames yet (but should come soon).
Thanks to JMicron Technologies for providing me sample boards and
documentation for this work.
 1.229 07-Oct-2008  pgoyette Move all platforms to new dbCool driver in preparation for removal of
chip-specific drivers
 1.228 07-Oct-2008  rmind Add a note that SysV IPC parameters could be changed dynamically.
 1.227 30-Sep-2008  jmcneill Remove esl(4)
 1.226 09-Sep-2008  ober Adding iwn(4) to GENERIC
 1.225 09-Sep-2008  jmcneill Add uvideo(4)
 1.224 06-Sep-2008  jmcneill Enable video(4) and pseye(4)
 1.223 25-Aug-2008  cegger GENERIC: add auacer(4) which is already in XEN3_DOM0
XEN3_DOM0: add azalia(4) which is already in GENERIC
 1.222 21-Aug-2008  bouyer Enable ipmi(4) by default in GENERIC and related kernels.
 1.221 10-Aug-2008  cube Accept filters are cool, but it's not a reason to select them twice.
 1.220 10-Aug-2008  tls Add accept filters to GENERIC kernels where they exist.
 1.219 10-Aug-2008  cegger Add accept filters per request from port-xen:
http://mail-index.netbsd.org/port-xen/2008/08/10/msg004087.html

pseudo-device entries were copied from sys/arch/i386/conf/GENERIC, rev. 1.904
 1.218 31-Jul-2008  joerg Include VGA_POST by default in GENERIC and ALL on x86 now that the code
is conditional.
 1.217 31-Jul-2008  simonb Add "options WAPBL" to standard GENERIC/INSTALL type configs.
 1.216 26-May-2008  jmcneill branches: 1.216.2; 1.216.4;
Add uberry.
 1.215 25-May-2008  agc Re-enable INCLUDE_CONFIG_FILE in the GENERIC kernel config files for
i386, amd64 and usermode - it is necessary for retrieving information
on kernel configuration for running kernels - cf config -x.
 1.214 23-May-2008  jnemeth add siisata(4) -- SiI SteelVine SATA2
 1.213 18-May-2008  cegger acpidalb(4): Driver for PNP0C32 Hotkeys aka "Direct Application Launch Buttons".
"awesome" jmcneill
 1.212 18-May-2008  bjs second instance of PCI_INTR_FIXUP -> PCI_ADDR_FIXUP, change comment to
match.
 1.211 18-May-2008  jmcneill Add commented out entries for PCI_BUS_FIXUP and PCI_ADDR_FIXUP
 1.210 05-May-2008  ad branches: 1.210.2;
The kernel is too large. Reduce size by commenting out eye candy options:

{ACPI,MII,PCI,USB}VERBOSE

Also remove INCLUDE_CONFIG_FILE, because it doesn't make sense in GENERIC.
 1.209 02-May-2008  ad - Give x86 BIOS boot the ability to load new style modules and pass them
into the kernel. Based on a patch by jmcneill@, with many fixes and
improvements by me.

- Put MEMORY_DISK_DYNAMIC and MODULAR into the GENERIC kernels, so that
you can load miniroot.kmod from the boot blocks and boot into the
installer!
 1.208 01-May-2008  cegger hpqlb(4): driver for HP Quick Launch buttons - found on HP Pavilion Notebooks
 1.207 30-Apr-2008  ad Shuffle ioapic/mainbus/cpu into std.amd64 like i386.
 1.206 29-Apr-2008  ad Require MULTIPROCESSOR. PR kern/38537.
 1.205 22-Apr-2008  cegger branches: 1.205.2;
amdtemp(4): Driver for AMD CPU Temperature Sensors. Adopted from OpenBSD's kate(4).
Changes beyond OpenBSD's driver:
- Improved support for AMD K8
- Added support for AMD Barcelona, AMD Phenom and AMD Griffin
Tested on various single and multi-socket machines.
Review and OK xtreame
 1.204 03-Apr-2008  xtraeme branches: 1.204.2;
Add finsio(4) entry (commented out).
 1.203 31-Mar-2008  jmcneill Enable asus(4)
 1.202 31-Mar-2008  njoly Revert unexpected DDB_ONPANIC change introduced in last revision.
 1.201 29-Mar-2008  cube Add and enable lii(4) in amd64 configurations, too, as it is very likely
the hw is used on amd64-capable otherboards, although it is not confirmed
yet.
 1.200 29-Feb-2008  jmmv Remove GENERIC.local from the repository

Make all the kernels that currently include their corresponding GENERIC.local
file use the cinclude directive instead of include. This way config(1) will
not complain if the file cannot be found.

After doing this, remove the GENERIC.local files from the repository so that
the user will not see modified files during updates, and local changes to
them cannot end up in the repository by mistake.

Discussed in tech-kern@ earlier this month. No strong objections.
 1.199 30-Jan-2008  ad branches: 1.199.2; 1.199.6;
Crank maxusers to 64.
 1.198 07-Jan-2008  martti Fixed option indentation, it should be

option<space><tab>
makeoption<space><tab>
 1.197 01-Jan-2008  jmmv Revert previous by removing the apm entry. Even though the driver seems
to work, we do not build any userland support for it; see 1.183's commit
message. Per jmcneill@'s request.
 1.196 01-Jan-2008  jmmv Add the ACPI apm emulation device.
 1.195 01-Jan-2008  jmmv Add and enable piixpm. Confirmed working under VMware Fusion.
 1.194 31-Dec-2007  ad Remove systrace. Ok core@.
 1.193 30-Dec-2007  joerg Enable wedge autodiscovery and wedge support for GPT. Both MBR and BSD
disklabel support is *not* enabled, but documented.
 1.192 29-Dec-2007  xtraeme Update itesio(4) comments.
 1.191 26-Dec-2007  elad Compile in by default (disabled) PaX ASLR for amd64 and i386.
 1.190 26-Dec-2007  joerg Add PHYSMEM_MAX_ADDR and PHYSMEM_MAX_SIZE options. This limit physical
memory based on overall size (useful for debugging to keep core dumps
small) or maximum address (when using devices with bus dma limits).
Contrary to REALBASEMEM and REALEXTMEM, they still use the BIOS memory
map and can therefore deal with fragmented memory.
 1.189 24-Dec-2007  kiyohara Remove white-spaces.
 1.188 23-Dec-2007  jmcneill Add sony* at acpi?
 1.187 21-Dec-2007  dsl Enable LINUX and LINUX32 emulation.
 1.186 21-Dec-2007  jmcneill Add thinkpad at acpi
 1.185 20-Dec-2007  ad Remove GENERIC.MP config and enable SMP by default on amd64.
 1.184 17-Dec-2007  riz Add drvctl(4)
 1.183 11-Dec-2007  jmcneill Disable apm@acpi on amd64, since we don't create /dev/apmctl, build apmd,
or provide machine/apmvar.h. Ok ad@
 1.182 10-Dec-2007  wiz Add acpiecdt and add a comment explaining it (from i386/GENERIC).
 1.181 10-Dec-2007  jmcneill branches: 1.181.2;
Revert previous, thanks wiz!
 1.180 09-Dec-2007  jmcneill Merge jmcneill-pm branch.
 1.179 05-Dec-2007  xtraeme branches: 1.179.2;
arc(4) -> arcmsr(4)
 1.178 04-Dec-2007  xtraeme Enable arc(4).
 1.177 02-Dec-2007  kiyohara branches: 1.177.2;
Add bcsp(4).
 1.176 22-Nov-2007  jnemeth comment out com*/lpt* at acpi? as they cause these ports to move from
their traditional location and imminent changes in -current will cause
them to move back
 1.175 15-Nov-2007  xtraeme Update for it(4) -> itesio(4) rename.
 1.174 13-Nov-2007  ghen Add description for EST_FREQ_USERWRITE (from i386).
 1.173 11-Nov-2007  jmcneill Enable pad(4)
 1.172 04-Nov-2007  xtraeme branches: 1.172.2;
Remove System V semaphores and share memory options to set the limits:
SEMMNI, SEMMNS, SEMUME and SHMMAXPGS.

They can be tweaked via sysctl now. Ports that were setting values on
them weren't touched, I only removed the ones that were commented out.
 1.171 30-Oct-2007  xtraeme options<space><tab>FOO
 1.170 29-Oct-2007  xtraeme Enable "options INTEL_CORETEMP".
 1.169 28-Oct-2007  dsl Add (commented out) SYSCALL_COUNTS and SYSCALL_TIMES.
 1.168 24-Oct-2007  joerg Reduce difference to i386 GENERIC:
- add some comments from that
- options SPACE TAB
- enable EST
- enable DDB and build w/ frame pointer by default
- enable ACPI devices
- include AGP
- include Cardbus and PCMCIA
- include Synaptics driver
- include atw, ipw, iwi, hme, rtw, txp
- include uep, stuirda, utoppy, ugensa

This makes GENERIC actually usable for laptops.
 1.167 19-Oct-2007  njoly Add compat_linux and exec_linux_elf lkm support for amd64:
- Add needed COMPAT_OSSAUDIO to GENERIC.
- Add missing includes needed by linux_syscallargs.h.
- Add lkm building.
 1.166 17-Oct-2007  garbled Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.165 04-Oct-2007  christos branches: 1.165.2;
add an smbus controller.
 1.164 06-Sep-2007  martti branches: 1.164.2;
Fixed indentation (it should be <keyword><space><tab><name><tab><comment>).
 1.163 06-Sep-2007  joerg Enable CGD in GENERIC for amd64 and i386.
 1.162 03-Sep-2007  xtraeme Add uchcom(4) and uslsa(4).
 1.161 29-Aug-2007  xtraeme Add cdce(4).
 1.160 26-Aug-2007  xtraeme branches: 1.160.2;
Add ichlpcib commented out.
 1.159 21-Aug-2007  kiyohara Oops.
I mistook commit. sdmmc(4) is not commit yet. And I don't have this.
 1.158 21-Aug-2007  kiyohara Comment-out 'slhci at pcmcia' because comment-outed for the pcmcia.
 1.157 21-Aug-2007  kiyohara Add slhci at pcmcia.
And reorder.
 1.156 20-Aug-2007  kiyohara Add btbc(4).
 1.155 18-Aug-2007  tnn Enable spdmem(4) in ALL configuration. Add commented out entries to GENERIC
 1.154 06-Aug-2007  adrianp Remove iso(4) from GENERIC kernels, as discussed on tech-net@
Ok'ed by core@
 1.153 11-Jul-2007  kiyohara branches: 1.153.2; 1.153.4; 1.153.8;
Add nfsmb(4).
 1.152 10-Jul-2007  xtraeme Add wpi(4).
 1.151 03-Jul-2007  briggs Add (commented-out) support for IPMI on amd64--pretty much copied straight
from i386.
 1.150 16-Jun-2007  ad -options I2OVERBOSE.
 1.149 09-Jun-2007  kiyohara Add zyd(4).
 1.148 04-Jun-2007  martin Add pseudo-device agr to all GENERIC kernels where it might make sense
(commented out in some).
 1.147 03-Jun-2007  xtraeme Add the options for Enhanced Speedstep commented out.
 1.146 01-Jun-2007  blymn Added smsc device.
 1.145 29-May-2007  christos Add compat 4.0
 1.144 26-May-2007  briggs Enable aac(4) and ld at aac.
 1.143 15-May-2007  bouyer add jmide(4), a driver for the JMicron Technology JMB36x PCIe to SATA II/PATA
controllers. These controllers can be found on add-on PCIe cards, or
on some motherboards to provide the PATA connectivity (e.g. some intel
ICH8-based motherboards).

Thanks to JMicron Technology for providing me documentation and
different sample boards for this work.
 1.142 08-May-2007  xtraeme Add "ug* at acpi?" following the current scheme in the files.
 1.141 07-May-2007  jnemeth PR/36234 - Joerg Niendorf -- xi -> xirc
 1.140 07-May-2007  xtraeme Enable rum(4).
 1.139 01-May-2007  bouyer Add bio(4) and associated bioctl(8) from OpenBSD, a driver control block
device controllers, and more specifically raid controllers.
Add a new sensor type, ENVSYS_DRIVE, to report drive status. From OpenBSD.
Add bio and sysmon support to mfi(4). This allow userland to query
status for drives and logical volumes attached to a mfi(4) controller. While
there fix some debug printfs in mfi so they compile.
Add bio(4) to amd64 and i386 GENERIC.
 1.138 23-Apr-2007  dyoung branches: 1.138.2;
Add ATADEBUG so that a person can patch atadebug without having to
recompile the kernel.
 1.137 20-Mar-2007  xtraeme ALL: Enable INTEL_ONDEMAND_CLOCKMOD.
GENERIC: Add INTEL_ONDEMAND_CLOCKMOD disabled by default.
 1.136 14-Mar-2007  drochner branches: 1.136.2;
It doesn't make sense to specify "configuration" and "interface"
locators for uhub because a hub can't have sub-devices.
This might be sanity-checked eventually.
Same for ubt now after the change to device attachment.
 1.135 13-Mar-2007  xtraeme Add aiboost* at acpi, enabled by default on i386/GENERIC and disable
in the other ones (to follow current scheme).
 1.134 09-Mar-2007  xtraeme branches: 1.134.2; 1.134.4;
Erm, remove local changes added in previous.
 1.133 09-Mar-2007  xtraeme Enable SMBFS, as we do on i386.
 1.132 08-Mar-2007  njoly Add hpet support to i386/amd64 kernels.
- `hpet* at acpi?' to kernels that already support ACPI.
- `hpet* at amdpcib?' (commented out) to amd64 GENERIC.
 1.131 07-Mar-2007  bouyer Revert local changes that went in accidentally with the "add ACPI" commit.
 1.130 06-Mar-2007  bouyer For the benefit of modern hardware, enable ACPI by default in INSTALL and
GENERIC kernels. If ACPI is an issue on your hardware, 'boot -c' and
'disable acpi' should be a workaround. ACPI-enabled kernels works fine
on pre-acpi hardware.
for amd64:
- add ACPI to INSTALL and GENERIC, remove the *_ACPI config files.
- get rid of the bootfloppy-big.fs boot image, and got to a 3-floppy boot
image
for i386:
- introduce INSTALL_LARGE which has ACPI and some devices with big firmware
- move some devices from INSTALL to INSTALL_LARGE
- Boot floppies still use INSTALL, and bootfloppy-big.fs is still there
(for thoses who want to build el-torito floppy emulation boot CD) and use
INSTALL.
For both, drop the 'iso-image' code in etc/ to make the iso bootable, we'll
use something else to build bootable CDs.
 1.129 06-Mar-2007  dillo Complete rename of hfsp to hfs, requested by thorpej.
 1.128 05-Mar-2007  dillo Add file-system HFSP (commented out) to GENERIC kernels of ports
on which Mac OS runs.
 1.127 01-Mar-2007  kiyohara Add btuart(4).
 1.126 09-Feb-2007  ad branches: 1.126.2;
Merge newlock2 to head.
 1.125 24-Jan-2007  tls Remove option COMPAT_386BSD_MBRPART from default kernels. NetBSD has
not used partition ID 0x165 for many, many years, and the presence of
this option in INSTALL kernels can cause overwriting of existing FreeBSD
installations when sysinst writes back the disklabel. Those with very,
very old NetBSD installations may find that they must update their fdisk
partition tables to use partition ID 0x169 for their NetBSD partitions.

This seems like the best of a number of lousy choices for dealing with
this problem. Sysinst should perhaps grow code that asks whether an
existing 0x165 partition should be converted.

~
 1.124 06-Jan-2007  xtraeme Add ug0 at isa? commented out (driver for the Abit uGuru
Hardware system monitor).
 1.123 17-Dec-2006  bouyer Add bnx(4), a driver for Broadcom NetXtreme II 10/100/1000 Ethernet device.
Ported from OpenBSD by cube@, with some bus_dma fixes by me.
Tested on i386 and amd64.
 1.122 17-Dec-2006  bouyer Add mfi(4), a driver for LSI Logic & Dell MegaRAID SAS RAID controller.
Ported from OpenBSD, tested on i386 and amd64.
 1.121 11-Dec-2006  yamt - remove a static configuration, FILEASSOC_NHOOKS. do it dynamically instead.
- make fileassoc_t a pointer and remove FILEASSOC_INVAL.
- clean up kern_fileassoc.c. unify duplicated code.
- unexport fileassoc_init using RUN_ONCE(9).
- plug memory leaks in fileassoc_file_delete and fileassoc_table_delete.
- always call callbacks, regardless of the value of the associated data.

ok'ed by elad.
 1.120 30-Nov-2006  bouyer branches: 1.120.2;
Add ahcisata(4), a driver for AHCI 1.0 and 1.1 controllers. Tested on the sata
ports of a Intel 63xxESB chipset. Does not support NCQ yet.
 1.119 11-Nov-2006  jmmv Enable TMPFS by default. OK'ed by core@.

I'm leaving those platforms with few users and those whose machines are
not very powerful untouched per uwe@'s suggestion. The port masters or
the real users of those ports are better suited to make the decision of
enabling it.
 1.118 11-Nov-2006  jmmv Remove tmpfs's experimental status. OK'ed by core@.
 1.117 31-Oct-2006  perry one more time. sigh.
 1.116 31-Oct-2006  perry reddo the last space/tab fix *correctly*
 1.115 31-Oct-2006  perry another space tab fix
 1.114 30-Oct-2006  perry note about UFS_DIRHASH from i386, and a couple of space tab fixes
 1.113 26-Oct-2006  elad Compile in Veriexec by default on some popular archs (amd64, i386, sparc64)
so it's more accessible and less of a hassle to put to use. Also enable
fileassoc(9) by default as a result, which for itself may open the door for
a lot of cool stuff. (stay tuned. :)

I recommend port masters of other archs to consider doing the same.
Personally I don't know which ports are considered more of a legacy than
in-production, so I'm leaving it for someone else for now...

No objections on tech-kern.
 1.112 21-Oct-2006  bouyer Add support for the Intel 80003 Gigabit Ethernet controller (found e.g. in
newer server chipsets) to wm(4), from the FreeBSD em(4) driver.
While there, add a few other Intel Ethernet controller that should work as
is.
Properly update the RX error and TX collision counters.
Add ikphy(4), a driver for the Intel i82563 Kumeran 10/100/1000 Ethernet PHYs
 1.111 26-Sep-2006  elad Oops! forgot "options" in previous commit. Pointed out by freza@, thanks!
 1.110 26-Sep-2006  elad Make PaX mprotect(2) restrictions more accessible.

On amd64, sparc64, i386, and alpha, they will be compiled in and disabled
by default. That means that to use them you either enable the "global"
knob with sysctl, or use paxctl(1) to enable it on a per-program basis.

On sparc and macppc just include a commentd out line in the GENERIC kernel.
 1.109 23-Sep-2006  jmcneill Add iteide(4) driver to GENERIC and INSTALL kernels; PR# 33426.
 1.108 10-Sep-2006  plunky branches: 1.108.2;
add bluetooth support to amd64 port, built by default in GENERIC kernels
 1.107 10-Sep-2006  riz Add msk and mskc.
 1.106 26-Aug-2006  christos branches: 1.106.2;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.105 26-Aug-2006  tsutsui Remove obsolete #options VERIFIED_EXEC, found by grep(1).
 1.104 14-Aug-2006  skrll s/adpater/adapter/

Prompted by PR/34195
 1.103 12-Aug-2006  christos Disable SYSTRACE by default on all kernels (discussed with core)
 1.102 06-Aug-2006  xtraeme branches: 1.102.2;
AMD PowerNow!/Cool`n'Quiet driver for NetBSD/amd64,
adapted from OpenBSD.

Tested on a few machines:

http://bigbird.dohd.org:3021/NetBSD/dmesg
http://www.bsd.org.il/netbsd/acpi/dmesg

Thanks to cube, elad and others for testing and fixes.

Enabled by default on GENERIC.
 1.101 31-Jul-2006  hubertf spc(4) can also attach to pcmcia(4), as was already in hpcmips/GENERIC
for quite some time. Add it to all systems that have pcmcia SCSI.

Pointed out by Bj�rn Johannesson <rherdware@yahoo.com> in private mail,
OK'd by matt@
 1.100 30-Jul-2006  bouyer Add twa(4) and ld at twa
 1.99 24-Jul-2006  gdt Add UGEN_BULK_RA_WB, requested by cube@.
 1.98 15-Jul-2006  elad add (commented out) fileassoc(9) kernel options on some popular archs.
 1.97 04-Jul-2006  christos Apply fvdl's acpi pci interrupt configuration code.
- MPACPI is no more.
- MPACPI_SCANPCI -> ACPI_SCANPCI
 1.96 01-Jul-2006  xtraeme Add commented out it(4) entry, per suggestion in PR kern/33886.
 1.95 28-Jun-2006  liamjfoy Add CARP to GENERIC kernel configs. CARP is not enabled by default.

ok: christos
 1.94 27-Apr-2006  jonathan branches: 1.94.4;
Add entries for svwsata(4) to amd64 GENERIC and INSTALL kernels,
to support SATA ports on Serverworks HT-1000 (aka bcm5785) chips.
 1.93 19-Apr-2006  drochner adjust comments for the new location of wskbdmap_mfii.c,
addresses PR kern/33290 by henry nelson
 1.92 15-Apr-2006  jmmv Remove the getwschar and putwschar accessops from wsdisplay drivers as
requested by uwe@. These were wrong because they were receiving an
emulcookie yet they were accessops (thus having to receive an accesscookie).
Instead, just handle the WSDISPLAYIO_{GET,PUT}WSCHAR ioctls from the
driver's ioctl accessop.

As this reduces the amount of code needed to handle these operations to
two small functions in each driver, remove the WSDISPLAY_CHARFUNCS kernel
option.

Reviewed by, at least, uwe@ and macallan@. No objections in tech-kern@.
 1.91 12-Apr-2006  martti Added ciss(4). Tested by Joseph Dacuma on HP DL-380 G3 with Smart Array 5i.
 1.90 28-Mar-2006  pavel Add stf to all kernel configs which have INET6 and gif, except the INSTALL
ones and those for specific machines of developers. PR 32304.

OK'ed by rpaulo.

N.B. stf is a cloning device, so it still must be enabled by
"ifconfig stf0 create".
 1.89 25-Mar-2006  xtraeme Enable rgephy(4), closes PR port-amd64/33117.
 1.88 12-Mar-2006  chs branches: 1.88.2;
add nfe.
 1.87 19-Feb-2006  tls branches: 1.87.2; 1.87.4;
Add amdpm -- without this, we're throwing away a good hardware random
number source on a huge set of machines. Also, now that amdpm has
support for the SMBus controller, add (commented-out, since we don't
always know what address the sensors are at) iic at amdpm and adt7463c
at iic, which is the configuration used on the Tyan S2881 and S2882-D
server boards. This should work in either 64-bit or 32-bit mode; it's
been tested in 64-bit mode. Addresses PR kern/32463 submitted by
Anil Gopinath.
 1.86 09-Feb-2006  kleink options<space><tab>name previous.
 1.85 09-Feb-2006  manu Add initial (but unfinished) COMPAT_LINUX32 for amd64. This is good enough so
that the i386 license manager part of amd64 version of Fluent works.

While I'm here, add SysV IPC to COMPAT_LINUX/amd64
 1.84 05-Feb-2006  cube Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.83 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.82 02-Feb-2006  reinoud branches: 1.82.2;
Add commented out UDF file-system entry in all GENERIC configurations.
 1.81 31-Jan-2006  xtraeme branches: 1.81.2;
Add ral(4) at pci/uhub and atu(4) at uhub.
 1.80 31-Jan-2006  kochi remove ACPI_DISABLE_ON_POWEROFF option, which was there just for
compatibility of our old driver behavior, which is not necessary.
 1.79 04-Jan-2006  xtraeme Enable rlphy(4).
 1.78 20-Dec-2005  thorpej branches: 1.78.2;
Remove the tablet line discipline.
 1.77 09-Dec-2005  elad Add (commented out) Veriexec options and pseudo-device to GENERIC kernels,
and remove the i386 GENERIC_VERIEXEC config.
 1.76 07-Dec-2005  tsutsui Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.75 25-Nov-2005  thorpej swcr -> swcrypto
 1.74 25-Nov-2005  thorpej "pseudo-device crypto" really refers to the /dev/crypto API to the
opencrypto framework, not the framework itself. Update the comment
accordingly.
 1.73 25-Nov-2005  thorpej Add "pseudo-device swcr" (commented out if "pseudo-device crypto" is also
commented out).
 1.72 03-Nov-2005  rpaulo branches: 1.72.2;
PR 31996: fix the comments for MPBIOS and MPACPI. By Damon Brodie.
 1.71 14-Sep-2005  tron Add 10 Gigabit Ethernet drivers dge(4) and xge(4).
 1.70 10-Sep-2005  jmmv Initial addition of tmpfs, an efficient memory file-system. This project
was developed as part of Google's Summer of Code 2005 program. This
change adds the kernel code, the mount_tmpfs utility, a regression test
suite and does all other related changes to integrate these.

The file-system is still *experimental*. Therefore, it is disabled by
default in all kernels. However, as typically done, a commented-out
entry is added in them to ease its setup.

Note that I haven't commited the required mountd(8) changes to be able
to export tmpfs file-systems because NFS support is still very unstable
and because, before enabling it, I'd like to do some other changes.

OK'ed by my project mentor, William Studenmund (wrstuden@).
 1.69 09-Sep-2005  drochner remove "dev" locators from cardbus device definitions, it doesn't
make sense technically and might be removed
 1.68 09-Sep-2005  rpaulo Enable WSDISPLAY_SCROLLSUPPORT by default.
 1.67 06-Sep-2005  dogcow after discussion with dyoung, add rtw* at cardbus
 1.66 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.65 19-Aug-2005  christos 64 bit inode changes.
 1.64 05-Aug-2005  skrll Add (commented out) ucycom to various kernel configs.
 1.63 31-Jul-2005  yamt revert "defflag VMSWAP" changes for now.
there seems to be far more people who don't want to edit
their kernel config files than i thought.
 1.62 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.61 17-Jul-2005  augustss Remove obsolete comment about ehci.
 1.60 17-Jul-2005  hubertf Add support for reading cloop2 compressed filesystem image,
enable by putting VND_COMPRESSION into kernel config file.
Written by Cliff Wright, polished up slightly by me.
 1.59 14-Jul-2005  wiz Fix typo in comment, from Nicolas Joly in PR 30743.
 1.58 12-Jul-2005  sekiya Add config goo for ath. Tested with a PCI card, detected as:

ath0 at pci0 dev 10 function 0
ath0: interrupting at ioapic0 pin 17 (irq 5)
ath0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
ath0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
ath0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36M bps 48Mbps 54Mbps
ath0: mac 5.9 phy 4.3 radio 3.6

Cardbus untested, so it is commented out.
 1.57 11-Jul-2005  kiyohara ieee1394 import from FreeBSD.
 1.56 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.55 05-Jul-2005  augustss branches: 1.55.2;
Add auixp.
 1.54 04-Jul-2005  martti Added support for amr. Tested by Joseph A. Dacuma with Dell PowerEdge 2800.
 1.53 04-Jul-2005  augustss Uncomment ehci. It works fairly well now.
 1.52 01-Jul-2005  augustss Add ixpide so we handle ATI controllers specially.
 1.51 25-Jun-2005  rpaulo Add file-system PTYFS (commented out) so that people know its existence.

Ok'ed by Christos Zoulas and Hubert Feyrer.
 1.50 23-Jun-2005  sekiya ACPI_PCI_FIXUP -> PCI_INTR_FIXUP
 1.49 22-Jun-2005  wiz Remove duplicate apci at mainbus line, from Nicolas Joly in PR 30564.
 1.48 21-Jun-2005  kent add "azalia at pci"
 1.47 09-Jun-2005  tsutsui - Rename options NEW_BUFQ_STRATEGY -> options BUFQ_READPRIO.
(still commented out)
- Add (also commented out) options BUFQ_PRIOCSCAN.

Suggested by perry and soda on tech-kern.
Please refer options(4) for details for these options.
 1.46 15-Apr-2005  itohy Add ukyopon(4).
 1.45 25-Mar-2005  cube Add attimer(4) configurations everywhere pcppi(4) exists, with the
following rule:
If a pcppi device is enabled for an attachment, enable an attimer for the
same attachement, otherwise comment it.
 1.44 21-Mar-2005  xtraeme Add "pcppi* at acpi?" commented out.
 1.43 21-Mar-2005  cgd correctly alphabetize bce, skc/sk, inphy relative to their neighbors.
devices. correct typo in bce comment.
 1.42 25-Feb-2005  simonb branches: 1.42.2;
Add COMPAT_20 (and COMPAT_16 in some cases) to kernel config files
that didn't have those options but had other earlier compat options.
 1.41 20-Feb-2005  jdolecek add ciphy(4) and vge(4)
 1.40 18-Feb-2005  dsl Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.39 11-Feb-2005  dsl Add 'option FFS_SNAPSHOT' to most of the config files.
Commented out for kernels that appear to hace space constraints.
 1.38 31-Jan-2005  hannken Add file system snapshots to kernel configs.

- Ffs internal snapshots get compiled in unconditionally.

- File system snapshot device fss(4) added to all kernel configs that
have a disk. Device is commented out on all non-GENERIC kernels.

Reviewed by: Jason Thorpe <thorpej@netbsd.org>
 1.37 28-Jan-2005  rumble Sprinkle options UFS_DIRHASH on GENERIC kernels. It's presently
commented out and labeled experimental pending further review and
testing.
 1.36 18-Jan-2005  scw branches: 1.36.2;
Add "options PMS_SYNAPTICS_TOUCHPAD", commented out by default.
 1.35 17-Jan-2005  cube Add tap(4) support to a random^Wcarefully chosen set of kernel configs.
All those kernels have a line for both tun and bridge, and if either is
commented out, tap is commented out also. With the exception of i386's
GENERIC_TINY.

XXX: we _need_ some way of making this more simple.
 1.34 02-Dec-2004  xtraeme branches: 1.34.4;
Add ACPI joy(4) attachment, based on lpt_acpi.c by jmcneill@,
reviewed and ok'ed by cube@ and martin@.
 1.33 02-Dec-2004  xtraeme Add ACPI mpu(4) attachment, based on lpt_acpi.c by jmcneill@,
reviewed by christos@, cube@ and martin@.

While here, remove a printf() in mpu_attach() (ic/mpu.c) to remove
an empty line in some frontends (mpu_isa.c, etc).
 1.32 24-Nov-2004  bouyer pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) serie of
controllers. Tested with a PDC20375 (2 SATA, one PATA) controller on sparc64.
Added to all kernel config file which had pdcide(4).
 1.31 10-Nov-2004  christos Add COMPAT_BSDPTY to the rest of the config files.
 1.30 23-Oct-2004  augustss s/uax/axe/
 1.29 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.28 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.27 26-Jun-2004  abs Add (commented out) ALTQ options to all GENERIC-like files
 1.26 22-Jun-2004  toshii Add re; Realtek GbE.
 1.25 22-Jun-2004  itojun have pf and pflog pseudo-device (commented out).
reviewed by matt, perry, christos
 1.24 18-Jun-2004  christos ptm is now mandatory, depends on pty, and can be disabled with -DNO_DEV_PTM
 1.23 16-Jun-2004  christos Add pseudo-device ptm on all the generic flavored kernels.
 1.22 07-Jun-2004  kochi Add ACPICA_PEDANTIC/ACPI_DISABLE_ON_POWEROFF options; follow the i386
changes.
 1.21 14-Jan-2004  jonathan branches: 1.21.2;
Add support for opencrypto, PCI accelerators to sys/arch/*/conf/GENERIC
files for machines I know to have genuine PCI slots. As sent to tech-kern
for feedback in December 2003. Based on feedback, opencrypto is commented
out in the macppc GENERIC (due to absense of GENERIC_SOFTINT support),
and added to the sparc64 config (sys/arch/sparc64/conf/GENERIC32).
 1.20 14-Dec-2003  thorpej Split the Intel i31244 SATA controller ("Artisea") driver out of piixide
into its own driver (artsata).
 1.19 13-Dec-2003  thorpej Split out the Silicon Image SATALink support into its own driver,
"satalink".
 1.18 22-Nov-2003  fvdl Add and enable sk/skc drivers.
 1.17 08-Nov-2003  fvdl Add POSIX 1003.1b semaphores.
 1.16 05-Nov-2003  fvdl Add igphy.
 1.15 25-Oct-2003  fvdl Add ahd, bce, ataraid.
 1.14 23-Oct-2003  fvdl Add auvia.
 1.13 18-Oct-2003  lukem Use one 'atabus* at ata?' instead of multiple 'atabus* at FOOide? channel ?'
Use 'atapibus* at atapi?' instead of 'atapibus* at atabus?'
 1.12 08-Oct-2003  bouyer Add new per-chip pciide drivers.
 1.11 08-Oct-2003  bouyer Add atabus.
 1.10 06-Oct-2003  fvdl SIGINFO support.
Todo: 32bit compat support (COMPAT_NETBSD32 will not compile right now,
as it won't on other platforms).
 1.9 01-Sep-2003  fvdl Use MPBIOS_SCANPCI by default.
 1.8 22-Aug-2003  itojun add udav*
 1.7 06-Aug-2003  bouyer Add esiop at pci to GENERIC which already have siop at pci.
esiop has been tested enouth now.
esiop not added to INSTALL kernels because of possible space constraint.
siop should be able to drive all adapters supported by esiop.
 1.6 06-Jul-2003  kochi o cleanup usage of ACPI_ACTIVATE_DEV/ACPI_PCI_FIXUP
o delete usage of ENABLE_DEBUGGER

As ACPI_ACTIVATE_DEV/ACPI_PCI_FIXUP are defflag'ed in files.acpi,
these options don't have to have a value.
 1.5 29-May-2003  fvdl branches: 1.5.2;
Add the options MPBIOS_SCANPCI and MPACPI_SCANPCI to configure PCI roots
with the MPBIOS/ACPI bus information, by walking through the buses, and
descending down every bus that hasn't been marked configured yet.
 1.4 21-May-2003  christos Add ACPI gunk.
 1.3 11-May-2003  fvdl Add commented out acpi.
 1.2 07-May-2003  fvdl Enable LKM.
 1.1 26-Apr-2003  fvdl Rename the x86_64 port to amd64, as this is the actual name used for
the processor family now. x86_64 is kept as the MACHINE_ARCH value,
since it's already widely used (by e.g. the toolchain, etc), and
by other operating systems.
 1.5.2.14 11-Dec-2005  christos Sync with head.
 1.5.2.13 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.2.12 01-Apr-2005  skrll Sync with HEAD.
 1.5.2.11 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.5.2.10 15-Feb-2005  skrll Sync with HEAD.
 1.5.2.9 04-Feb-2005  skrll Sync with HEAD.
 1.5.2.8 24-Jan-2005  skrll Sync with HEAD.
 1.5.2.7 18-Dec-2004  skrll Sync with HEAD.
 1.5.2.6 29-Nov-2004  skrll Sync with HEAD.
 1.5.2.5 14-Nov-2004  skrll Sync with HEAD.
 1.5.2.4 02-Nov-2004  skrll Sync with HEAD.
 1.5.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.2.1 03-Aug-2004  skrll Sync with HEAD
 1.21.2.5 11-Aug-2007  bouyer Pull up following revision(s) (requested by adrianp in ticket #11356):
sys/arch/acorn32/conf/GENERIC 1.80 via patch
sys/arch/amd64/conf/GENERIC 1.154 via patch
sys/arch/amiga/conf/GENERIC.in 1.61 via patch
sys/arch/arc/conf/GENERIC 1.148 via patch
sys/arch/atari/conf/GENERIC.in 1.68 via patch
sys/arch/cats/conf/GENERIC 1.116 via patch
sys/arch/hp300/conf/GENERIC 1.141 via patch
sys/arch/hp700/conf/GENERIC patch
sys/arch/i386/conf/GENERIC 1.840 via patch
sys/arch/i386/conf/GENERIC_LAPTOP 1.239 via patch
sys/arch/i386/conf/GENERIC.MPACPI patch
sys/arch/mac68k/conf/GENERIC 1.182 via patch
sys/arch/sgimips/conf/GENERIC32_IP2x 1.68 via patch
sys/arch/sgimips/conf/GENERIC32_IP3x 1.66 via patch
sys/arch/sparc/conf/GENERIC 1.200 via patch
sys/arch/sparc64/conf/GENERIC32 patch
sys/arch/xen/conf/GENERIC patch
Remove iso(4) from GENERIC kernels, as discussed on tech-net@
Ok'ed by core@
 1.21.2.4 15-Jul-2004  he branches: 1.21.2.4.2;
Pull up revision 1.28 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.21.2.3 13-Jul-2004  tron Pull up revision 1.26 (requested by he in ticket #641):
Add re; Realtek GbE.
 1.21.2.2 30-Jun-2004  jdc Pull up revision 1.27 (requested by abs in ticket #567).

Add (commented out) ALTQ options to all GENERIC-like files
 1.21.2.1 14-Jun-2004  jmc Pullup patch (requested by kochi in ticket #463)

Add ACPI_DISABLE_ON_POWEROFF option. PR#24869
 1.21.2.4.2.3 11-Aug-2007  bouyer Pull up following revision(s) (requested by adrianp in ticket #11356):
sys/arch/acorn32/conf/GENERIC 1.80 via patch
sys/arch/amd64/conf/GENERIC 1.154 via patch
sys/arch/amiga/conf/GENERIC.in 1.61 via patch
sys/arch/arc/conf/GENERIC 1.148 via patch
sys/arch/atari/conf/GENERIC.in 1.68 via patch
sys/arch/cats/conf/GENERIC 1.116 via patch
sys/arch/hp300/conf/GENERIC 1.141 via patch
sys/arch/hp700/conf/GENERIC patch
sys/arch/i386/conf/GENERIC 1.840 via patch
sys/arch/i386/conf/GENERIC_LAPTOP 1.239 via patch
sys/arch/i386/conf/GENERIC.MPACPI patch
sys/arch/mac68k/conf/GENERIC 1.182 via patch
sys/arch/sgimips/conf/GENERIC32_IP2x 1.68 via patch
sys/arch/sgimips/conf/GENERIC32_IP3x 1.66 via patch
sys/arch/sparc/conf/GENERIC 1.200 via patch
sys/arch/sparc64/conf/GENERIC32 patch
sys/arch/xen/conf/GENERIC patch
Remove iso(4) from GENERIC kernels, as discussed on tech-net@
Ok'ed by core@
 1.21.2.4.2.2 21-Jul-2005  riz branches: 1.21.2.4.2.2.2;
Pull up revision 1.46 (requested by itohy in ticket #1430):
Add ukyopon(4).
 1.21.2.4.2.1 02-Apr-2005  he Pull up revision 1.32 (requested by bouyer in ticket #1019):
Add pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) series of
controllers.
 1.21.2.4.2.2.2.1 11-Aug-2007  bouyer Pull up following revision(s) (requested by adrianp in ticket #11356):
sys/arch/acorn32/conf/GENERIC 1.80 via patch
sys/arch/amd64/conf/GENERIC 1.154 via patch
sys/arch/amiga/conf/GENERIC.in 1.61 via patch
sys/arch/arc/conf/GENERIC 1.148 via patch
sys/arch/atari/conf/GENERIC.in 1.68 via patch
sys/arch/cats/conf/GENERIC 1.116 via patch
sys/arch/hp300/conf/GENERIC 1.141 via patch
sys/arch/hp700/conf/GENERIC patch
sys/arch/i386/conf/GENERIC 1.840 via patch
sys/arch/i386/conf/GENERIC_LAPTOP 1.239 via patch
sys/arch/i386/conf/GENERIC.MPACPI patch
sys/arch/mac68k/conf/GENERIC 1.182 via patch
sys/arch/sgimips/conf/GENERIC32_IP2x 1.68 via patch
sys/arch/sgimips/conf/GENERIC32_IP3x 1.66 via patch
sys/arch/sparc/conf/GENERIC 1.200 via patch
sys/arch/sparc64/conf/GENERIC32 patch
sys/arch/xen/conf/GENERIC patch
Remove iso(4) from GENERIC kernels, as discussed on tech-net@
Ok'ed by core@
 1.34.4.1 29-Apr-2005  kent sync with -current
 1.36.2.3 26-Mar-2005  yamt sync with head.
 1.36.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.36.2.1 12-Feb-2005  yamt sync with head.
 1.42.2.18 15-Oct-2007  riz Pull up following revisions via patch (requested by bouyer in ticket #1838):
distrib/sets/lists/man/mi: revision 1.997
sbin/bioctl/strtonum.c: revision 1.1
sys/dev/Makefile: revision 1.25
sys/arch/amd64/conf/GENERIC: revision 1.139
sbin/bioctl/strtonum.h: revision 1.1
sys/dev/bio.c: revision 1.1
sbin/bioctl/bioctl.c: revision 1.1
share/man/man4/bio.4: revision 1.1
sbin/bioctl/bioctl.8: revision 1.1
sys/sys/envsys.h: revision 1.11
sbin/bioctl/bioctl.8: revision 1.3
sbin/bioctl/bioctl.8: revision 1.4
sys/arch/i386/conf/XEN2_DOM0: revision 1.25
distrib/sets/lists/base/mi: revision 1.704
sys/conf/majors: revision 1.34
share/man/man4/Makefile: revision 1.426
etc/MAKEDEV.tmpl: revision 1.86
sys/arch/i386/conf/GENERIC: revision 1.825
distrib/sets/lists/comp/mi: revision 1.1022
sys/conf/files: revision 1.839
usr.sbin/envstat/envstat.c: revision 1.24
sbin/Makefile: revision 1.105
sys/dev/ic/mfi.c: revision 1.4
sys/dev/biovar.h: revision 1.1
sys/dev/ic/mfivar.h: revision 1.4
sbin/bioctl/Makefile: revision 1.1
Fix typo.
Add bio(4) and associated bioctl(8) from OpenBSD, a driver control block
device controllers, and more specifically raid controllers.
Add a new sensor type, ENVSYS_DRIVE, to report drive status. From OpenBSD.
Add bio and sysmon support to mfi(4). This allow userland to query
status for drives and logical volumes attached to a mfi(4) controller. While
there fix some debug printfs in mfi so they compile.
Add bio(4) to amd64 and i386 GENERIC.
Add bio(4) and associated bioctl(8) from OpenBSD, a driver control block
device controllers, and more specifically raid controllers.
Add a new sensor type, ENVSYS_DRIVE, to report drive status. From OpenBSD.
Add bio and sysmon support to mfi(4). This allow userland to query
status for drives and logical volumes attached to a mfi(4) controller. While
there fix some debug printfs in mfi so they compile.
Add bio(4) to amd64 and i386 GENERIC.
Fix Dd argument (use full month names).
Use more markup.
Comment out references to safte(4) and softraid(4), which don't exist in
NetBSD.
Remove trailing whitespace.
Use macros instead of characters for HTML output (replace ">", "<"
with \*[Gt], \*[Lt]).
Sort sections.
Create /dev/bio
 1.42.2.17 28-Aug-2007  ghen Pull up following revision(s) (requested by adrianp in ticket #1826):
sys/arch/hp300/conf/GENERIC: revision 1.141 via patch
sys/arch/amd64/conf/GENERIC: revision 1.154 via patch
sys/arch/cats/conf/GENERIC: revision 1.116 via patch
sys/arch/arc/conf/GENERIC: revision 1.148 via patch
sys/arch/acorn32/conf/GENERIC: revision 1.80 via patch
sys/arch/sparc/conf/GENERIC: revision 1.200 via patch
sys/arch/sparc64/conf/GENERIC: revision 1.88 via patch
sys/arch/atari/conf/GENERIC.in: revision 1.68 via patch
sys/arch/amiga/conf/GENERIC: revision 1.248 via patch
sys/arch/i386/conf/GENERIC.MPACPI: patch
sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.239 via patch
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.66 via patch
sys/arch/i386/conf/GENERIC: revision 1.840 via patch
sys/arch/amiga/conf/GENERIC.in: revision 1.61 via patch
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.68 via patch
sys/arch/mac68k/conf/GENERIC: revision 1.182 via patch
Remove iso(4) from GENERIC kernels, as discussed on tech-net&#64;
Ok'ed by core&#64;
 1.42.2.16 27-May-2007  bouyer Pull up following revision(s) (requested by jnemeth in ticket #1778):
sys/arch/hpcarm/conf/IPAQ: revision 1.50
sys/arch/amd64/conf/GENERIC: revision 1.141
sys/arch/amd64/conf/INSTALL: revision 1.68
sys/arch/i386/conf/SWINGER: revision 1.90
PR/36234 - Joerg Niendorf -- xi -> xirc
 1.42.2.15 03-Mar-2007  bouyer Pull up following revision(s) (requested by tsutsui in ticket #1673):
distrib/sets/lists/man/mi 1.844, 1.871
share/man/man4/Makefile 1.372, 1.379 via patch
share/man/man4/re.4 1.8, 1.9, 1.11, 1.12
share/man/man4/rgephy.4 1.1
share/man/man4/rlphy.4 1.1, 1.2
sys/arch/amd64/conf/GENERIC 1.79, 1.89
sys/arch/amd64/conf/INSTALL 1.45, 1.49
sys/arch/i386/conf/GENERIC 1.717, 1.747
sys/arch/i386/conf/GENERIC_LAPTOP 1.164
sys/arch/i386/conf/INSTALL 1.277, 1.283
sys/arch/i386/conf/INSTALL_LAPTOP 1.96, 1.98
sys/arch/i386/conf/XEN2_DOM0 1.22 via patch
sys/arch/macppc/conf/GENERIC 1.220, 1.246
sys/arch/macppc/conf/INSTALL 1.96, 1.100
sys/dev/cardbus/if_re_cardbus.c 1.10
sys/dev/cardbus/if_rtk_cardbus.c 1.29-1.31
sys/dev/ic/rtl8169.c 1.14, 1.20, 1.24, 1.25, 1.28-1.61, 1.63, 1.64-1.81 via patch
sys/dev/ic/rtl81x9.c 1.52, 1.54-1.63, 1.65, 1.67-1.70
sys/dev/ic/rtl81x9reg.h 1.15-1.26
sys/dev/ic/rtl81x9var.h 1.19, 1.21-1.37
sys/dev/mii/files.mii 1.38
sys/dev/mii/miidevs 1.62, 1.64
sys/dev/mii/rgephy.c 1.10, 1.13-1.16
sys/dev/mii/rlphy.c 1.1, 1.6, 1.7, 1.11 via patch
sys/dev/pci/if_re_pci.c 1.13, 1.15-1.17, 1.19-1.23
sys/dev/pci/if_rtk_pci.c 1.25, 1.28, 1.29, 1.31
sys/dev/pci/pcidevs 1.851, 1.852

on re(4):
- improve stability (I believe ;-)
- add a workaround for hardware ip4csum-tx bug
- support newer chips (8169SB/SC, PCIe based 8168 etc.)
- fix 8139C+ support
- enable hardware VLAN
- misc bus_dma(9) fix (which makes re(4) work on mips ports)

on rtk(4):
- fix kern/31348
- fix possible panic on dreamcast
 1.42.2.14 23-Dec-2006  ghen Pull up following revision(s) (requested by bouyer in ticket #1609):
sys/arch/i386/conf/INSTALL: revision 1.298
sys/arch/i386/conf/GENERIC: revision 1.802
sys/dev/pci/files.pci: revision 1.274
sys/arch/amd64/conf/GENERIC: revision 1.122
sys/dev/pci/mfi_pci.c: revision 1.1 via patch
distrib/sets/lists/man/mi: revision 1.958
sys/arch/amd64/conf/INSTALL: revision 1.61
sys/dev/ic/mfireg.h: revision 1.1
share/man/man4/Makefile: revision 1.416 via patch
sys/dev/ic/mfi.c: revision 1.1
sys/arch/i386/conf/XEN2_DOM0: revision 1.19
sys/dev/ic/mfivar.h: revision 1.1
sys/conf/files: revision 1.821
share/man/man4/mfi.4: revision 1.1
share/man/man4/mfi.4: revision 1.2
sys/dev/pci/pcidevs via patch
Add mfi(4), a driver for LSI Logic & Dell MegaRAID SAS RAID controller.
Ported from OpenBSD, tested on i386 and amd64.
Punctuation issues.
 1.42.2.13 23-Dec-2006  ghen Pull up following revision(s) (requested by bouyer in ticket #1608):
sys/arch/i386/conf/INSTALL: revision 1.299 via patch
sys/arch/i386/conf/XEN2_DOM0: revision 1.20 via patch
sys/arch/i386/conf/GENERIC: revision 1.803 via patch
sys/dev/pci/files.pci: revision 1.275 via patch
sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.218 via patch
sys/arch/amd64/conf/GENERIC: revision 1.123 via patch
sys/dev/pci/if_bnx.c: revision 1.1 via patch
share/man/man4/bnx.4: revision 1.1-1.2 via patch
distrib/sets/lists/man/mi: revision 1.959 via patch
sys/arch/amd64/conf/INSTALL: revision 1.62 via patch
sys/dev/microcode/bnx/bnxfw.h: revision 1.1-1.2 via patch
sys/dev/pci/if_bnxreg.h: revision 1.1 via patch
share/man/man4/Makefile: revision 1.417 via patch
sys/arch/i386/conf/INSTALL_LAPTOP: revision 1.112 via patch
Add bnx(4), a driver for Broadcom NetXtreme II 10/100/1000 Ethernet device.
Ported from OpenBSD by cube@, with some bus_dma fixes by me.
Tested on i386 and amd64.
Add a NetBSD RCS tag.
Nx -> Ox; remove trailing whitespace.
 1.42.2.12 31-Jul-2006  tron branches: 1.42.2.12.2;
Apply patch (requested by bouyer in ticket #1441):
Pullup the twa(4) driver for the 3ware Apache RAID controllers.
Matching revisions in current:
share/man/man4/twa.4 1.1
sys/dev/pci/ld_twa.c 1.2
sys/dev/pci/twa.c 1.9
sys/dev/pci/twaio.h 1.3
sys/dev/pci/twareg.h 1.5
sys/dev/pci/twavar.h 1.5
 1.42.2.11 04-May-2006  tron Pull up following revision(s) (requested by jonathan in ticket #1298):
sys/arch/amd64/conf/INSTALL: revision 1.53
sys/arch/amd64/conf/GENERIC: revision 1.94
Add entries for svwsata(4) to amd64 GENERIC and INSTALL kernels,
to support SATA ports on Serverworks HT-1000 (aka bcm5785) chips.
 1.42.2.10 20-Apr-2006  tron Pull up following revision(s) (requested by martti in ticket #1258):
sys/arch/i386/conf/INSTALL: revision 1.284
sys/arch/i386/conf/GENERIC: revision 1.741
sys/arch/amd64/conf/GENERIC: revision 1.91
sys/arch/i386/conf/INSTALL_SMALL: revision 1.125
sys/arch/amd64/conf/INSTALL: revision 1.50
sys/arch/i386/conf/INSTALL_TINY: revision 1.102
Added ciss(4). Tested by Joseph Dacuma on HP DL-380 G3 with Smart Array 5i.
 1.42.2.9 20-Apr-2006  snj Pull up following revision(s) (requested by tron in ticket #1266):
sys/arch/amd64/conf/GENERIC: revision 1.88
sys/arch/i386/conf/INSTALL: revision 1.282
sys/arch/amd64/conf/INSTALL: revision 1.48
sys/arch/i386/conf/XEN0: revision 1.35
sys/arch/i386/conf/GENERIC: revision 1.733
add nfe.
 1.42.2.8 20-Feb-2006  tron Pull up following revision(s) (requested by tls in ticket #1180):
sys/arch/amd64/conf/GENERIC: revision 1.87
sys/arch/i386/conf/GENERIC: revision 1.727
Add amdpm -- without this, we're throwing away a good hardware random
number source on a huge set of machines. Also, now that amdpm has
support for the SMBus controller, add (commented-out, since we don't
always know what address the sensors are at) iic at amdpm and adt7463c
at iic, which is the configuration used on the Tyan S2881 and S2882-D
server boards. This should work in either 64-bit or 32-bit mode; it's
been tested in 64-bit mode. Addresses PR kern/32463 submitted by
Anil Gopinath.
 1.42.2.7 15-Sep-2005  snj branches: 1.42.2.7.2;
Pull up following revision(s) (requested by tron in ticket #786):
sys/arch/amd64/conf/GENERIC: revision 1.71
sys/arch/i386/conf/GENERIC.MPACPI: revision 1.46
sys/arch/i386/conf/GENERIC: revision 1.700
Add 10 Gigabit Ethernet drivers dge(4) and xge(4).
 1.42.2.6 15-Sep-2005  snj Pull up following revision(s) (requested by tron in ticket #786):
sys/arch/amd64/conf/GENERIC: revision 1.43
correctly alphabetize bce, skc/sk, inphy relative to their neighbors.
devices. correct typo in bce comment.
 1.42.2.5 14-Aug-2005  riz Pull up revision 1.60 (requested by hubertf in ticket #625):
Add support for reading cloop2 compressed filesystem images,
enable by putting VND_COMPRESSION into kernel config file.
Written by Cliff Wright, polished up slightly by me.
 1.42.2.4 18-Jul-2005  riz Pull up revision 1.56 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.42.2.3 05-Jul-2005  tron Pull up revision 1.54 (requested by martti in ticket #546):
Added support for amr. Tested by Joseph A. Dacuma with Dell PowerEdge 2800.
 1.42.2.2 02-Jul-2005  tron Pull up revision 1.48 (requested by kent in ticket #494):
add "azalia at pci"
 1.42.2.1 17-Apr-2005  tron Pull up revision 1.46 (requested by itohy in ticket #160):
Add ukyopon(4).
 1.42.2.12.2.2 28-Aug-2007  ghen Pull up following revision(s) (requested by adrianp in ticket #1826):
sys/arch/hp300/conf/GENERIC: revision 1.141 via patch
sys/arch/amd64/conf/GENERIC: revision 1.154 via patch
sys/arch/cats/conf/GENERIC: revision 1.116 via patch
sys/arch/arc/conf/GENERIC: revision 1.148 via patch
sys/arch/acorn32/conf/GENERIC: revision 1.80 via patch
sys/arch/sparc/conf/GENERIC: revision 1.200 via patch
sys/arch/sparc64/conf/GENERIC: revision 1.88 via patch
sys/arch/atari/conf/GENERIC.in: revision 1.68 via patch
sys/arch/amiga/conf/GENERIC: revision 1.248 via patch
sys/arch/i386/conf/GENERIC.MPACPI: patch
sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.239 via patch
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.66 via patch
sys/arch/i386/conf/GENERIC: revision 1.840 via patch
sys/arch/amiga/conf/GENERIC.in: revision 1.61 via patch
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.68 via patch
sys/arch/mac68k/conf/GENERIC: revision 1.182 via patch
Remove iso(4) from GENERIC kernels, as discussed on tech-net@
Ok'ed by core@
 1.42.2.12.2.1 27-May-2007  bouyer Pull up following revision(s) (requested by jnemeth in ticket #1778):
sys/arch/hpcarm/conf/IPAQ: revision 1.50
sys/arch/amd64/conf/GENERIC: revision 1.141
sys/arch/amd64/conf/INSTALL: revision 1.68
sys/arch/i386/conf/SWINGER: revision 1.90
PR/36234 - Joerg Niendorf -- xi -> xirc
 1.42.2.7.2.2 28-Aug-2007  ghen Pull up following revision(s) (requested by adrianp in ticket #1826):
sys/arch/hp300/conf/GENERIC: revision 1.141 via patch
sys/arch/amd64/conf/GENERIC: revision 1.154 via patch
sys/arch/cats/conf/GENERIC: revision 1.116 via patch
sys/arch/arc/conf/GENERIC: revision 1.148 via patch
sys/arch/acorn32/conf/GENERIC: revision 1.80 via patch
sys/arch/sparc/conf/GENERIC: revision 1.200 via patch
sys/arch/sparc64/conf/GENERIC: revision 1.88 via patch
sys/arch/atari/conf/GENERIC.in: revision 1.68 via patch
sys/arch/amiga/conf/GENERIC: revision 1.248 via patch
sys/arch/i386/conf/GENERIC.MPACPI: patch
sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.239 via patch
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.66 via patch
sys/arch/i386/conf/GENERIC: revision 1.840 via patch
sys/arch/amiga/conf/GENERIC.in: revision 1.61 via patch
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.68 via patch
sys/arch/mac68k/conf/GENERIC: revision 1.182 via patch
Remove iso(4) from GENERIC kernels, as discussed on tech-net@
Ok'ed by core@
 1.42.2.7.2.1 27-May-2007  bouyer Pull up following revision(s) (requested by jnemeth in ticket #1778):
sys/arch/hpcarm/conf/IPAQ: revision 1.50
sys/arch/amd64/conf/GENERIC: revision 1.141
sys/arch/amd64/conf/INSTALL: revision 1.68
sys/arch/i386/conf/SWINGER: revision 1.90
PR/36234 - Joerg Niendorf -- xi -> xirc
 1.55.2.10 17-Mar-2008  yamt sync with head.
 1.55.2.9 04-Feb-2008  yamt sync with head.
 1.55.2.8 21-Jan-2008  yamt sync with head
 1.55.2.7 07-Dec-2007  yamt sync with head
 1.55.2.6 15-Nov-2007  yamt sync with head.
 1.55.2.5 27-Oct-2007  yamt sync with head.
 1.55.2.4 03-Sep-2007  yamt sync with head.
 1.55.2.3 26-Feb-2007  yamt sync with head.
 1.55.2.2 30-Dec-2006  yamt sync with head.
 1.55.2.1 21-Jun-2006  yamt sync with head.
 1.72.2.1 29-Nov-2005  yamt sync with head.
 1.78.2.4 01-Mar-2006  yamt sync with head.
 1.78.2.3 18-Feb-2006  yamt sync with head.
 1.78.2.2 01-Feb-2006  yamt sync with head.
 1.78.2.1 15-Jan-2006  yamt sync with head.
 1.81.2.1 09-Sep-2006  rpaulo sync with head
 1.82.2.2 01-Jun-2006  kardel Sync with head.
 1.82.2.1 22-Apr-2006  simonb Sync with head.
 1.87.4.2 11-May-2006  elad sync with head
 1.87.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.87.2.6 14-Sep-2006  yamt sync with head.
 1.87.2.5 03-Sep-2006  yamt sync with head.
 1.87.2.4 11-Aug-2006  yamt sync with head
 1.87.2.3 24-May-2006  yamt sync with head.
 1.87.2.2 01-Apr-2006  yamt sync with head.
 1.87.2.1 13-Mar-2006  yamt sync with head.
 1.88.2.3 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.88.2.2 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.88.2.1 28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.94.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.102.2.3 22-Sep-2006  riz Pull up following revision(s) (requested by tsutsui in ticket #170):
sys/arch/sparc64/conf/GENERIC: revision 1.63
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.55
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.54
sys/arch/next68k/conf/GENERIC: revision 1.105
sys/arch/ews4800mips/conf/GENERIC: revision 1.12
sys/arch/arc/conf/GENERIC: revision 1.142
sys/arch/sun3/conf/GENERIC3X: revision 1.91
sys/arch/amd64/conf/GENERIC: revision 1.105
sys/arch/sun2/conf/GENERIC: revision 1.58
sys/arch/amiga/conf/GENERIC.in: revision 1.55
sys/arch/mac68k/conf/GENERIC: revision 1.175
sys/arch/acorn26/conf/GENERIC: revision 1.46
sys/arch/shark/conf/GENERIC: revision 1.65
sys/arch/cesfic/conf/GENERIC: revision 1.45
sys/arch/sandpoint/conf/GENERIC: revision 1.36
sys/arch/iyonix/conf/GENERIC: revision 1.32
sys/arch/mvme68k/conf/GENERIC: revision 1.69
sys/arch/evbarm/conf/ARMADILLO210: revision 1.3
sys/arch/vax/conf/GENERIC: revision 1.154
sys/arch/mipsco/conf/GENERIC: revision 1.61
sys/arch/evbarm/conf/ARMADILLO9: revision 1.14
sys/arch/cobalt/conf/GENERIC: revision 1.103
sys/arch/ofppc/conf/GENERIC: revision 1.94
sys/arch/hp700/conf/GENERIC: revision 1.69
sys/arch/playstation2/conf/GENERIC: revision 1.8
sys/arch/dreamcast/conf/GENERIC: revision 1.73
sys/arch/news68k/conf/GENERIC: revision 1.81
sys/arch/macppc/conf/GENERIC: revision 1.234
sys/arch/hp300/conf/GENERIC: revision 1.134
sys/arch/mmeye/conf/GENERIC: revision 1.83
sys/arch/ibmnws/conf/GENERIC: revision 1.26
sys/arch/cats/conf/GENERIC: revision 1.109
sys/arch/sparc/conf/GENERIC: revision 1.191
sys/arch/pdp10/conf/GENERIC: revision 1.27
sys/arch/acorn32/conf/GENERIC: revision 1.75
sys/arch/luna68k/conf/GENERIC: revision 1.74
sys/arch/bebox/conf/GENERIC: revision 1.101
sys/arch/pmax/conf/GENERIC: revision 1.148
sys/arch/x68k/conf/GENERIC: revision 1.130
sys/arch/sun3/conf/GENERIC: revision 1.134
sys/arch/prep/conf/GENERIC: revision 1.126
sys/arch/alpha/conf/GENERIC: revision 1.293
sys/arch/newsmips/conf/GENERIC: revision 1.94
sys/arch/netwinder/conf/GENERIC: revision 1.83
sys/arch/hpcsh/conf/GENERIC: revision 1.69
sys/arch/sbmips/conf/GENERIC: revision 1.55
sys/arch/pc532/conf/GENERIC: revision 1.65
sys/arch/hpcmips/conf/GENERIC: revision 1.192
Remove obsolete #options VERIFIED_EXEC, found by grep(1).
 1.102.2.2 15-Sep-2006  tron Pull up following revision(s) (requested by riz in ticket #153):
sys/arch/amd64/conf/INSTALL: revision 1.56
sys/arch/amd64/conf/GENERIC: revision 1.107
sys/arch/i386/conf/XEN2_DOM0: revision 1.7
sys/arch/i386/conf/INSTALL: revision 1.289
sys/arch/i386/conf/GENERIC: revision 1.780
Add msk and mskc.
 1.102.2.1 14-Aug-2006  tron Pull up following revision(s) (requested by elad in ticket #17):
sys/arch/sparc/conf/KRUPS: revision 1.38
sys/arch/i386/conf/XEN2_DOMU: revision 1.2
sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.197
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.53
sys/arch/evbsh5/conf/SIMULATOR: revision 1.12
sys/arch/sparc/conf/MRCOFFEE: revision 1.17
sys/arch/next68k/conf/GENERIC: revision 1.104
sys/arch/i386/conf/VIRTUALPC: revision 1.44
sys/arch/ews4800mips/conf/GENERIC: revision 1.11
sys/arch/evbsh5/conf/CAYMAN: revision 1.23
sys/arch/arc/conf/GENERIC: revision 1.141
sys/arch/amd64/conf/GENERIC: revision 1.103
sys/arch/sun3/conf/GENERIC3X: revision 1.90
sys/arch/evbarm/conf/HDL_G: revision 1.3
sys/arch/sun2/conf/GENERIC: revision 1.57
sys/arch/news68k/conf/GENERIC_TINY: revision 1.51
sys/arch/evbppc/conf/EXPLORA451: revision 1.27
sys/arch/amiga/conf/GENERIC.in: revision 1.54
sys/arch/mac68k/conf/GENERIC: revision 1.174
sys/arch/acorn26/conf/GENERIC: revision 1.45
sys/arch/shark/conf/GENERIC: revision 1.64
sys/arch/cesfic/conf/GENERIC: revision 1.44
sys/arch/mvme68k/conf/GENERIC: revision 1.68
sys/arch/i386/conf/XEN2_DOM0: revision 1.4
sys/arch/atari/conf/GENERIC.in: revision 1.63
sys/arch/amiga/conf/GENERIC: revision 1.240
sys/arch/i386/conf/LAMB: revision 1.65
sys/arch/i386/conf/GENERIC: revision 1.773
sys/arch/acorn32/conf/EB7500ATX: revision 1.26
sys/arch/x68k/conf/GENERIC: revision 1.128
sys/arch/vax/conf/GENERIC: revision 1.153
sys/arch/atari/conf/ATARITT: revision 1.81
sys/arch/mipsco/conf/GENERIC: revision 1.60
sys/arch/cobalt/conf/GENERIC: revision 1.101
sys/arch/evbarm/conf/ARMADILLO9: revision 1.13
sys/arch/ofppc/conf/GENERIC: revision 1.93
sys/arch/atari/conf/MILAN-PCIIDE: revision 1.51
sys/arch/arc/conf/RPC44: revision 1.26
sys/arch/sparc64/conf/GENERIC: revision 1.59
sys/arch/i386/conf/XEN3_DOMU: revision 1.2
sys/arch/hp700/conf/GENERIC: revision 1.68
sys/arch/atari/conf/MILAN-ISAIDE: revision 1.47
sys/arch/macppc/conf/GENERIC: revision 1.231
sys/arch/dreamcast/conf/GENERIC: revision 1.72
sys/arch/news68k/conf/GENERIC: revision 1.80
sys/arch/hp300/conf/GENERIC: revision 1.133
sys/arch/mmeye/conf/GENERIC: revision 1.82
sys/arch/macppc/conf/MAMBO: revision 1.2
sys/arch/cats/conf/GENERIC: revision 1.107
sys/arch/atari/conf/FALCON: revision 1.79
sys/arch/acorn32/conf/GENERIC: revision 1.71
sys/arch/sparc/conf/GENERIC: revision 1.190
sys/arch/news68k/conf/LIBERO: revision 1.40
sys/arch/amiga/conf/DRACO: revision 1.114
sys/arch/cobalt/conf/INSTALL: revision 1.23
sys/arch/luna68k/conf/GENERIC: revision 1.73
sys/arch/bebox/conf/GENERIC: revision 1.100
sys/arch/pmax/conf/GENERIC: revision 1.147
sys/arch/amiga/conf/WSCONS: revision 1.52
sys/arch/macppc/conf/POWERMAC_G5: revision 1.2
sys/arch/alpha/conf/ALPHA: revision 1.218
sys/arch/sun3/conf/GENERIC: revision 1.133
sys/arch/prep/conf/GENERIC: revision 1.124
sys/arch/alpha/conf/GENERIC: revision 1.291
sys/arch/atari/conf/HADES: revision 1.71
sys/arch/newsmips/conf/GENERIC: revision 1.93
sys/arch/netwinder/conf/GENERIC: revision 1.82
sys/arch/hpcmips/conf/GENERIC: revision 1.190
sys/arch/amiga/conf/AMIGA: revision 1.98
sys/arch/sbmips/conf/GENERIC: revision 1.54
sys/arch/pc532/conf/GENERIC: revision 1.64
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.53
Disable SYSTRACE by default on all kernels (discussed with core)
 1.106.2.4 06-Feb-2007  ad Add pseudo-device lockstat.
 1.106.2.3 01-Feb-2007  ad Sync with head.
 1.106.2.2 12-Jan-2007  ad Sync with head.
 1.106.2.1 18-Nov-2006  ad Sync with head.
 1.108.2.3 18-Dec-2006  yamt sync with head.
 1.108.2.2 10-Dec-2006  yamt sync with head.
 1.108.2.1 22-Oct-2006  yamt sync with head
 1.120.2.19 24-Mar-2009  bouyer Pullup the following revisions (requested by msaitoh in ticket #1284):
distrib/sets/lists/base/mi 1.706-707,1.797
distrib/sets/lists/man/mi 1.1006
etc/mtree/NetBSD.dist 1.340
share/man/man4/Makefile 1.432
sys/arch/amd64/conf/GENERIC 1.149 via patch
sys/arch/i386/conf/ALL 1.103
sys/arch/i386/conf/GENERIC 1.832
sys/arch/i386/conf/GENERIC_LAPTOP 1.237
sys/arch/macppc/conf/GENERIC 1.257
sys/arch/sparc64/conf/GENERIC 1.86
sys/dev/usb/usbdevs 1.468,1.479-480 via patch
sys/dev/usb/usbdevs.h regen
sys/dev/usb/usbdevs_data.h regen
sys/dev/microcode/Makefile 1.7
sys/dev/usb/files.usb patch
share/man/man4/zyd.4 1.1 via patch
sys/dev/microcode/zyd/Makefile 1.1-1.2
sys/dev/microcode/zyd/build.c 1.1
sys/dev/microcode/zyd/microcode.h 1.1
sys/dev/microcode/zyd/zd1211-license 1.1
sys/dev/microcode/zyd/zyd-zd1211 1.1
sys/dev/microcode/zyd/zyd-zd1211b 1.1
sys/dev/usb/if_zyd.c patch
sys/dev/usb/if_zydreg.h 1.1-1.2

Add ZyDAS ZD1211/ZD1211B USB IEEE 802.11b/g wireless network device support
 1.120.2.18 11-Jan-2008  xtraeme Pull up following revision(s) (requested by christos in ticket #1037):
sys/dev/pci/arcmsr.c: patch
sys/dev/pci/arcmsrvar.h: patch
sys/dev/pci/pcidevs: patch
sys/dev/pci/files.pci: patch
sys/arch/i386/conf/GENERIC: patch
sys/arch/i386/conf/XEN2_DOM0: patch
sys/arch/i386/conf/INSTALL_LARGE: patch
sys/arch/amd64/conf/GENERIC: patch
sys/arch/amd64/conf/INSTALL: patch
share/man/man4/Makefile: patch
share/man/man4/arcmsr.4: patch
distrib/sets/lists/man/mi: patch

Add the Areca Technology Corporation SATA RAID controller driver, ported
from OpenBSD.
 1.120.2.17 19-Dec-2007  ghen Pull up following revision(s) (requested by briggs in ticket #989):
sys/arch/amd64/conf/GENERIC: revision 1.151
sys/arch/x86/x86/ipmi.c: revision 1.12
sys/dev/DEVNAMES: revision 1.228
sys/arch/amd64/amd64/bios32.c: revision 1.6
sys/arch/x86/x86/ipmi.c: revision 1.8
sys/arch/amd64/conf/files.amd64: revision 1.39 via patch
sys/arch/amd64/amd64/mainbus.c: revision 1.17
Use PRIx64 for a 64-bit quantity instead of llx in a debug print.
Add (commented-out) support for IPMI on amd64--pretty much copied straight
from i386.
Check for duplicate sensor names in the IPMI table. If a duplicate name
is found, try to make it unique by appending a count (1-99) to the sensor
description (truncating, if necessary).
 1.120.2.16 26-Nov-2007  xtraeme Pull up following revision(s) (requested by jnemeth in ticket #998):
sys/arch/amd64/conf/GENERIC: revision 1.176 (patch)
sys/arch/i386/conf/GENERIC: revision 1.863
comment out com*/lpt* at acpi? as they cause these ports to move from
their traditional location and imminent changes in -current will cause
them to move back
 1.120.2.15 25-Nov-2007  xtraeme Pull up following revision(s) (requested by briggs in ticket #990):
sys/dev/ic/aac_tables.h: revision 1.5 (patch)
sys/dev/ic/aac.c: revision 1.31 (patch)
sys/dev/ic/aac.c: revision 1.32 (patch)
sys/dev/ic/aac.c: revision 1.33 (patch)
sys/dev/ic/aac.c: revision 1.34 (patch)
sys/arch/amd64/conf/INSTALL: revision 1.70 (patch)
sys/dev/ic/aac.c: revision 1.37 (patch)
sys/dev/ic/aacreg.h: revision 1.6 (patch)
sys/dev/ic/aacreg.h: revision 1.7 (patch)
sys/dev/ic/aacreg.h: revision 1.8 (patch)
sys/dev/ic/aacreg.h: revision 1.9 (patch)
sys/dev/pci/aac_pci.c: revision 1.21 (patch)
sys/dev/ic/aacvar.h: revision 1.10 (patch)
sys/dev/ic/aacvar.h: revision 1.9 (patch)
sys/arch/amd64/conf/GENERIC: revision 1.144 (patch)
sys/dev/ic/ld_aac.c: revision 1.14 (patch)
sys/dev/ic/ld_aac.c: revision 1.15 (patch)
Compile and run on amd64 and on >2GB RAM.
 1.120.2.14 05-Nov-2007  pavel Apply patch (requested by joerg in ticket #963):
sys/arch/amd64/conf/GENERIC: patch
Reduce difference to i386 GENERIC:
- add some comments from that
- options SPACE TAB
- enable EST
- enable DDB and build w/ frame pointer by default
- enable ACPI devices
- include Cardbus and PCMCIA
- include Synaptics driver
- include atw, ipw, iwi, hme, rtw, txp
- include uep, utoppy, ugensa
This makes GENERIC actually usable for laptops.
 1.120.2.13 12-Sep-2007  msaitoh Pull up following patches (requested by xtraeme in ticket #809)

share/man/man4/options.4 patch
sys/arch/i386/conf/files.i386 patch
sys/arch/i386/i386/est.c delete
sys/arch/i386/i386/identcpu.c patch
sys/arch/i386/include/cpu.h patch
sys/arch/x86/conf/files.x86 patch
sys/arch/x86/include/cpuvar.h patch
sys/arch/x86/x86/est.c new file
sys/arch/x86/x86/intel_busclock.c new file
sys/arch/amd64/amd64/identcpu.c patch
sys/arch/amd64/conf/GENERIC patch

Add support for the VIA C7-M and Eden processors in the Enhanced
Speedstep driver.
amd64: The Enhanced Speedstep driver is now able to work on EM64T
CPUs running in 64bit mode.
 1.120.2.12 31-Aug-2007  pavel Pull up following revision(s) (requested by bouyer in ticket #678):
distrib/sets/lists/man/mi: revision 1.1001
doc/CHANGES: revision 1.853 via patch
share/man/man4/Makefile: revision 1.428
share/man/man4/jmide.4: revision 1.1
sys/arch/amd64/conf/GENERIC: revision 1.143
sys/arch/amd64/conf/INSTALL: revision 1.69
sys/arch/i386/conf/GENERIC: revision 1.827
sys/arch/i386/conf/INSTALL_LARGE: revision 1.2 via patch
sys/arch/i386/conf/XEN2_DOM0: revision 1.26
sys/conf/files: revision 1.844 via patch
sys/dev/ic/ahcisata_core.c: revision 1.1 via patch
sys/dev/ic/ahcisata_core.c: revision 1.3
sys/dev/ic/ahcisatareg.h: revision 1.1
sys/dev/ic/ahcisatavar.h: revision 1.1
sys/dev/pci/ahcisata.c: delete
sys/dev/pci/ahcisatareg.h: delete
sys/dev/pci/ahcisata_pci.c: revision 1.1
sys/dev/pci/files.pci: revision 1.287-1.288
sys/dev/pci/jmide.c: revision 1.1-1.2
sys/dev/pci/jmide_reg.h: revision 1.1
sys/dev/pci/pcidevs: revision 1.878
Add JMicron Technology vendor ID, and their current PCIe SATA/PATA
controllers.

Split the ahcisata driver in pci front-end and bus-independant back-end.
add jmide(4), a driver for the JMicron Technology JMB36x PCIe to SATA II/PATA
controllers. These controllers can be found on add-on PCIe cards, or
on some motherboards to provide the PATA connectivity (e.g. some intel
ICH8-based motherboards).
Thanks to JMicron Technology for providing me documentation and
different sample boards for this work.

Move mapping of AHCI register so that jmide knows if it fails, and avoids
calling ahci_intr() (which would cause a panic).
Try to use the pciide function for SATA drives if attaching ahci fails (this
doesn't seems to work though, it may be BIOS dependant).
Thanks to Gary Duzan for testing multiple pacthes.

We're not ready to handle ATAPI yet so just claim there's no drive to the
upper layer. This should work around a NULL pointer dereference when
an ATAPI device is detected on a AHCI device.
 1.120.2.11 25-Aug-2007  liamjfoy Pull up following revision(s) (requested by adrianp in ticket #820):
sys/arch/hp300/conf/GENERIC: revision 1.141
sys/arch/alpha/conf/GENERIC: revision 1.315
sys/arch/amd64/conf/GENERIC: revision 1.154
sys/arch/cats/conf/GENERIC: revision 1.116
sys/arch/arc/conf/GENERIC: revision 1.148
sys/arch/acorn32/conf/GENERIC: revision 1.80
sys/arch/sparc/conf/GENERIC: revision 1.200
sys/arch/sparc64/conf/GENERIC: revision 1.88
sys/arch/atari/conf/GENERIC.in: revision 1.68
sys/arch/amiga/conf/GENERIC: revision 1.248
sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.239
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.66
sys/arch/i386/conf/GENERIC: revision 1.840
sys/arch/amiga/conf/GENERIC.in: revision 1.61
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.68
sys/arch/mac68k/conf/GENERIC: revision 1.182
Remove iso(4) from GENERIC kernels, as discussed on tech-net@
Ok'ed by core@
 1.120.2.10 27-Jul-2007  liamjfoy Pullup requested by degroote in ticket 795:

Add wpi(4).
 1.120.2.9 05-Jun-2007  bouyer Pull up following revision(s) (requested by martin in ticket #699):
sys/arch/hpcmips/conf/GENERIC: revision 1.196
sys/arch/hp700/conf/GENERIC: revision 1.74
sys/arch/i386/conf/GENERIC: revision 1.831
sys/arch/next68k/conf/GENERIC: revision 1.108
sys/arch/alpha/conf/GENERIC: revision 1.313
sys/arch/arc/conf/GENERIC: revision 1.146
sys/arch/cats/conf/GENERIC: revision 1.115
sys/arch/ews4800mips/conf/GENERIC: revision 1.18
sys/arch/landisk/conf/GENERIC: revision 1.8 via patch
sys/arch/sparc64/conf/GENERIC: revision 1.85
sys/arch/pmax/conf/GENERIC: revision 1.152
sys/arch/iyonix/conf/GENERIC: revision 1.38 via patch
sys/arch/amiga/conf/GENERIC: revision 1.245
sys/arch/vax/conf/GENERIC: revision 1.157
sys/arch/prep/conf/GENERIC: revision 1.135
sys/arch/pc532/conf/GENERIC: revision 1.70
sys/arch/sbmips/conf/GENERIC: revision 1.61
sys/arch/mipsco/conf/GENERIC: revision 1.65
sys/arch/cobalt/conf/GENERIC: revision 1.108
sys/arch/ofppc/conf/GENERIC: revision 1.98
sys/arch/amd64/conf/GENERIC: revision 1.148
sys/arch/acorn26/conf/GENERIC: revision 1.50
sys/arch/dreamcast/conf/GENERIC: revision 1.78
sys/arch/mac68k/conf/GENERIC: revision 1.181
sys/arch/hp300/conf/GENERIC: revision 1.139
sys/arch/mmeye/conf/GENERIC: revision 1.88
sys/arch/news68k/conf/GENERIC: revision 1.88
sys/arch/mvme68k/conf/GENERIC: revision 1.71
sys/arch/acorn32/conf/GENERIC: revision 1.79
sys/arch/sparc/conf/GENERIC: revision 1.199
sys/arch/luna68k/conf/GENERIC: revision 1.78
sys/arch/bebox/conf/GENERIC: revision 1.105
sys/arch/macppc/conf/GENERIC: revision 1.256 via patch
sys/arch/x68k/conf/GENERIC: revision 1.134
sys/arch/sun3/conf/GENERIC: revision 1.138
sys/arch/newsmips/conf/GENERIC: revision 1.98
Add pseudo-device agr to all GENERIC kernels where it might make sense
(commented out in some).
 1.120.2.8 13-May-2007  pavel branches: 1.120.2.8.2;
Pull up patch (requested by xtraeme in ticket #633):
sys/arch/amd64/conf/GENERIC: patch
sys/arch/i386/conf/ALL: patch
sys/arch/i386/conf/GENERIC: patch
sys/conf/files: patch
sys/dev/acpi/files.acpi: patch
sys/dev/acpi/ug_acpi.c: patch
sys/dev/ic/ug.c: patch
sys/dev/ic/ugreg.h: patch
sys/dev/ic/ugvar.h: patch
sys/dev/isa/files.isa: patch
sys/dev/isa/ug_isa.c: patch
share/man/man4/ug.4: patch
doc/CHANGES: patch
sys/dev/isa/ug.c: delete
sys/dev/isa/ugvar.h: delete

Add an acpi attachement for the ug hardware monitor driver.
 1.120.2.7 12-May-2007  pavel Pull up following revision(s) (requested by jnemeth in ticket #639):
sys/arch/hpcarm/conf/IPAQ: revision 1.50
sys/arch/amd64/conf/GENERIC: revision 1.141
sys/arch/amd64/conf/INSTALL: revision 1.68
sys/arch/i386/conf/SWINGER: revision 1.90
sys/arch/hpcarm/conf/JORNADA820: revision 1.8
PR/36234 - Joerg Niendorf -- xi -> xirc
 1.120.2.6 08-May-2007  pavel Pull up following revision(s) (requested by bouyer in ticket #603):
distrib/sets/lists/base/mi: revision 1.704
distrib/sets/lists/comp/mi: revision 1.1022
distrib/sets/lists/man/mi: revision 1.997
doc/CHANGES: revision 1.839
sbin/Makefile: patch
sbin/bioctl/Makefile: revision 1.1
sbin/bioctl/bioctl.8: revision 1.1
sbin/bioctl/bioctl.c: revision 1.1
sbin/bioctl/strtonum.c: revision 1.1
sbin/bioctl/strtonum.h: revision 1.1
share/man/man4/Makefile: revision 1.426
share/man/man4/bio.4: revision 1.1
sys/arch/amd64/conf/GENERIC: revision 1.139
sys/arch/i386/conf/GENERIC: revision 1.825
sys/arch/i386/conf/XEN2_DOM0: revision 1.25
sys/conf/files: revision 1.839
sys/conf/majors: patch
sys/dev/Makefile: revision 1.25
sys/dev/bio.c: patch
sys/dev/biovar.h: patch
sys/dev/ic/mfi.c: revision 1.4-1.5
sys/dev/ic/mfivar.h: revision 1.4
sys/sys/envsys.h: revision 1.11
usr.sbin/envstat/envstat.c: revision 1.24
Add bio(4) and associated bioctl(8) from OpenBSD, a driver control block
device controllers, and more specifically raid controllers.
Add a new sensor type, ENVSYS_DRIVE, to report drive status. From OpenBSD.
Add bio and sysmon support to mfi(4). This allow userland to query
status for drives and logical volumes attached to a mfi(4) controller. While
there fix some debug printfs in mfi so they compile.
Add bio(4) to amd64 and i386 GENERIC.

note bio(4), envsys(4) DRIVE, and mfi(4) support for both.

tred->sensor is a u_int.
 1.120.2.5 20-Apr-2007  pavel Pull up following revision(s) (requested by bouyer in ticket #494):
sys/arch/amd64/conf/GENERIC: revision 1.130
sys/arch/amd64/conf/GENERIC: revision 1.131
two revisions forgotten in the initial commit for this ticket.
 1.120.2.4 28-Jan-2007  tron Pull up following revision(s) (requested by tls in ticket #386):
doc/CHANGES: revision 1.783 via patch
sys/arch/i386/conf/INSTALL_TINY: revision 1.109
sys/arch/i386/conf/INSTALL_XEN2_DOMU: revision 1.11
sys/arch/i386/conf/INSTALL_SMALL: revision 1.132
sys/arch/i386/conf/GENERIC: revision 1.806
sys/arch/amd64/conf/GENERIC: revision 1.125
sys/arch/i386/conf/INSTALL: revision 1.303
sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.220
sys/arch/i386/conf/GENERIC_TINY: revision 1.103
sys/arch/i386/conf/INSTALL_LAPTOP: revision 1.114
Remove option COMPAT_386BSD_MBRPART from default kernels. NetBSD has
not used partition ID 0x165 for many, many years, and the presence of
this option in INSTALL kernels can cause overwriting of existing FreeBSD
installations when sysinst writes back the disklabel. Those with very,
very old NetBSD installations may find that they must update their fdisk
partition tables to use partition ID 0x169 for their NetBSD partitions.
This seems like the best of a number of lousy choices for dealing with
this problem. Sysinst should perhaps grow code that asks whether an
existing 0x165 partition should be converted.
~
 1.120.2.3 12-Jan-2007  bouyer Pull up following revision(s) (requested by xtraeme in ticket #341):
distrib/sets/lists/man/mi: revision 1.965
share/man/man4/ug.4: revision 1.1
sys/dev/isa/files.isa: revision 1.145
sys/arch/amd64/conf/GENERIC: revision 1.124
sys/dev/isa/ug.c: revision 1.1
sys/dev/isa/ugvar.h: revision 1.1
share/man/man4/envsys.4: revision 1.21
share/man/man4/Makefile: revision 1.418
Driver for the Abit uGuru Hardware system monitor, contributed by
Mihai Chelaru. Minor changes (simplification and KNF) by me.
Thanks.
Add ug0 at isa? commented out (driver for the Abit uGuru
Hardware system monitor).
ug(4): manual page for the Abit uGuru hardware system monitor
(wiz please review, thanks).
+ ug(4)
 1.120.2.2 21-Dec-2006  tron Pull up following revision(s) (requested by bouyer in ticket #287):
sys/arch/i386/conf/INSTALL: revision 1.299
sys/arch/i386/conf/XEN2_DOM0: revision 1.20
sys/arch/i386/conf/GENERIC: revision 1.803
sys/dev/pci/files.pci: revision 1.275
sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.218
sys/arch/amd64/conf/GENERIC: revision 1.123
sys/dev/pci/if_bnx.c: revision 1.1
share/man/man4/bnx.4: revision 1.1
distrib/sets/lists/man/mi: revision 1.959
sys/arch/amd64/conf/INSTALL: revision 1.62
sys/dev/microcode/bnx/bnxfw.h: revision 1.1
sys/arch/i386/conf/ALL: revision 1.76
sys/dev/pci/if_bnxreg.h: revision 1.1
share/man/man4/Makefile: revision 1.417
sys/arch/i386/conf/INSTALL_LAPTOP: revision 1.112
Add bnx(4), a driver for Broadcom NetXtreme II 10/100/1000 Ethernet device.
Ported from OpenBSD by cube@, with some bus_dma fixes by me.
Tested on i386 and amd64.
 1.120.2.1 21-Dec-2006  tron Pull up following revision(s) (requested by bouyer in ticket #286):
sys/arch/i386/conf/INSTALL: revision 1.298
sys/arch/i386/conf/GENERIC: revision 1.802
sys/dev/pci/files.pci: revision 1.274
sys/arch/amd64/conf/GENERIC: revision 1.122
sys/dev/pci/mfi_pci.c: revision 1.1
distrib/sets/lists/man/mi: revision 1.958
sys/arch/amd64/conf/INSTALL: revision 1.61
sys/arch/i386/conf/ALL: revision 1.75
sys/dev/ic/mfireg.h: revision 1.1
share/man/man4/Makefile: revision 1.416
sys/dev/ic/mfi.c: revision 1.1
sys/arch/i386/conf/XEN2_DOM0: revision 1.19
sys/dev/ic/mfivar.h: revision 1.1
sys/conf/files: revision 1.821
share/man/man4/mfi.4: revision 1.1
Add mfi(4), a driver for LSI Logic & Dell MegaRAID SAS RAID controller.
Ported from OpenBSD, tested on i386 and amd64.
 1.120.2.8.2.4 03-Jun-2008  skrll Sync with netbsd-4.
 1.120.2.8.2.3 06-Jan-2008  wrstuden Catch up to netbsd-4.0 release.
 1.120.2.8.2.2 23-Sep-2007  wrstuden Sync with somewhat-recent netbsd-4.
 1.120.2.8.2.1 03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.126.2.4 17-May-2007  yamt sync with head.
 1.126.2.3 07-May-2007  yamt sync with head.
 1.126.2.2 24-Mar-2007  yamt sync with head.
 1.126.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.134.4.1 11-Jul-2007  mjf Sync with head.
 1.134.2.9 03-Dec-2007  ad Sync with HEAD.
 1.134.2.8 03-Dec-2007  ad Sync with HEAD.
 1.134.2.7 09-Oct-2007  ad Sync with head.
 1.134.2.6 20-Aug-2007  ad Sync with HEAD.
 1.134.2.5 15-Jul-2007  ad Sync with head.
 1.134.2.4 09-Jun-2007  ad Sync with head.
 1.134.2.3 27-May-2007  ad Sync with head.
 1.134.2.2 10-Apr-2007  ad Sync with head.
 1.134.2.1 13-Mar-2007  ad Sync with head.
 1.136.2.1 29-Mar-2007  reinoud Pullup to -current
 1.138.2.4 16-Oct-2007  garbled Sync with HEAD
 1.138.2.3 03-Oct-2007  garbled Sync with HEAD
 1.138.2.2 26-Jun-2007  garbled Sync with HEAD.
 1.138.2.1 22-May-2007  matt Update to HEAD.
 1.153.8.17 09-Dec-2007  jmcneill Sync with HEAD.
 1.153.8.16 03-Dec-2007  joerg Sync with HEAD.
 1.153.8.15 27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.153.8.14 21-Nov-2007  joerg Sync with HEAD.
 1.153.8.13 14-Nov-2007  joerg Sync with HEAD.
 1.153.8.12 04-Nov-2007  jmcneill Sync with HEAD.
 1.153.8.11 31-Oct-2007  joerg Sync with HEAD.
 1.153.8.10 29-Oct-2007  joerg Sync with HEAD.
 1.153.8.9 28-Oct-2007  joerg Include apm emulation by default.
 1.153.8.8 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.153.8.7 04-Oct-2007  joerg Sync with HEAD.
 1.153.8.6 02-Oct-2007  joerg Rewrite the ACPI Embedded Controller handler to use pure event driven
operation. On suspend a special flag is set to force explicit polling
as AcpiLeaveSleep accesses the interrupt before GPE handling is
restored. The driver uses a kernel thread to handle GPE queries and
mutex/condvar for synchronisation.

Split the ACPI EC into two drivers, one that is attached directly by
acpi.c for the ECDT driven attachment and the normal acpiec for late
attachment. Share almost all code between this two drivers. If acpiecdt
is attached, acpiec is returning. This was discussed with cube@ and is
the best solution so far.
 1.153.8.5 02-Oct-2007  joerg Sync with HEAD.
 1.153.8.4 06-Sep-2007  jmcneill Enable cardbus, pcmcia, and acpi devices by default.
 1.153.8.3 06-Sep-2007  joerg Enable cgd by default on amd64 and i386.
 1.153.8.2 03-Sep-2007  jmcneill Sync with HEAD.
 1.153.8.1 09-Aug-2007  jmcneill Sync with HEAD.
 1.153.4.3 10-Sep-2007  skrll Sync with HEAD.
 1.153.4.2 03-Sep-2007  skrll Sync with HEAD.
 1.153.4.1 15-Aug-2007  skrll Sync with HEAD.
 1.153.2.1 07-Aug-2007  matt Sync with HEAD.
 1.160.2.3 23-Mar-2008  matt sync with HEAD
 1.160.2.2 09-Jan-2008  matt sync with HEAD
 1.160.2.1 06-Nov-2007  matt sync with HEAD
 1.164.2.1 06-Oct-2007  yamt sync with head.
 1.165.2.4 22-Nov-2007  bouyer Sync with HEAD
 1.165.2.3 18-Nov-2007  bouyer Sync with HEAD
 1.165.2.2 13-Nov-2007  bouyer Sync with HEAD
 1.165.2.1 25-Oct-2007  bouyer Sync with HEAD.
 1.172.2.4 18-Feb-2008  mjf Sync with HEAD.
 1.172.2.3 27-Dec-2007  mjf Sync with HEAD.
 1.172.2.2 08-Dec-2007  mjf Sync with HEAD.
 1.172.2.1 19-Nov-2007  mjf Sync with HEAD.
 1.177.2.2 26-Dec-2007  ad Sync with head.
 1.177.2.1 08-Dec-2007  ad Sync with head.
 1.179.2.1 11-Dec-2007  yamt sync with head.
 1.181.2.3 08-Jan-2008  bouyer Sync with HEAD
 1.181.2.2 02-Jan-2008  bouyer Sync with HEAD
 1.181.2.1 13-Dec-2007  bouyer Sync with HEAD
 1.199.6.6 17-Jan-2009  mjf Sync with HEAD.
 1.199.6.5 05-Oct-2008  mjf Sync with HEAD.
 1.199.6.4 28-Sep-2008  mjf Sync with HEAD.
 1.199.6.3 02-Jul-2008  mjf Sync with HEAD.
 1.199.6.2 02-Jun-2008  mjf Sync with HEAD.
 1.199.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.199.2.1 24-Mar-2008  keiichi sync with head.
 1.204.2.2 04-Jun-2008  yamt sync with head
 1.204.2.1 18-May-2008  yamt sync with head.
 1.205.2.8 09-Oct-2010  yamt sync with head
 1.205.2.7 11-Aug-2010  yamt sync with head.
 1.205.2.6 11-Mar-2010  yamt sync with head
 1.205.2.5 16-Sep-2009  yamt sync with head
 1.205.2.4 19-Aug-2009  yamt sync with head.
 1.205.2.3 20-Jun-2009  yamt sync with head
 1.205.2.2 04-May-2009  yamt sync with head.
 1.205.2.1 16-May-2008  yamt sync with head.
 1.210.2.4 10-Oct-2008  skrll Sync with HEAD.
 1.210.2.3 24-Sep-2008  wrstuden Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.
 1.210.2.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.210.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.216.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.216.4.1 19-Oct-2008  haad Sync with HEAD.
 1.216.2.1 10-Jun-2008  simonb Initial commit of Wasabi System's WAPBL (Write Ahead Physical Block
Logging) journaling code. Originally written by Darrin B. Jewell
while at Wasabi and updated to -current by Antti Kantee, Andy Doran,
Greg Oster and Simon Burge.

Still a number of issues - look in doc/BRANCHES for "simonb-wapbl"
for more info.
 1.231.4.11 19-Jun-2013  bouyer Pullup the following revisions via patch, requested by msaitoh in ticket #1850:
sys/dev/pci/if_wm.c 1.201, 1.203-1.204,
1.207-1.212, 1.215,
1.217-1.218, 1.220-1.223,
1.228, 1.232-245
sys/dev/pci/if_wmreg.h 1.40-1.45, 1.47-1.48
sys/dev/pci/if_wmvar.h 1.11-1.13
sys/dev/pci/pcidevs 1.1074, 1.1077, 1.1117
sys/dev/pci/pcidevs.h regen
sys/dev/pci/pcidevs_data.h regen
sys/dev/mii/igphyreg.h 1.6
sys/dev/mii/ihphy.c 1.1-1.2
sys/dev/mii/ihphyreg.h 1.1
sys/dev/mii/inbmphyreg.h 1.3
sys/dev/mii/files.mii 1.47 via patch
sys/dev/mii/miidevs 1.97 and 1.100
sys/dev/mii/miidevs.h regen
sys/dev/mii/miidevs_data.h regen
sys/arch/i386/conf/ALL 1.280
sys/arch/i386/conf/GENERIC 1.1001
sys/arch/i386/conf/INSTALL_FLOPPY 1.11
sys/arch/i386/conf/XEN2_DOM0 patch
sys/arch/amd64/conf/GENERIC 1.293
sys/arch/amd64/conf/XEN3_DOM0 1.61
share/man/man4/wm.4 1.21-1.24

Apply almost all fixes and improvements from netbsd-6 except for
the rev. 1.196's iqdrops' change.

- Add the detach code.
- Add code for WOL, ASF, IPMI and Intel AMT. WOL is disabled by default
- Add Yet another workaround for ICH8.
- 82576 is dual port, so check the FUNCID and increment the MAC address for
the 2nd port.
- Fix the names of 82577L[MC] LAN controllers (for mobile).
- Fix CTRL_EXT_SWDPIN() and CTRL_EXT_SWDPIO() macros. The bit order of the
SW definable pin is not 6543 but 3654!!!
- Rewrite the code to read MAC address from eeprom.
- Add 82580 support.
- 82571 quirk. Only 82571 shares port 0 of EEMNGCTL_CFGDONE.
- The document says that the TDH register must be set after
TCL.EN is set on 82575 and newer devices.
- Fix some register names. No functional change.
- Omit U+00AE "REGISTERED SIGN" in a product name due to its non-ASCII nature.
- Stop wm(4) from needlessly resetting when you add or delete a vlan(4).
- Fix MAC address check on 8257[156] and 80003 case. Some cards have non 0xffff
pointer but those don't use alternative MAC address in reality. So we check
whether the broadcast bit is set or not like Intel's e1000 driver.
Fixes PR kern/44072 reported by Jean-Yves Moulin.
- Add PCH2(and 82579) support. Fixes PR#46487
- Add yet another 82567V support.
- Add ICH10+HANKSVILL support.
- Add support Intel I350 Ethernet.
- Make vlan and all ip/ip6 checksum offload work for the I350.
- Fix compile error with WM_DEBUG.
- Fix a bug that PHY isn't set to low-power mode on PCH and PCH2.
- Add WM_DEBUG_NVM. If WM_DEBUG_NVM is enabled, dump the FLASH ROM data.
- Skip 64bit BAR correctly.
- Fix RAL_TABSIZE for ICH8, 82576, 82580 and I350.
- Use 82580(and I350) specific PHY read/write functions. Fixes PR#47542.
- Style fix. Fix typo in comment. Fix comments. Add comments.
 1.231.4.10 28-Sep-2012  sborrill Pull up the following revisions(s) (requested by liamjfoy in ticket #1797):
lib/libusbhid/usb_hid_usages: revision 1.5 via patch
share/man/man4/Makefile: revision 1.578 via patch
share/man/man4/uts.4: revision 1.1
share/man/man4/wsmouse.4: revision 1.19 via patch
sys/arch/amd64/conf/GENERIC: revision 1.346-1.347 via patch
sys/arch/i386/conf/GENERIC: revision 1.1078 via patch
sys/dev/usb/FILES: revision 1.12 via patch
sys/dev/usb/usbdevices.config: revision 1.12 via patch
sys/dev/usb/files.usb: revision 1.119-1.120 via patch
sys/dev/usb/usbhid.h: revision 1.14 via patch
sys/dev/usb/uts.c: revision 1.1
distrib/sets/lists/man/mi: revision 1.1370 via patch

Add uts(4) driver for USB touchscreens.
 1.231.4.9 25-Jan-2012  riz Pull up following revision(s) (requested by hannken in ticket #1715):
- Be robust against an invalid timer period value.
sys/dev/ic/hpetreg.h Rev. 1.4
sys/dev/ic/hpet.c Rev. 1.8

- Fix wrong definition of LAPIC_LEVEL_ASSERT / _MASK
sys/arch/x86/include/i82489reg.h Rev. 1.11

- Add virtio driver - speed up disk and network access in virtual environments
sys/arch/i386/conf/GENERIC Rev. 1.1055
sys/arch/i386/conf/ALL Rev. 1.325
sys/arch/amd64/conf/GENERIC Rev. 1.338
sys/dev/pci/files.pci Rev. 1.350
sys/dev/pci/if_vioif.c Rev. 0-1.2
sys/dev/pci/ld_virtio.c Rev. 0-1.4
sys/dev/pci/viomb.c Rev. 0-1.1
sys/dev/pci/virtio.c Rev. 0-1.3
sys/dev/pci/virtioreg.h Rev. 0-1.1
sys/dev/pci/virtiovar.h Rev. 0-1.1
distrib/sets/lists/man/mi Rev. 1.1352 and 1.1358
share/man/man4/Makefile Rev. 1.573 and 1.575
share/man/man4/ld.4 Rev. 1.19
share/man/man4/virtio.4 Rev. 0-1.4
share/man/man4/vioif.4 Rev. 0-1.2
share/man/man4/viomb.4 Rev. 0-1.2

Allow NetBSD to run unmodified under Linux/kvm.
 1.231.4.8 21-Nov-2010  riz Pull up following revision(s) (requested by plunky in ticket #1407):
sys/dev/bluetooth/btdev.h: revision 1.9
sys/arch/iyonix/conf/GENERIC: revision 1.60
sys/arch/sparc64/conf/GENERIC: revision 1.129
sys/dev/usb/hid.c: revision 1.30
sys/dev/usb/hid.h: revision 1.13
sys/arch/i386/conf/GENERIC: revision 1.983
usr.sbin/btdevctl/print.c: revision 1.10
sys/arch/evbarm/conf/MPCSA_GENERIC: revision 1.16
sys/arch/alpha/conf/GENERIC: revision 1.337
sys/dev/bluetooth/files.bluetooth: revision 1.14
sys/arch/evbarm/conf/GUMSTIX: revision 1.49
sys/dev/usb/usbdevs: revision 1.550
sys/arch/evbppc/conf/OPENBLOCKS266_OPT: revision 1.14
sys/arch/hpcsh/conf/GENERIC: revision 1.91
sys/dev/bluetooth/btmagic.c: revision 1.1
distrib/sets/lists/man/mi: revision 1.1210
sys/arch/amd64/conf/GENERIC: revision 1.279
sys/arch/i386/conf/ALL: revision 1.258
sys/arch/amd64/conf/XEN3_DOM0: revision 1.54
sys/arch/hpcarm/conf/JORNADA720: revision 1.78
sys/dev/usb/hid.c: revision 1.29
share/man/man4/btmagic.4: revision 1.1
hid_get_data() does not work if the size of data is less than
a byte and crosses a byte boundary, and it always returns a
sign-extended value.
fix this by using the algorithm from libusbhid to read bytes,
and provide a hid_get_udata() function to return unsigned data
values.
while here, const args
update DPRINTF to reflect actual function name
add Apple Magic Mouse product-id
regen for Magic Mouse id
allow for vendor-id and product-id properties, passing them
through to child devices
add Magic Mouse driver and manpage btmagic(4)
additionally query the "PnP Information" service record to discover
any USB Forum vendor-id and product-id values and store them in the
property list if found.
add btmagic(4) where other Bluetooth drivers are listed
 1.231.4.7 28-Oct-2009  bouyer Pull up the following revisions, requested by sborrill in ticket #1114:
share/man/man4/sdhc.4 1.1-1.2
sys/dev/pci/sdhc_pci.c 1.1-1.3
distrib/sets/lists/man/mi patch
share/man/man4/Makefile patch
sys/arch/amd64/conf/GENERIC patch
sys/arch/i386/conf/ALL patch
sys/arch/i386/conf/GENERIC patch
sys/dev/pci/files.pci patch
sys/dev/pci/pcidevs patch
sys/dev/pci/pcidevs.h regen
sys/dev/pci/pcidevs_data.h regen

Add sdhc(4), a driver for SD controllers following the SD Host
Controller Standard Simplified Specification.
 1.231.4.6 08-Oct-2009  sborrill Pull up the following revisions(s) (requested by jmcneill in ticket #1045):
distrib/sets/lists/man/mi: revision 1.1160
share/man/man4/Makefile: revision 1.499
share/man/man4/wb.4: revision 1.1-1.2
share/man/man4/ld.4: revision 1.17
sys/arch/i386/conf/ALL: revision 1.215-1.216 + patch
sys/arch/i386/conf/GENERIC: revision 1.946-1.947 + patch
sys/arch/amd64/conf/GENERIC: revision 1.254-1.256 + patch
sys/conf/files: revision 1.958
sys/dev/acpi/files.acpi: revision 1.59
sys/dev/acpi/wb_acpi.c: revision 1.1
sys/dev/ic/w83l518d.c: revision 1.1
sys/dev/ic/w83l518d_sdmmc.c: revision 1.1
sys/dev/ic/w83l518d_sdmmc.h: revision 1.1
sys/dev/ic/w83l518dreg.h: revision 1.1
sys/dev/ic/w83l518dvar.h.c: revision 1.1

wb(4): Add a driver for Winbond W83L518D SD/MMC readers.
 1.231.4.5 26-Sep-2009  snj Pull up following revision(s) (requested by jmcneill in ticket #946):
distrib/sets/lists/man/mi: revision 1.1155
doc/CHANGES: revision 1.1285
etc/MAKEDEV.tmpl: revision 1.128
share/man/man4/Makefile: revision 1.498 via patch
share/man/man4/hdaudio.4: revision 1.1-1.3
share/man/man8/MAKEDEV.8: revision 1.36
sys/arch/amd64/conf/GENERIC: revision 1.250-1.251
sys/arch/amd64/conf/XEN3_DOM0: revision 1.44-1.45
sys/arch/i386/conf/ALL: revision 1.206-1.207
sys/arch/i386/conf/GENERIC: revision 1.942-1.943
sys/arch/i386/conf/XEN3_DOM0: patch
sys/conf/majors: revision 1.47 via patch
sys/dev/pci/hdaudio/files.hdaudio: revision 1.1-1.2
sys/dev/pci/hdaudio/hdaudio.c: revision 1.1-1.4
sys/dev/pci/hdaudio/hdaudio_afg.c: revisions 1.1-1.14
sys/dev/pci/hdaudio/hdaudio_mixer.h: revisions 1.1-1.3
sys/dev/pci/hdaudio/hdaudio_pci.c: revisions 1.1-1.2
sys/dev/pci/hdaudio/hdaudioio.h: revisions 1.1-1.2
sys/dev/pci/hdaudio/hdaudioreg.h: revisions 1.1-1.3
sys/dev/pci/hdaudio/hdaudiovar.h: revisions 1.1-1.4
sys/dev/pci/files.pci: revisions 1.319 and 1.322 via patch
hdaudio(4) is a standards-compliant driver for High Definition Audio.
It will replace azalia(4) after testing.
To use, comment out azalia in your kernel configuration and uncomment the
hdaudio and hdafg lines so it reads:
hdaudio* at pci? dev ? function ?
hdafg* at hdaudiobus?
You should also:
cd /dev
sh MAKEDEV audio
 1.231.4.4 13-Sep-2009  snj Pull up following revision(s) (requested by jmcneill in ticket #943):
sys/arch/amd64/conf/GENERIC: revision 1.235
add options PMS_ELANTECH_TOUCHPAD
 1.231.4.3 03-May-2009  snj Pull up following revision(s) (requested by cegger in ticket #735):
sys/dev/pci/if_age.c: revisions 1.1-1.28
sys/dev/pci/if_agereg.h: revisions 1.1-1.2
sys/dev/pci/if_ale.c: revisions 1.1-1.3
sys/dev/pci/if_alereg.h: revisions 1.1-1.2
sys/dev/pci/files.pci: revisions 1.310-1.313
sys/dev/mii/atphy.c: revisions 1.1-1.5
sys/dev/mii/files.mii: revision 1.42
share/man/man4/age.4: revisions 1.1-1.3
share/man/man4/ale.4: revisions 1.1-1.2
share/man/man4/atphy.4: revisions 1.1-1.2
share/man/man4/Makefile: revisions 1.486, 1.489
distrib/sets/lists/man/mi: revisions 1.1118, 1.1132
sys/arch/i386/conf/GENERIC: revisions 1.928, 1.933
sys/arch/i386/conf/XEN2_DOM0: revisions 1.57, 1.60
sys/arch/amd64/conf/GENERIC: revisions 1.239, 1.241
sys/arch/amd64/conf/XEN3_DOM0: revisions 1.38, 1.42
Add the age(4) and ale(4) drivers for Attansic L1 and Atheros
AR8121/AR8113/AR8114 devices respectively.
 1.231.4.2 19-Feb-2009  snj branches: 1.231.4.2.4;
Apply patch (requested by pooka in ticket #453):
Add puffs and putter to amd64, i386, macppc, and sparc64 GENERIC kernels.
 1.231.4.1 02-Feb-2009  snj Pull up following revision(s) (requested by ad in ticket #402):
sys/arch/amd64/conf/GENERIC: revision 1.237
sys/arch/i386/conf/GENERIC: revision 1.924
Enable BUFQ_PRIOCSCAN by default.
 1.231.4.2.4.1 21-Apr-2010  matt sync to netbsd-5
 1.231.2.3 28-Apr-2009  skrll Sync with HEAD.
 1.231.2.2 03-Mar-2009  skrll Sync with HEAD.
 1.231.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.235.2.2 30-Dec-2008  christos add COMPAT_50
 1.235.2.1 14-Dec-2008  christos file GENERIC was added on branch christos-time_t on 2008-12-30 19:39:28 +0000
 1.237.2.8 27-Aug-2011  jym Sync with HEAD. Most notably: uvm/pmap work done by rmind@, and MP Xen
work of cherry@.

No regression observed on suspend/restore.
 1.237.2.7 02-May-2011  jym Sync with head.
 1.237.2.6 29-Mar-2011  jym More sync fixes. And add the mbr_gpt files.
 1.237.2.5 28-Mar-2011  jym Sync with HEAD. TODO before merge:
- shortcut for suspend code in sysmon, when powerd(8) is not running.
Borrow ``xs_watch'' thread context?
- bug hunting in xbd + xennet resume. Rings are currently thrashed upon
resume, so current implementation force flush them on suspend. It's not
really needed.
 1.237.2.4 01-Nov-2009  jym Sync with HEAD.
 1.237.2.3 23-Jul-2009  jym Sync with HEAD.
 1.237.2.2 31-May-2009  jym Sync with HEAD.
 1.237.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.264.2.4 06-Nov-2010  uebayasi Sync with HEAD.
 1.264.2.3 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.264.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.264.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.271.2.5 31-May-2011  rmind sync with head
 1.271.2.4 21-Apr-2011  rmind sync with head
 1.271.2.3 05-Mar-2011  rmind sync with head
 1.271.2.2 03-Jul-2010  rmind sync with head
 1.271.2.1 30-May-2010  rmind sync with head
 1.298.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.299.2.4 05-Mar-2011  bouyer Sync with HEAD
 1.299.2.3 17-Feb-2011  bouyer Sync with HEAD
 1.299.2.2 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.299.2.1 08-Feb-2011  bouyer Sync with HEAD
 1.319.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.338.2.5 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.338.2.4 23-Jan-2013  yamt sync with head
 1.338.2.3 30-Oct-2012  yamt sync with head
 1.338.2.2 23-May-2012  yamt sync with head.
 1.338.2.1 17-Apr-2012  yamt sync with head
 1.340.2.8 02-Jun-2012  mrg sync to latest -current.
 1.340.2.7 29-Apr-2012  mrg sync to latest -current.
 1.340.2.6 05-Apr-2012  mrg sync to latest -current.
 1.340.2.5 11-Mar-2012  mrg sync to latest -current
 1.340.2.4 06-Mar-2012  mrg sync to -current
 1.340.2.3 06-Mar-2012  mrg sync to -current
 1.340.2.2 04-Mar-2012  mrg sync to latest -current.
 1.340.2.1 18-Feb-2012  mrg merge to -current.
 1.348.2.7 29-Sep-2014  msaitoh Pull up following revision(s) (requested by riastradh in ticket #1129):
sys/arch/amd64/conf/GENERIC: revision 1.385
Enable options VND_COMPRESSION in amd64/GENERIC.
 1.348.2.6 15-Aug-2012  sborrill Pull up the following revisions(s) (requested by martin in ticket #502):
sys/arch/cobalt/conf/GENERIC: patch
sys/arch/i386/conf/GENERIC: patch
sys/arch/i386/conf/XEN3_DOM0: patch
sys/arch/i386/conf/XEN3_DOMU: patch
sys/arch/mvmeppc/conf/GENERIC: patch
sys/arch/shark/conf/GENERIC: patch
sys/arch/sparc64/conf/GENERIC: patch
sys/arch/sparc64/conf/GENERIC.DEBUG: patch
sys/arch/zaurus/conf/GENERIC: patch

Switch off DIAGNOSTIC and/or DEBUG on release kernels.
Enable DIAGNOSTIC in DEBUG kernels to allow for option
being switched off in GENERIC.
 1.348.2.5 15-Jun-2012  sborrill Pull up the following revisions(s) (requested by riz in ticket #343):
sys/dev/usb/files.usb: revision 1.122
sys/dev/usb/if_urtw.c: revision 1.1
sys/dev/usb/if_urtwreg.h: revision 1.1
share/man/man4/Makefile: revision 1.586
share/man/man4/urtw.4: revision 1.1
distrib/sets/lists/man/mi: revision 1.1393
sys/dev/usb/usbdevs: revision 1.617
sys/arch/i386/conf/GENERIC: revision 1.357
sys/arch/amd64/conf/GENERIC: revision 1.1075 via patch

Add urtw(4) driver for Realtek RTL8187/RTL8187B 802.11b/g USB wireless
adapter. From OpenBSD.
 1.348.2.4 14-Jun-2012  sborrill Pull up the following revisions(s) (requested by riz in ticket #326):
distrib/sets/lists/base/mi: 1.989
distrib/sets/lists/man/mi: 1.1385
etc/mtree/NetBSD.dist.base: 1.99
share/man/man4/Makefile: 1.583
share/man/man4/urtwn.4: 1.1
share/man/man4/usb.4: 1.97
sys/arch/amd64/conf/GENERIC: 1.351
sys/arch/i386/conf/GENERIC: 1.1068
sys/dev/usb/files.usb: 1.121
sys/dev/usb/if_urtwn.c: 1.1-1.4
sys/dev/usb/if_urtwn_data.h: 1.1
sys/dev/usb/if_urtwnreg.h: 1.1
sys/dev/usb/if_urtwnvar.h: 1.1
sys/dev/usb/usbdevices.config: 1.13
sys/dev/usb/usbdevs: 1.621 via patch
sys/dev/usb/usbdevs.h: regen
sys/dev/usb/usbdevs_data.h: regen
sys/modules/if_urtwn/Makefile: 1.1
sys/modules/if_urtwn/if_urtwn.ioconf: 1.1

Add support for urtwn(4) wireless. Ported from OpenBSD
 1.348.2.3 12-Jun-2012  riz Remove test changes which accidentally snuck in on the netbsd-6 branch.
Oops.
 1.348.2.2 12-Jun-2012  riz Pull up following revision(s) (requested by abs in ticket #311):
sys/arch/netwinder/conf/GENERIC: revision 1.112
sys/arch/i386/conf/GENERIC: revision 1.1074
sys/arch/atari/conf/MILAN.in: revision 1.26
sys/arch/zaurus/conf/GENERIC: revision 1.54
sys/arch/shark/conf/GENERIC: revision 1.101
sys/arch/hpcmips/conf/MPC303: revision 1.60
sys/arch/i386/conf/XEN3_DOM0: revision 1.67
sys/arch/evbarm/conf/MPCSA_GENERIC: revision 1.29
sys/arch/vax/conf/GENERIC: revision 1.181
sys/arch/sparc/conf/KRUPS: revision 1.59
sys/arch/evbarm/conf/BEAGLEBOARD: revision 1.27
sys/arch/i386/conf/INSTALL_FLOPPY: revision 1.16
sys/arch/prep/conf/GENERIC: revision 1.163
sys/arch/hpcmips/conf/GENERIC: revision 1.216
sys/arch/sparc/conf/TADPOLE3GX: revision 1.56
sys/arch/shark/conf/INSTALL: revision 1.50
sys/arch/next68k/conf/GENERIC: revision 1.127
sys/arch/evbppc/conf/VIRTEX_GSRD2: revision 1.16
sys/arch/evbppc/conf/VIRTEX_DFC: revision 1.17
sys/arch/evbppc/conf/EXPLORA451: revision 1.48
sys/arch/bebox/conf/INSTALL: revision 1.54
sys/arch/next68k/conf/SLAB: revision 1.46
sys/arch/i386/conf/GENERIC_TINY: revision 1.132
sys/arch/bebox/conf/GENERIC: revision 1.131
sys/arch/amd64/conf/XEN3_DOM0: revision 1.84
sys/arch/amd64/conf/GENERIC: revision 1.356
sys/arch/evbarm/conf/MMNET_GENERIC: revision 1.6
share/man/man4/wscons.4: revision 1.31
sys/arch/hpcmips/conf/TX3912: revision 1.79
sys/arch/evbarm/conf/ARMADILLO9: revision 1.35
sys/arch/hpcsh/conf/GENERIC: revision 1.97
sys/arch/i386/conf/ALL: revision 1.339
sys/arch/hpcmips/conf/TX3922: revision 1.93
sys/arch/cats/conf/INSTALL: revision 1.82
sys/arch/sparc64/conf/GENERIC: revision 1.151
sys/arch/i386/conf/INSTALL_TINY: revision 1.135
sys/arch/evbppc/conf/VIRTEX_GSRD1: revision 1.15
sys/arch/evbarm/conf/TS7200: revision 1.49
sys/arch/hpcmips/conf/VR41XX: revision 1.55
sys/arch/hp700/conf/GENERIC: revision 1.115
sys/arch/cats/conf/GENERIC: revision 1.140
Mention wsconscfg(8) needs WSDISPLAY_COMPAT_USL
If a port is going to have wscons for virtual terminals then it really make=
s
sense to enable WSDISPLAY_COMPAT_USL so the system can switch between the
virtual terminals...
Adjust the WSDISPLAY_COMPAT_USL comment to mention wsconscfg, to at least
give a hint that its not just for third party compat. No functional change.
 1.348.2.1 23-Apr-2012  riz Pull up following revision(s) (requested by bouyer in ticket #193):
sys/arch/i386/conf/GENERIC: revision 1.1072
sys/dev/pci/mpii.c: revision 1.1
sys/arch/i386/conf/XEN3_DOM0: revision 1.66
sys/dev/pci/files.pci: revision 1.357
share/man/man4/Makefile: revision 1.584
distrib/sets/lists/man/mi: revision 1.1387
share/man/man4/mpii.4: revision 1.1
sys/arch/amd64/conf/GENERIC: revision 1.354
sys/arch/amd64/conf/XEN3_DOM0: revision 1.83
sys/arch/i386/conf/ALL: revision 1.337
Add mpii(4), a driver for LSI Logic Fusion-MPT Message Passing Interface II
SAS controllers. Ported from OpenBSD.
 1.363.2.5 03-Dec-2017  jdolecek update from HEAD
 1.363.2.4 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.363.2.3 23-Jun-2013  tls resync from head
 1.363.2.2 25-Feb-2013  tls resync with head
 1.363.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.378.2.2 18-May-2014  rmind sync with head
 1.378.2.1 28-Aug-2013  rmind sync with head
 1.383.2.1 10-Aug-2014  tls Rebase.
 1.392.2.11 25-Jul-2017  snj Apply patch (requested by nonaka in ticket #1413):
iwm(4): Add a driver for Intel Wireless 726x, 316x, 826x and 416x series.
Ported from OpenBSD.
 1.392.2.10 05-Apr-2017  snj Pull up following revision(s) (requested by skrll in ticket #1395):
share/man/man4/axe.4: netbsd-7-nhusb
share/man/man4/axen.4: netbsd-7-nhusb
share/man/man4/cdce.4: netbsd-7-nhusb
share/man/man4/uaudio.4: netbsd-7-nhusb
share/man/man4/ucom.4: netbsd-7-nhusb
share/man/man4/uep.4: netbsd-7-nhusb
share/man/man4/urtw.4: netbsd-7-nhusb
share/man/man4/usb.4: netbsd-7-nhusb
share/man/man4/uyap.4: netbsd-7-nhusb
share/man/man4/xhci.4: netbsd-7-nhusb
share/man/man9/usbdi.9: netbsd-7-nhusb
sys/arch/amd64/conf/ALL: netbsd-7-nhusb
sys/arch/amd64/conf/GENERIC: netbsd-7-nhusb
sys/arch/amiga/dev/slhci_zbus.c: netbsd-7-nhusb
sys/arch/arm/allwinner/awin_otg.c: netbsd-7-nhusb
sys/arch/arm/allwinner/awin_usb.c: netbsd-7-nhusb
sys/arch/arm/amlogic/amlogic_dwctwo.c: netbsd-7-nhusb
sys/arch/arm/at91/at91ohci.c: netbsd-7-nhusb
sys/arch/arm/broadcom/bcm2835_dwctwo.c: netbsd-7-nhusb
sys/arch/arm/broadcom/bcm53xx_usb.c: netbsd-7-nhusb
sys/arch/arm/ep93xx/epohci.c: netbsd-7-nhusb
sys/arch/arm/gemini/obio_ehci.c: netbsd-7-nhusb
sys/arch/arm/imx/files.imx23: netbsd-7-nhusb
sys/arch/arm/imx/imxusb.c: netbsd-7-nhusb
sys/arch/arm/imx/imxusbreg.h: netbsd-7-nhusb
sys/arch/arm/omap/obio_ohci.c: netbsd-7-nhusb
sys/arch/arm/omap/omap3_ehci.c: netbsd-7-nhusb
sys/arch/arm/omap/omapl1x_ohci.c: netbsd-7-nhusb
sys/arch/arm/omap/tiotg.c: netbsd-7-nhusb
sys/arch/arm/s3c2xx0/ohci_s3c24x0.c: netbsd-7-nhusb
sys/arch/arm/samsung/exynos_usb.c: netbsd-7-nhusb
sys/arch/arm/xscale/pxa2x0_ohci.c: netbsd-7-nhusb
sys/arch/arm/zynq/zynq_usb.c: netbsd-7-nhusb
sys/arch/hpcarm/dev/nbp_slhci.c: netbsd-7-nhusb
sys/arch/hpcmips/dev/plumohci.c: netbsd-7-nhusb
sys/arch/i386/conf/ALL: netbsd-7-nhusb
sys/arch/i386/conf/GENERIC: netbsd-7-nhusb
sys/arch/i386/pci/gcscehci.c: netbsd-7-nhusb
sys/arch/luna68k/conf/GENERIC: netbsd-7-nhusb
sys/arch/mips/adm5120/dev/ahci.c: netbsd-7-nhusb
sys/arch/mips/adm5120/dev/ahcivar.h: netbsd-7-nhusb
sys/arch/mips/alchemy/dev/ohci_aubus.c: netbsd-7-nhusb
sys/arch/mips/atheros/dev/ehci_arbus.c: netbsd-7-nhusb
sys/arch/mips/atheros/dev/ohci_arbus.c: netbsd-7-nhusb
sys/arch/mips/conf/files.adm5120: netbsd-7-nhusb
sys/arch/mips/ralink/ralink_ehci.c: netbsd-7-nhusb
sys/arch/mips/ralink/ralink_ohci.c: netbsd-7-nhusb
sys/arch/mips/rmi/rmixl_ehci.c: netbsd-7-nhusb
sys/arch/mips/rmi/rmixl_ohci.c: netbsd-7-nhusb
sys/arch/playstation2/dev/ohci_sbus.c: netbsd-7-nhusb
sys/arch/powerpc/booke/dev/pq3ehci.c: netbsd-7-nhusb
sys/arch/powerpc/ibm4xx/dev/dwctwo_plb.c: netbsd-7-nhusb
sys/arch/x68k/dev/slhci_intio.c: netbsd-7-nhusb
sys/conf/files: netbsd-7-nhusb
sys/dev/cardbus/ehci_cardbus.c: netbsd-7-nhusb
sys/dev/cardbus/ohci_cardbus.c: netbsd-7-nhusb
sys/dev/cardbus/uhci_cardbus.c: netbsd-7-nhusb
sys/dev/ic/sl811hs.c: netbsd-7-nhusb
sys/dev/ic/sl811hsvar.h: netbsd-7-nhusb
sys/dev/isa/slhci_isa.c: netbsd-7-nhusb
sys/dev/marvell/ehci_mv.c: netbsd-7-nhusb
sys/dev/pci/ehci_pci.c: netbsd-7-nhusb
sys/dev/pci/ohci_pci.c: netbsd-7-nhusb
sys/dev/pci/uhci_pci.c: netbsd-7-nhusb
sys/dev/pci/xhci_pci.c: netbsd-7-nhusb
sys/dev/pcmcia/slhci_pcmcia.c: netbsd-7-nhusb
sys/dev/usb/Makefile.usbdevs: netbsd-7-nhusb
sys/dev/usb/TODO: netbsd-7-nhusb
sys/dev/usb/TODO.usbmp: netbsd-7-nhusb
sys/dev/usb/aubtfwl.c: netbsd-7-nhusb
sys/dev/usb/auvitek.c: netbsd-7-nhusb
sys/dev/usb/auvitek_audio.c: netbsd-7-nhusb
sys/dev/usb/auvitek_dtv.c: netbsd-7-nhusb
sys/dev/usb/auvitek_i2c.c: netbsd-7-nhusb
sys/dev/usb/auvitek_video.c: netbsd-7-nhusb
sys/dev/usb/auvitekvar.h: netbsd-7-nhusb
sys/dev/usb/ehci.c: netbsd-7-nhusb
sys/dev/usb/ehcireg.h: netbsd-7-nhusb
sys/dev/usb/ehcivar.h: netbsd-7-nhusb
sys/dev/usb/emdtv.c: netbsd-7-nhusb
sys/dev/usb/emdtv_dtv.c: netbsd-7-nhusb
sys/dev/usb/emdtv_ir.c: netbsd-7-nhusb
sys/dev/usb/emdtvvar.h: netbsd-7-nhusb
sys/dev/usb/ezload.c: netbsd-7-nhusb
sys/dev/usb/ezload.h: netbsd-7-nhusb
sys/dev/usb/files.usb: netbsd-7-nhusb
sys/dev/usb/hid.c: netbsd-7-nhusb
sys/dev/usb/hid.h: netbsd-7-nhusb
sys/dev/usb/if_athn_usb.c: netbsd-7-nhusb
sys/dev/usb/if_athn_usb.h: netbsd-7-nhusb
sys/dev/usb/if_atu.c: netbsd-7-nhusb
sys/dev/usb/if_atureg.h: netbsd-7-nhusb
sys/dev/usb/if_aue.c: netbsd-7-nhusb
sys/dev/usb/if_auereg.h: netbsd-7-nhusb
sys/dev/usb/if_axe.c: netbsd-7-nhusb
sys/dev/usb/if_axen.c: netbsd-7-nhusb
sys/dev/usb/if_axenreg.h: netbsd-7-nhusb
sys/dev/usb/if_axereg.h: netbsd-7-nhusb
sys/dev/usb/if_cdce.c: netbsd-7-nhusb
sys/dev/usb/if_cdcereg.h: netbsd-7-nhusb
sys/dev/usb/if_cue.c: netbsd-7-nhusb
sys/dev/usb/if_cuereg.h: netbsd-7-nhusb
sys/dev/usb/if_kue.c: netbsd-7-nhusb
sys/dev/usb/if_kuereg.h: netbsd-7-nhusb
sys/dev/usb/if_otus.c: netbsd-7-nhusb
sys/dev/usb/if_otusvar.h: netbsd-7-nhusb
sys/dev/usb/if_rum.c: netbsd-7-nhusb
sys/dev/usb/if_rumreg.h: netbsd-7-nhusb
sys/dev/usb/if_rumvar.h: netbsd-7-nhusb
sys/dev/usb/if_run.c: netbsd-7-nhusb
sys/dev/usb/if_runvar.h: netbsd-7-nhusb
sys/dev/usb/if_smsc.c: netbsd-7-nhusb
sys/dev/usb/if_smscreg.h: netbsd-7-nhusb
sys/dev/usb/if_smscvar.h: netbsd-7-nhusb
sys/dev/usb/if_udav.c: netbsd-7-nhusb
sys/dev/usb/if_udavreg.h: netbsd-7-nhusb
sys/dev/usb/if_upgt.c: netbsd-7-nhusb
sys/dev/usb/if_upgtvar.h: netbsd-7-nhusb
sys/dev/usb/if_upl.c: netbsd-7-nhusb
sys/dev/usb/if_ural.c: netbsd-7-nhusb
sys/dev/usb/if_uralreg.h: netbsd-7-nhusb
sys/dev/usb/if_uralvar.h: netbsd-7-nhusb
sys/dev/usb/if_url.c: netbsd-7-nhusb
sys/dev/usb/if_urlreg.h: netbsd-7-nhusb
sys/dev/usb/if_urndis.c: netbsd-7-nhusb
sys/dev/usb/if_urndisreg.h: netbsd-7-nhusb
sys/dev/usb/if_urtw.c: netbsd-7-nhusb
sys/dev/usb/if_urtwn.c: netbsd-7-nhusb
sys/dev/usb/if_urtwn_data.h: netbsd-7-nhusb
sys/dev/usb/if_urtwnreg.h: netbsd-7-nhusb
sys/dev/usb/if_urtwnvar.h: netbsd-7-nhusb
sys/dev/usb/if_urtwreg.h: netbsd-7-nhusb
sys/dev/usb/if_zyd.c: netbsd-7-nhusb
sys/dev/usb/if_zydreg.h: netbsd-7-nhusb
sys/dev/usb/irmce.c: netbsd-7-nhusb
sys/dev/usb/moscom.c: netbsd-7-nhusb
sys/dev/usb/motg.c: netbsd-7-nhusb
sys/dev/usb/motgvar.h: netbsd-7-nhusb
sys/dev/usb/ohci.c: netbsd-7-nhusb
sys/dev/usb/ohcireg.h: netbsd-7-nhusb
sys/dev/usb/ohcivar.h: netbsd-7-nhusb
sys/dev/usb/pseye.c: netbsd-7-nhusb
sys/dev/usb/slurm.c: netbsd-7-nhusb
sys/dev/usb/stuirda.c: netbsd-7-nhusb
sys/dev/usb/u3g.c: netbsd-7-nhusb
sys/dev/usb/uark.c: netbsd-7-nhusb
sys/dev/usb/uatp.c: netbsd-7-nhusb
sys/dev/usb/uaudio.c: netbsd-7-nhusb
sys/dev/usb/uberry.c: netbsd-7-nhusb
sys/dev/usb/ubsa.c: netbsd-7-nhusb
sys/dev/usb/ubsa_common.c: netbsd-7-nhusb
sys/dev/usb/ubsavar.h: netbsd-7-nhusb
sys/dev/usb/ubt.c: netbsd-7-nhusb
sys/dev/usb/uchcom.c: netbsd-7-nhusb
sys/dev/usb/ucom.c: netbsd-7-nhusb
sys/dev/usb/ucomvar.h: netbsd-7-nhusb
sys/dev/usb/ucycom.c: netbsd-7-nhusb
sys/dev/usb/udl.c: netbsd-7-nhusb
sys/dev/usb/udl.h: netbsd-7-nhusb
sys/dev/usb/udsbr.c: netbsd-7-nhusb
sys/dev/usb/udsir.c: netbsd-7-nhusb
sys/dev/usb/uep.c: netbsd-7-nhusb
sys/dev/usb/uftdi.c: netbsd-7-nhusb
sys/dev/usb/uftdireg.h: netbsd-7-nhusb
sys/dev/usb/ugen.c: netbsd-7-nhusb
sys/dev/usb/ugensa.c: netbsd-7-nhusb
sys/dev/usb/uhci.c: netbsd-7-nhusb
sys/dev/usb/uhcireg.h: netbsd-7-nhusb
sys/dev/usb/uhcivar.h: netbsd-7-nhusb
sys/dev/usb/uhid.c: netbsd-7-nhusb
sys/dev/usb/uhidev.c: netbsd-7-nhusb
sys/dev/usb/uhidev.h: netbsd-7-nhusb
sys/dev/usb/uhmodem.c: netbsd-7-nhusb
sys/dev/usb/uhso.c: netbsd-7-nhusb
sys/dev/usb/uhub.c: netbsd-7-nhusb
sys/dev/usb/uipad.c: netbsd-7-nhusb
sys/dev/usb/uipaq.c: netbsd-7-nhusb
sys/dev/usb/uirda.c: netbsd-7-nhusb
sys/dev/usb/uirdavar.h: netbsd-7-nhusb
sys/dev/usb/ukbd.c: netbsd-7-nhusb
sys/dev/usb/ukbdmap.c: netbsd-7-nhusb
sys/dev/usb/ukyopon.c: netbsd-7-nhusb
sys/dev/usb/ukyopon.h: netbsd-7-nhusb
sys/dev/usb/ulpt.c: netbsd-7-nhusb
sys/dev/usb/umass.c: netbsd-7-nhusb
sys/dev/usb/umass_isdata.c: netbsd-7-nhusb
sys/dev/usb/umass_isdata.h: netbsd-7-nhusb
sys/dev/usb/umass_quirks.c: netbsd-7-nhusb
sys/dev/usb/umass_quirks.h: netbsd-7-nhusb
sys/dev/usb/umass_scsipi.c: netbsd-7-nhusb
sys/dev/usb/umass_scsipi.h: netbsd-7-nhusb
sys/dev/usb/umassvar.h: netbsd-7-nhusb
sys/dev/usb/umcs.c: netbsd-7-nhusb
sys/dev/usb/umct.c: netbsd-7-nhusb
sys/dev/usb/umidi.c: netbsd-7-nhusb
sys/dev/usb/umidi_quirks.c: netbsd-7-nhusb
sys/dev/usb/umidi_quirks.h: netbsd-7-nhusb
sys/dev/usb/umodem.c: netbsd-7-nhusb
sys/dev/usb/umodem_common.c: netbsd-7-nhusb
sys/dev/usb/umodemvar.h: netbsd-7-nhusb
sys/dev/usb/ums.c: netbsd-7-nhusb
sys/dev/usb/uplcom.c: netbsd-7-nhusb
sys/dev/usb/urio.c: netbsd-7-nhusb
sys/dev/usb/urio.h: netbsd-7-nhusb
sys/dev/usb/usb.c: netbsd-7-nhusb
sys/dev/usb/usb.h: netbsd-7-nhusb
sys/dev/usb/usb_mem.c: netbsd-7-nhusb
sys/dev/usb/usb_mem.h: netbsd-7-nhusb
sys/dev/usb/usb_quirks.c: netbsd-7-nhusb
sys/dev/usb/usb_quirks.h: netbsd-7-nhusb
sys/dev/usb/usb_subr.c: netbsd-7-nhusb
sys/dev/usb/usbdevices.config: netbsd-7-nhusb
sys/dev/usb/usbdevs: netbsd-7-nhusb
sys/dev/usb/usbdevs.h: netbsd-7-nhusb
sys/dev/usb/usbdevs_data.h: netbsd-7-nhusb
sys/dev/usb/usbdi.c: netbsd-7-nhusb
sys/dev/usb/usbdi.h: netbsd-7-nhusb
sys/dev/usb/usbdi_util.c: netbsd-7-nhusb
sys/dev/usb/usbdi_util.h: netbsd-7-nhusb
sys/dev/usb/usbdivar.h: netbsd-7-nhusb
sys/dev/usb/usbhid.h: netbsd-7-nhusb
sys/dev/usb/usbhist.h: netbsd-7-nhusb
sys/dev/usb/usbroothub.c: netbsd-7-nhusb
sys/dev/usb/usbroothub.h: netbsd-7-nhusb
sys/dev/usb/usbroothub_subr.c: delete
sys/dev/usb/usbroothub_subr.h: delete
sys/dev/usb/uscanner.c: netbsd-7-nhusb
sys/dev/usb/uslsa.c: netbsd-7-nhusb
sys/dev/usb/usscanner.c: netbsd-7-nhusb
sys/dev/usb/ustir.c: netbsd-7-nhusb
sys/dev/usb/uthum.c: netbsd-7-nhusb
sys/dev/usb/utoppy.c: netbsd-7-nhusb
sys/dev/usb/uts.c: netbsd-7-nhusb
sys/dev/usb/uvideo.c: netbsd-7-nhusb
sys/dev/usb/uvisor.c: netbsd-7-nhusb
sys/dev/usb/uvscom.c: netbsd-7-nhusb
sys/dev/usb/uyap.c: netbsd-7-nhusb
sys/dev/usb/uyap_firmware.h: netbsd-7-nhusb
sys/dev/usb/uyurex.c: netbsd-7-nhusb
sys/dev/usb/x1input_rdesc.h: netbsd-7-nhusb
sys/dev/usb/xhci.c: netbsd-7-nhusb
sys/dev/usb/xhcireg.h: netbsd-7-nhusb
sys/dev/usb/xhcivar.h: netbsd-7-nhusb
sys/dev/usb/xinput_rdesc.h: netbsd-7-nhusb
sys/external/bsd/common/conf/files.linux: netbsd-7-nhusb
sys/external/bsd/common/include/linux/err.h: netbsd-7-nhusb
sys/external/bsd/common/include/linux/kernel.h: netbsd-7-nhusb
sys/external/bsd/common/include/linux/workqueue.h: netbsd-7-nhusb
sys/external/bsd/common/linux/linux_work.c: netbsd-7-nhusb
sys/external/bsd/drm2/dist/drm/radeon/atombios_encoders.c: netbsd-7-nhusb
sys/external/bsd/drm2/dist/drm/radeon/radeon_legacy_encoders.c: netbsd-7-nhusb
sys/external/bsd/drm2/drm/files.drmkms: netbsd-7-nhusb
sys/external/bsd/drm2/i915drm/files.i915drmkms: netbsd-7-nhusb
sys/external/bsd/drm2/include/linux/err.h: delete
sys/external/bsd/drm2/include/linux/workqueue.h: delete
sys/external/bsd/drm2/linux/files.drmkms_linux: netbsd-7-nhusb
sys/external/bsd/drm2/linux/linux_work.c: delete
sys/external/bsd/dwc2/dwc2.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dwc2.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dwc2var.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dwctwo2netbsd: netbsd-7-nhusb
sys/external/bsd/dwc2/conf/files.dwc2: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_core.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_core.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_coreintr.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcd.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcd.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcdddma.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcdintr.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcdqueue.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hw.h: netbsd-7-nhusb
sys/modules/drmkms_linux/Makefile: netbsd-7-nhusb
sys/modules/i915drmkms/Makefile: netbsd-7-nhusb
sys/rump/dev/lib/libugenhc/ugenhc.c: netbsd-7-nhusb
sys/rump/dev/lib/libusb/Makefile: netbsd-7-nhusb
sys/rump/dev/lib/libusb/USB.ioconf: netbsd-7-nhusb
sys/rump/dev/lib/libusb/usb_at_ugenhc.c: delete
sys/rump/dev/lib/libusb/opt/opt_usb.h: delete
sys/rump/dev/lib/libusb/opt/opt_usbverbose.h: delete
sys/sys/mbuf.h: netbsd-7-nhusb
usr.sbin/usbdevs/usbdevs.8: netbsd-7-nhusb
usr.sbin/usbdevs/usbdevs.c: netbsd-7-nhusb
Merge netbsd-7-nhusb:
- API / infrastructure changes to support memory management changes.
- Memory management improvements and bug fixes.
- HCDs should now be MP safe
- conversion to KERNHIST based debug
- FS/LS isoc support on ehci(4).
- conversion to kmem(9)
- Some USB 3 support - mostly from Takahiro HAYASHI (t-hash).
- interrupt transfers now get proper DMA operations
- general bug fixes
- kern/48308
- uhub status notification improvements
- umass(4) probe fix (applied to HEAD already)
- ohci(4) short transfer fix
- Change the SOFTINT level from NET to SERIAL for the USB softint handler.
This gives the callback a chance of running when another softint handler
at SOFTINT_NET has blocked holding a lock, e.g. softnet_lock and most of
the network stack.
- kern/49065 - ifconfig tun0 ... sequence locks up system / lockup:
softnet_lock held across usb xfr
- kern/50491 - unkillable wait in usbd_transfer while using usmsc0
on raspberry pi 2
- kern/51395 - USB Ethernet makes xhci hang
- Various improvements to slhci(4)
- Various improvements to dwc2(4)
 1.392.2.9 23-Dec-2016  snj Pull up following revision(s) (requested by bsiegert in ticket #1338):
sys/arch/amd64/conf/GENERIC: revision 1.418
sys/dev/pci/files.pci: revision 1.379
sys/dev/pci/vioscsi.c: revisions 1.1-1.8
sys/dev/pci/vioscsireg.h: revision 1.1
sys/dev/pci/virtioreg.h: revisions 1.5, 1.6
add the common flag bits
--
Add vioscsi, compile tested only (toxic)
--
this is working now, remove debugging.
--
add vioscsi
--
kill some more debugging.
--
Fake mode sense data for illegal targets. qemu reports 256 targets...
--
fix the status return.
--
Use SCSIPI_CHAN_NOSETTLE.
--
vioscsi_req_get()/virtio_enqueue_prep() failing is actually perfectly
normal - observed failures included 10, 27, 61 in-flight commands,
so probably depends on particular command mix; return with
XS_RESOURCE_SHORTAGE rather then panic
do vioscsi_req_put() when initial bus_dmamap_load() fails, as suggested
by the XXX; the vq_done hook is called by virtio, but in that case we
never get to commit the request to it
--
react on ADAPTER_REQ_SET_XFER_MODE so that we set tagged queuing
pass tag type and set id
 1.392.2.8 09-Dec-2016  snj Pull up following revision(s) (requested by msaitoh in ticket #1297):
sys/arch/amd64/conf/ALL: revision 1.37
sys/arch/amd64/conf/GENERIC: revision 1.436
sys/arch/amd64/conf/XEN3_DOM0: revision 1.120
sys/arch/i386/conf/ALL: revision 1.400
sys/arch/i386/conf/GENERIC: revision 1.1138
sys/arch/i386/conf/XEN3_DOM0: revision 1.99
Add sdtemp(4)
--
Add ichsmb(4), spdmem(4) and sdtemp(4).
 1.392.2.7 15-May-2015  snj branches: 1.392.2.7.4;
Pull up following revision(s) (requested by jnemeth in ticket #762):
share/man/man4/options.4: revision 1.442
sys/arch/amd64/conf/ALL: revision 1.18
sys/arch/amd64/conf/GENERIC: revision 1.396
sys/arch/dreamcast/conf/GENERIC: revision 1.119
sys/arch/epoc32/conf/GENERIC: revision 1.6
sys/arch/evbarm/conf/BCM5301X: revision 1.24
sys/arch/evbarm/conf/BCM56340: revision 1.9
sys/arch/evbarm/conf/IMX23_OLINUXINO: revision 1.9
sys/arch/evbarm/conf/std.beagle: revision 1.13
sys/arch/evbarm/conf/std.kobo: revision 1.2
sys/arch/evbarm/conf/std.netwalker: revision 1.10
sys/arch/evbppc/conf/P2020DS: revision 1.25
sys/arch/evbppc/conf/RB800: revision 1.30
sys/arch/evbppc/conf/TWRP1025: revision 1.18
sys/arch/hp300/conf/GENERIC: revision 1.187
sys/arch/hpcsh/conf/GENERIC: revision 1.104
sys/arch/i386/conf/GENERIC: revision 1.1111
sys/arch/i386/conf/MONOLITHIC: revision 1.17
sys/arch/landisk/conf/GENERIC: revision 1.43
sys/arch/luna68k/conf/GENERIC: revision 1.117
sys/arch/macppc/conf/GENERIC: revision 1.316
sys/arch/macppc/conf/GENERIC_601: revision 1.5
sys/arch/mmeye/conf/MMEYE_WLF: revision 1.16
sys/arch/news68k/conf/GENERIC: revision 1.123
sys/arch/sandpoint/conf/GENERIC: revision 1.85
sys/arch/shark/conf/GENERIC: revision 1.119
sys/arch/sparc/conf/GENERIC: revision 1.246
sys/arch/sparc64/conf/GENERIC: revision 1.174
sys/arch/sun3/conf/GENERIC3X: revision 1.125
sys/arch/sun3/conf/GENERIC: revision 1.169
sys/arch/x68k/conf/GENERIC: revision 1.177
sys/arch/zaurus/conf/GENERIC: revision 1.62
sys/conf/files: revision 1.1099
sys/kern/kern_module.c: revisions 1.98, 1.99
Create an "options MODULAR_DEFAULT_AUTOLOAD" config option and add
it to all kernel configs that contain "options MODULAR". This
option turns on module autoloading by default (which is the current
default). This allows people who don't want module autoloading on
by default to disable it by simply removing/commentting this line.
--
fix typo. (s/MODULE_DEFAULT_AUTOLOAD/MODULAR_DEFAULT_AUTOLOAD/)
 1.392.2.6 18-Mar-2015  snj Apply patch (requested by christos in ticket #542):
- Enable intel and radeon DRM/KMS drivers in GENERIC
- Disable all of the old DRM drivers in GENERIC
- Remove the separate DRMKMS kernel
 1.392.2.5 20-Jan-2015  martin Change the following, requested by snj in ticket #438:

sys/arch/i386/conf/GENERIC patch
sys/arch/amd64/conf/GENERIC patch

Remove the i915drm driver since the version we use doesn't support UMS
anymore, so X will fail to start. Without it, at least the vesa driver
will work.
 1.392.2.4 18-Nov-2014  snj Pull up following revision(s) (requested by manu in ticket #251):
sys/arch/acorn26/conf/GENERIC: revision 1.81
sys/arch/acorn32/conf/GENERIC: revision 1.116
sys/arch/alpha/conf/GENERIC: revision 1.362
sys/arch/amd64/conf/ALL: revision 1.23
sys/arch/amd64/conf/GENERIC: revision 1.404
sys/arch/amd64/conf/XEN3_DOM0: revision 1.112
sys/arch/amd64/conf/XEN3_DOMU: revision 1.60
sys/arch/amiga/conf/GENERIC.in: revision 1.129
sys/arch/amiga/conf/GENERIC: revision 1.311
sys/arch/amigappc/conf/GENERIC: revision 1.24
sys/arch/arc/conf/GENERIC: revision 1.184
sys/arch/bebox/conf/GENERIC: revision 1.145
sys/arch/cats/conf/GENERIC: revision 1.155
sys/arch/cesfic/conf/GENERIC: revision 1.65
sys/arch/cobalt/conf/GENERIC: revision 1.147
sys/arch/dreamcast/conf/GENERIC: revision 1.121
sys/arch/emips/conf/GENERIC: revision 1.15
sys/arch/epoc32/conf/GENERIC: revision 1.8
sys/arch/ews4800mips/conf/GENERIC: revision 1.51
sys/arch/hp300/conf/GENERIC: revision 1.190
sys/arch/hpcmips/conf/GENERIC: revision 1.229
sys/arch/hpcsh/conf/GENERIC: revision 1.106
sys/arch/hppa/conf/GENERIC: revision 1.6
sys/arch/i386/conf/ALL: revision 1.389
sys/arch/i386/conf/GENERIC: revision 1.1118
sys/arch/i386/conf/XEN3_DOM0: revision 1.93
sys/arch/i386/conf/XEN3_DOMU: revision 1.65
sys/arch/ibmnws/conf/GENERIC: revision 1.46
sys/arch/iyonix/conf/GENERIC: revision 1.88
sys/arch/landisk/conf/GENERIC: revision 1.45
sys/arch/luna68k/conf/GENERIC: revision 1.119
sys/arch/mac68k/conf/GENERIC: revision 1.220
sys/arch/macppc/conf/GENERIC: revision 1.320
sys/arch/macppc/conf/MAMBO: revision 1.24
sys/arch/macppc/conf/POWERMAC_G5: revision 1.25
sys/arch/mipsco/conf/GENERIC: revision 1.88
sys/arch/mmeye/conf/GENERIC: revision 1.120
sys/arch/mvme68k/conf/GENERIC: revision 1.94
sys/arch/mvmeppc/conf/GENERIC: revision 1.24
sys/arch/netwinder/conf/GENERIC: revision 1.126
sys/arch/news68k/conf/GENERIC: revision 1.125
sys/arch/newsmips/conf/GENERIC: revision 1.129
sys/arch/next68k/conf/GENERIC: revision 1.139
sys/arch/ofppc/conf/GENERIC: revision 1.157
sys/arch/pmax/conf/GENERIC64: revision 1.21
sys/arch/pmax/conf/GENERIC: revision 1.185
sys/arch/prep/conf/GENERIC: revision 1.174
sys/arch/rs6000/conf/GENERIC: revision 1.33
sys/arch/sandpoint/conf/GENERIC: revision 1.88
sys/arch/sbmips/conf/GENERIC: revision 1.101
sys/arch/sgimips/conf/GENERIC32_IP12: revision 1.28
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.104
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.106
sys/arch/shark/conf/GENERIC: revision 1.121
sys/arch/sparc/conf/GENERIC: revision 1.248
sys/arch/sparc/conf/TADPOLE3GX: revision 1.65
sys/arch/sparc64/conf/GENERIC: revision 1.177
sys/arch/sparc64/conf/NONPLUS64: revision 1.44
sys/arch/sun2/conf/GENERIC: revision 1.94
sys/arch/sun3/conf/GENERIC: revision 1.171
sys/arch/vax/conf/GENERIC: revision 1.193
sys/arch/vax/conf/VAX780: revision 1.19
sys/arch/x68k/conf/GENERIC: revision 1.179
sys/arch/zaurus/conf/GENERIC: revision 1.65
sys/ufs/files.ufs: revision 1.38
Remove unused extended attributes kernel options

As Masao Uebayashi pointed to me, UFS_EXTATTR_AUTOSTART, LFS_EXTATTR_AUTOSTART
and UFS_EXTATTR_AUTOCREATE are not used anywhere in the code. Remove them
as they have been obsolete for a long time:
UFS_EXTATTR_AUTOSTART was replaced by mount -o extattr
LFS_EXTATTR_AUTOSTART was created to match obsolete UFS_EXTATTR_AUTOSTART
UFS_EXTATTR_AUTOCREATE was replaced by sysctl vfs.ffs.extattr_autocreate
 1.392.2.3 14-Nov-2014  martin Pull up following revision(s) (requested by manu in ticket #232):
sys/arch/next68k/conf/GENERIC: revision 1.138
sys/arch/cobalt/conf/GENERIC: revision 1.146
sys/arch/mvme68k/conf/GENERIC: revision 1.93
sys/arch/vax/conf/VAX780: revision 1.18
sys/arch/newsmips/conf/GENERIC: revision 1.128
sys/arch/luna68k/conf/GENERIC: revision 1.118
sys/arch/sbmips/conf/GENERIC: revision 1.100
sys/arch/pmax/conf/GENERIC: revision 1.184
sys/arch/alpha/conf/GENERIC: revision 1.361
sys/arch/sparc64/conf/GENERIC: revision 1.176
sys/arch/sun3/conf/GENERIC: revision 1.170
sys/arch/shark/conf/GENERIC: revision 1.120
sys/arch/landisk/conf/GENERIC: revision 1.44
sys/arch/bebox/conf/GENERIC: revision 1.144
sys/arch/sparc64/conf/NONPLUS64: revision 1.43
sys/arch/sandpoint/conf/GENERIC: revision 1.87
sys/arch/emips/conf/GENERIC: revision 1.14
sys/arch/amd64/conf/XEN3_DOM0: revision 1.111
sys/arch/dreamcast/conf/GENERIC: revision 1.120
sys/arch/cesfic/conf/GENERIC: revision 1.64
sys/arch/mmeye/conf/GENERIC: revision 1.119
sys/arch/epoc32/conf/GENERIC: revision 1.7
sys/arch/x68k/conf/GENERIC: revision 1.178
sys/arch/iyonix/conf/GENERIC: revision 1.87
sys/arch/sun2/conf/GENERIC: revision 1.93
sys/arch/ews4800mips/conf/GENERIC: revision 1.50
sys/arch/amd64/conf/XEN3_DOMU: revision 1.59
sys/arch/acorn26/conf/GENERIC: revision 1.80
sys/arch/acorn32/conf/GENERIC: revision 1.115
sys/arch/macppc/conf/POWERMAC_G5: revision 1.24
sys/arch/i386/conf/GENERIC: revision 1.1117
sys/arch/arc/conf/GENERIC: revision 1.183
sys/arch/cats/conf/GENERIC: revision 1.154
sys/arch/amiga/conf/GENERIC.in: revision 1.128
sys/arch/zaurus/conf/GENERIC: revision 1.64
sys/arch/netwinder/conf/GENERIC: revision 1.125
sys/arch/hppa/conf/GENERIC: revision 1.5
sys/arch/mvmeppc/conf/GENERIC: revision 1.23
sys/arch/macppc/conf/GENERIC: revision 1.319
sys/arch/amiga/conf/GENERIC: revision 1.310
sys/arch/pmax/conf/GENERIC64: revision 1.20
sys/arch/macppc/conf/MAMBO: revision 1.23
sys/arch/sgimips/conf/GENERIC32_IP12: revision 1.27
sys/arch/amigappc/conf/GENERIC: revision 1.23
sys/arch/amd64/conf/GENERIC: revision 1.403
sys/arch/ofppc/conf/GENERIC: revision 1.156
sys/arch/mac68k/conf/GENERIC: revision 1.219
sys/arch/i386/conf/XEN3_DOMU: revision 1.64
sys/arch/mipsco/conf/GENERIC: revision 1.87
sys/arch/hp300/conf/GENERIC: revision 1.189
sys/arch/vax/conf/GENERIC: revision 1.192
sys/arch/news68k/conf/GENERIC: revision 1.124
sys/arch/ibmnws/conf/GENERIC: revision 1.45
sys/arch/hpcsh/conf/GENERIC: revision 1.105
sys/arch/sparc/conf/TADPOLE3GX: revision 1.64
sys/arch/i386/conf/XEN3_DOM0: revision 1.92
sys/arch/sparc/conf/GENERIC: revision 1.247
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.105
sys/arch/prep/conf/GENERIC: revision 1.173
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.103
sys/arch/rs6000/conf/GENERIC: revision 1.32
sys/arch/hpcmips/conf/GENERIC: revision 1.228
Support for UFS1 extended attributes in GENERIC and GENERIC-like kernels
This change just brings UFS1 extended attribute *support* in the kernel,
extended attributes are not enabled unless three conditions are met:
1) filesystem is UFS1 (newfs -O1)
2) .attribute/system and .attribute/user directories are created at fs root
3) filesystem is mounted with -o extattr
Some GENERIC kernels are obviously memory constrained, the extended
attributes options were not enabled for them, but just added commented out.
(kernel were considered memory constrained if QUOTA option was disabled)
 1.392.2.2 02-Nov-2014  martin Pull up following revision(s) (requested by tls in ticket #174):
doc/CHANGES: revision 1.2005
sys/dev/pci/viornd.c: revision 1.1
sys/dev/pci/files.pci: revision 1.372
sys/arch/amd64/conf/GENERIC: revision 1.401
share/man/man4/viornd.4: revision 1.1
Add viornd(4), a driver for the VirtIO entropy source available on
QEMU, KVM, and Google Compute Engine. From OpenBSD.
 1.392.2.1 10-Oct-2014  snj Apply patch (requested by bouyer/martin in ticket #116):
Disable DIAGNOSTIC and/or DEBUG.
 1.392.2.7.4.2 18-Jan-2017  skrll Sync with netbsd-5
 1.392.2.7.4.1 06-Sep-2016  skrll First pass at netbsd-7 updated with USB code from HEAD
 1.404.2.13 28-Aug-2017  skrll Sync with HEAD
 1.404.2.12 05-Feb-2017  skrll Sync with HEAD
 1.404.2.11 05-Dec-2016  skrll Sync with HEAD
 1.404.2.10 05-Oct-2016  skrll Sync with HEAD
 1.404.2.9 09-Jul-2016  skrll Sync with HEAD
 1.404.2.8 29-May-2016  skrll Sync with HEAD
 1.404.2.7 22-Apr-2016  skrll Sync with HEAD
 1.404.2.6 19-Mar-2016  skrll Sync with HEAD
 1.404.2.5 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.404.2.4 22-Sep-2015  skrll Sync with HEAD
 1.404.2.3 21-Sep-2015  skrll Enable xhci(4)
 1.404.2.2 06-Jun-2015  skrll Sync with HEAD
 1.404.2.1 06-Apr-2015  skrll Sync with HEAD
 1.435.2.4 26-Apr-2017  pgoyette Sync with HEAD
 1.435.2.3 20-Mar-2017  pgoyette Sync with HEAD
 1.435.2.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.435.2.1 06-Aug-2016  pgoyette Sync with HEAD
 1.450.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.459.2.15 12-Jun-2019  martin Pull up following revision(s) (requested by nonaka in ticket #1280):

sys/arch/x86/x86/consinit.c: revision 1.29
sys/dev/hyperv/vmbusvar.h: revision 1.2
sys/dev/hyperv/genfb_vmbusvar.h: revision 1.1
sys/arch/x86/x86/x86_autoconf.c: revision 1.78
sys/arch/x86/x86/identcpu.c: revision 1.91
sys/arch/x86/x86/hyperv.c: revision 1.2
sys/arch/x86/x86/hyperv.c: revision 1.3
sys/arch/x86/x86/hyperv.c: revision 1.4
sys/arch/i386/conf/GENERIC: revision 1.1207
sys/dev/wscons/wsconsio.h: revision 1.123
sys/arch/x86/x86/hypervvar.h: revision 1.1
sys/arch/amd64/conf/GENERIC: revision 1.528
sys/dev/hyperv/files.hyperv: revision 1.2
sys/arch/x86/include/autoconf.h: revision 1.6
sys/dev/hyperv/hyperv_common.c: revision 1.2
sys/arch/xen/x86/autoconf.c: revision 1.23
sys/arch/x86/pci/pci_machdep.c: revision 1.86
sys/dev/hyperv/hvkbd.c: revision 1.1
sys/dev/hyperv/hypervvar.h: revision 1.2
sys/dev/acpi/vmbus_acpi.c: revision 1.2
sys/dev/hyperv/vmbus.c: revision 1.3
sys/dev/hyperv/hvkbdvar.h: revision 1.1
sys/dev/hyperv/genfb_vmbus.c: revision 1.1

Added drivers for Hyper-V Synthetic Keyboard and Video device.

Avoid undefined reference to `hyperv_guid_video' without vmbus(4).

Avoid undefined reference to `hyperv_is_gen1' without hyperv(4).

Use efi_probe().
 1.459.2.14 09-Mar-2019  martin Pull up following revision(s) via patch (requested by nonaka in ticket #1210):

sys/dev/hyperv/vmbusvar.h: revision 1.1
sys/dev/hyperv/hvs.c: revision 1.1
sys/dev/hyperv/if_hvn.c: revision 1.1
sys/dev/hyperv/vmbusic.c: revision 1.1
sys/arch/x86/x86/lapic.c: revision 1.69
sys/arch/x86/isa/clock.c: revision 1.34
sys/arch/x86/include/intrdefs.h: revision 1.22
sys/arch/i386/conf/GENERIC: revision 1.1201
sys/arch/x86/x86/hyperv.c: revision 1.1
sys/arch/x86/include/cpu.h: revision 1.105
sys/arch/x86/x86/x86_machdep.c: revision 1.124
sys/arch/i386/conf/GENERIC: revision 1.1203
sys/arch/amd64/amd64/genassym.cf: revision 1.74
sys/arch/i386/conf/GENERIC: revision 1.1204
sys/arch/amd64/conf/GENERIC: revision 1.520
sys/arch/x86/x86/hypervreg.h: revision 1.1
sys/arch/amd64/amd64/vector.S: revision 1.69
sys/dev/hyperv/hvshutdown.c: revision 1.1
sys/dev/hyperv/hvshutdown.c: revision 1.2
sys/dev/usb/if_urndisreg.h: file removal
sys/arch/x86/x86/cpu.c: revision 1.167
sys/arch/x86/conf/files.x86: revision 1.107
sys/dev/usb/if_urndis.c: revision 1.20
sys/dev/hyperv/vmbusicreg.h: revision 1.1
sys/dev/hyperv/hvheartbeat.c: revision 1.1
sys/dev/hyperv/vmbusicreg.h: revision 1.2
sys/dev/hyperv/hvheartbeat.c: revision 1.2
sys/dev/hyperv/files.hyperv: revision 1.1
sys/dev/ic/rndisreg.h: revision 1.1
sys/arch/i386/i386/genassym.cf: revision 1.111
sys/dev/ic/rndisreg.h: revision 1.2
sys/dev/hyperv/hyperv_common.c: revision 1.1
sys/dev/hyperv/hvtimesync.c: revision 1.1
sys/dev/hyperv/hypervreg.h: revision 1.1
sys/dev/hyperv/hvtimesync.c: revision 1.2
sys/dev/hyperv/vmbusicvar.h: revision 1.1
sys/dev/hyperv/if_hvnreg.h: revision 1.1
sys/arch/x86/x86/lapic.c: revision 1.70
sys/arch/amd64/amd64/vector.S: revision 1.70
sys/dev/ic/ndisreg.h: revision 1.1
sys/arch/amd64/conf/GENERIC: revision 1.516
sys/dev/hyperv/hypervvar.h: revision 1.1
sys/arch/amd64/conf/GENERIC: revision 1.518
sys/arch/amd64/conf/GENERIC: revision 1.519
sys/arch/i386/conf/files.i386: revision 1.400
sys/dev/acpi/vmbus_acpi.c: revision 1.1
sys/dev/hyperv/vmbus.c: revision 1.1
sys/dev/hyperv/vmbus.c: revision 1.2
sys/arch/x86/x86/intr.c: revision 1.144
sys/arch/i386/i386/vector.S: revision 1.83
sys/arch/amd64/conf/files.amd64: revision 1.112

separate RNDIS definitions from urndis(4) for use with Hyper-V NetVSC.

-

Added Microsoft Hyper-V support. It ported from OpenBSD and FreeBSD.
graphical console is not work on Gen.2 VM yet. To use the serial console,
enter "consdev com,0x3f8,115200" on efiboot.

-

Add __diagused.

-

PR/53984: Partial revert of modify lapic_calibrate_timer() in lapic.c r1.69.

-

Update Hyper-V related drivers description.

-

Remove unused definition.

-

Rename the MODULE_*_HOOK() macros to MODULE_HOOK_*() as briefly
discussed on irc.
NFCI intended.

-

commented out hvkvp entry.

-

fix typo. pointed out by pgoyette@n.o.

-

Use IDTVEC instead of NENTRY for handle_hyperv_hypercall.

-

Rename the MODULE_*_HOOK() macros to MODULE_HOOK_*() as briefly
discussed on irc.
 1.459.2.13 07-Dec-2018  martin Pull up following revision(s) (requested by bouyer in ticket #1129):

sys/arch/amd64/conf/XEN3_DOM0: revision 1.159
sys/arch/amd64/conf/GENERIC: revision 1.508
sys/arch/i386/conf/ALL: revision 1.458
sys/dev/ic/mfi.c: revision 1.60
sys/dev/pci/mpiireg.h: revision 1.1
distrib/sets/lists/man/mi: revision 1.1628
sys/dev/pci/mfii.c: revision 1.1,1.2 (adapted)
sys/arch/i386/conf/GENERIC: revision 1.1194
sys/dev/pci/mpii.c: revision 1.13
sys/dev/ic/mfireg.h: revision 1.9
share/man/man4/mfii.4: revision 1.1
share/man/man4/Makefile: revision 1.673 (patch)
sys/dev/pci/files.pci: revision 1.410
share/man/man4/mfii.4: revision 1.2
sys/arch/amd64/conf/ALL: revision 1.108
sys/arch/i386/conf/XEN3PAE_DOM0: revision 1.8 (patch, in XEN3_DOM0)

Add some definitions from OpenBSD, needed by the upcoming mfii driver.
No functionnal change.

-

Move registers definitions to a separate file, needed for the upcomning mpii
driver. No functionnal change.

-

Add mpii(4), a driver for LSI Megaraid Fusion controllers.
Ported from OpenBSD. This driver is MP-safe.

Note that the earlier fusion controllers (Megaraid 2208, codenamed Thunderbold)
are also supported by mfi(4). mpii will take precedence if both drivers
are enabled.

Tested on a
mfii0 at pci6 dev 0 function 0: "PERC H740P Adapter ", firmware 50.3.0-1512, 819
2MB cache
mfii0: interrupting at ioapic2 pin 2
scsibus0 at mfii0: 64 targets, 8 luns per target
scsibus0: waiting 2 seconds for devices to settle...
sd0 at scsibus0 target 0 lun 0: <DELL, PERC H740P Adp, 5.03> disk fixed
sd0: fabricating a geometry
sd0: 99 GB, 102399 cyl, 64 head, 32 sec, 512 bytes/sect x 209714688 sectors
sd0: tagged queueing
sd1 at scsibus0 target 1 lun 0: <DELL, PERC H740P Adp, 5.03> disk fixed
sd1: fabricating a geometry
sd1: 22254 GB, 22788608 cyl, 64 head, 32 sec, 512 bytes/sect x 46671069696 sectors
sd1: fabricating a geometry

It supports bioctl(8) ioctls, as well as sensors for the BBU and logical
drives.

Sponsored by LIP6.

-

Add my name in copyright list

-

add a man page for the new mpii, mostly from OpenBSD.

-

Sort SEE ALSO. Fix date. Whitespace fixes.
 1.459.2.12 31-Oct-2018  martin Add bwfm config glue, requested by maya in ticket #1072.
 1.459.2.11 07-Sep-2018  martin Pull up following revision(s) (requested by mrg in ticket #1011):

sys/dev/usb/usbdevices.config: revision 1.32 (patch)
sys/arch/amd64/conf/GENERIC: revision 1.502 (patch)
sys/arch/i386/conf/GENERIC: revision 1.1188 (patch)

- add commented entries that exist in amd64 GENERIC: oboe, mos, umb.
(XXX: mos might be deleteable now?).
- comment uscanner(4) -- usb scanners use ugen(4) interface.
- minor sort.

-

use dev/usb/usbdevices.config, gaining these missing drivers:
slurm(4), uthum(4), umcs(4), uark(4), upgt(4), and usmsc(4).

-

use dev/usb/usbdevices.config instead of a local list.
adds slurm(4), umcs(4), uark(4), and usmsc(4).
 1.459.2.10 09-Jun-2018  martin Pullup the following revisions, requested by maxv in ticket #865:

sys/arch/amd64/amd64/machdep.c 1.303 (patch)
sys/arch/amd64/conf/GENERIC 1.492 (patch)
sys/arch/amd64/conf/files.amd64 1.103 (patch)
sys/arch/i386/i386/machdep.c 1.806 (patch)
sys/arch/i386/conf/GENERIC 1.1179 (patch)
sys/arch/i386/conf/files.i386 1.393 (patch)
sys/arch/x86/include/cpu.h 1.91 (patch)
sys/arch/x86/include/specialreg.h upto 1.126 (patch)
sys/arch/x86/x86/x86_machdep.c upto 1.115 (patch, adapted)
sys/arch/x86/x86/spectre.c upto 1.19 (patch, adapted,
no IBRS,
SpectreV2 mitigations not
enabled by default)

Backport the hardware SpectreV2 and SpectreV4 mitigations.
 1.459.2.9 18-Apr-2018  martin Requested by skrll in ticket #60:
sys/arch/amd64/conf/GENERIC
sys/arch/amd64/conf/XEN3_DOM0
sys/arch/amd64/conf/XEN3_DOMU
sys/arch/cobalt/conf/GENERIC
sys/arch/evbarm/conf/BEAGLEBONE
sys/arch/evbarm/conf/BEAGLEBOARD
sys/arch/evbarm/conf/BEAGLEBOARDXM
sys/arch/evbarm/conf/GENERIC.common
sys/arch/i386/conf/GENERIC
sys/arch/i386/conf/XEN3_DOM0
sys/arch/i386/conf/XEN3_DOMU
sys/arch/mvmeppc/conf/GENERIC
sys/arch/shark/conf/GENERIC
sys/arch/sparc64/conf/GENERIC
sys/arch/zaurus/conf/GENERIC

Remove option DIAGNOSTIC.
 1.459.2.8 11-Apr-2018  martin Pull up following revision(s) (requested by mrg in ticket #731):
sys/arch/i386/conf/files.i386: revision 1.392
sys/arch/i386/conf/GENERIC: revision 1.1175
sys/arch/i386/conf/GENERIC: revision 1.1176
sys/arch/amd64/conf/files.amd64: revision 1.102
sys/arch/i386/conf/GENERIC: revision 1.1177
share/man/man4/options.4: revision 1.485 (patch)
sys/arch/i386/conf/Makefile.i386: revision 1.190
sys/arch/amd64/conf/GENERIC: revision 1.487
sys/arch/amd64/conf/ALL: revision 1.85
sys/arch/amd64/conf/GENERIC: revision 1.488
sys/arch/amd64/conf/GENERIC: revision 1.489
sys/arch/amd64/conf/Makefile.amd64: revision 1.67
sys/arch/i386/conf/ALL: revision 1.437

add an SPECTRE_V2_GCC_MITIGATION option to x86 kernels, that turns
on the GCC spectre v2 mitigation options.
XXX: pullup-8.
XXX: turn on in all kernels.

actually do what the previous change said:
don't turn on the new 'SPECTRE_V2_GCC_MITIGATION' option yet.

turn on GCC spectre v2 mitigation options.
XXX: amd64 ALL doesn't build for me right now
 1.459.2.7 04-Apr-2018  martin Pull up the following revision, requested by maxv in tickt #691:

sys/arch/amd64/conf/GENERIC 1.485 (via patch)

Enable SVS by default.
 1.459.2.6 22-Mar-2018  martin Pull up the following revisions, requested by maxv in ticket #652:

sys/arch/amd64/amd64/amd64_trap.S upto 1.39 (partial, patch)
sys/arch/amd64/amd64/db_machdep.c 1.6 (patch)
sys/arch/amd64/amd64/genassym.cf 1.65,1.66,1.67 (patch)
sys/arch/amd64/amd64/locore.S upto 1.159 (partial, patch)
sys/arch/amd64/amd64/machdep.c 1.299-1.302 (patch)
sys/arch/amd64/amd64/trap.c upto 1.113 (partial, patch)
sys/arch/amd64/amd64/amd64/vector.S upto 1.61 (partial, patch)
sys/arch/amd64/conf/GENERIC 1.477,1.478 (patch)
sys/arch/amd64/conf/kern.ldscript 1.26 (patch)
sys/arch/amd64/include/frameasm.h upto 1.37 (partial, patch)
sys/arch/amd64/include/param.h 1.25 (patch)
sys/arch/amd64/include/pmap.h 1.41,1.43,1.44 (patch)
sys/arch/x86/conf/files.x86 1.91,1.93 (patch)
sys/arch/x86/include/cpu.h 1.88,1.89 (patch)
sys/arch/x86/include/pmap.h 1.75 (patch)
sys/arch/x86/x86/cpu.c 1.144,1.146,1.148,1.149 (patch)
sys/arch/x86/x86/pmap.c upto 1.289 (partial, patch)
sys/arch/x86/x86/vm_machdep.c 1.31,1.32 (patch)
sys/arch/x86/x86/x86_machdep.c 1.104,1.106,1.108 (patch)
sys/arch/x86/x86/svs.c 1.1-1.14
sys/arch/xen/conf/files.compat 1.30 (patch)

Backport SVS. Not enabled yet.
 1.459.2.5 11-Feb-2018  snj Pull up following revision(s) (requested by ozaki-r in ticket #536):
distrib/sets/lists/base/shl.mi: 1.825
distrib/sets/lists/comp/mi: 1.2168-1.2169
distrib/sets/lists/comp/shl.mi: 1.310
distrib/sets/lists/debug/mi: 1.234
distrib/sets/lists/debug/shl.mi: 1.188
distrib/sets/lists/man/mi: 1.1570
distrib/sets/lists/tests/mi: 1.772
etc/mtree/NetBSD.dist.tests: 1.150
share/man/man4/Makefile: 1.650
share/man/man4/ipsec.4: 1.42-1.43
share/man/man4/ipsecif.4: 1.1-1.5
sys/arch/amd64/conf/ALL: 1.77
sys/arch/amd64/conf/GENERIC: 1.480
sys/conf/files: 1.1191
sys/net/Makefile: 1.34
sys/net/files.net: 1.14
sys/net/if.c: 1.404
sys/net/if.h: 1.248
sys/net/if_gif.c: 1.135
sys/net/if_ipsec.c: 1.1-1.3
sys/net/if_ipsec.h: 1.1
sys/net/if_l2tp.c: 1.16
sys/net/if_types.h: 1.28
sys/netinet/in.c: 1.214
sys/netinet/in.h: 1.103
sys/netinet/in_gif.c: 1.92
sys/netinet/ip_var.h: 1.122
sys/netinet6/in6.c: 1.257
sys/netinet6/in6.h: 1.88
sys/netinet6/in6_gif.c: 1.90
sys/netinet6/ip6_var.h: 1.75
sys/netipsec/Makefile: 1.6
sys/netipsec/files.netipsec: 1.13
sys/netipsec/ipsec.h: 1.62
sys/netipsec/ipsecif.c: 1.1
sys/netipsec/ipsecif.h: 1.1
sys/netipsec/key.c: 1.246-1.247
sys/netipsec/key.h: 1.34
sys/rump/net/Makefile.rumpnetcomp: 1.20
sys/rump/net/lib/libipsec/IPSEC.ioconf: 1.1
sys/rump/net/lib/libipsec/Makefile: 1.1
sys/rump/net/lib/libipsec/ipsec_component.c: 1.1
tests/net/Makefile: 1.34
tests/net/if_ipsec/Makefile: 1.1
tests/net/if_ipsec/t_ipsec.sh: 1.1-1.2
Don't touch an SP without a reference to it
unify processing to check nesting count for some tunnel protocols.
add ipsec(4) interface, which is used for route-based VPN.
man and ATF are added later, please see man for details.
reviewed by christos@n.o, joerg@n.o and ozaki-r@n.o, thanks.
https://mail-index.netbsd.org/tech-net/2017/12/18/msg006557.html
ipsec(4) interface supports rump now.
add ipsec(4) interface ATF.
add ipsec(4) interface man as ipsecif.4.
add ipsec(4) interface to amd64/GENERIC and amd64/ALL configs.
apply in{,6}_tunnel_validate() to gif(4).
Spell IPsec that way. Simplify macro usage. Sort SEE ALSO. Bump
date for previous.
Improve wording and macro use.
Some parts are not clear to me, so someone with knowledge of ipsecif(4)
should improve this some more.
Improve ipsecif.4. Default port ipsec(4) NAT-T is tested now.
pointed out by wiz@n.o and suggested by ozaki-r@n.o, thanks.
Change the prefix of test names to ipsecif_ to distinguish from tests for ipsec(4)
New sentence, new line. Remove empty macro.
Fix PR kern/52920. Pointed out by David Binderman, thanks.
Improve wording, and put a new drawing, from me and Kengo Nakahara.
apply a little more #ifdef INET/INET6. fixes !INET6 builds.
 1.459.2.4 05-Feb-2018  martin Pull up following revision(s) (requested by pgoyette in ticket #524):

distrib/sets/lists/man/mi 1.1574
distrib/sets/lists/modules/md.amd64 1.73
distrib/sets/lists/modules/md.i386 1.76
share/man/man4/amdtemp.4 1.11
share/man/man4/man4.x86/Makefile 1.17
share/man/man4/man4.x86/amdsmn.4 1.1-1.3
share/man/man4/man4.x86/amdzentemp.4 1.1-1.6
sys/arch/amd64/conf/ALL 1.79,1.80
sys/arch/amd64/conf/GENERIC 1.482,1.484
sys/arch/amd64/conf/XEN3_DOM0 1.146,1.147
sys/arch/x86/pci/amdsmn.c 1.1-1.2
sys/arch/x86/pci/amdsmn.h 1.1
sys/arch/x86/pci/amdzentemp.c 1.1-1.7
sys/arch/x86/pci/files.pci 1.22,1.23
sys/modules/amdzentemp/amdzentemp.ioconf 1.2


Add amdzentemp from FreeBSD via Ian Clark.

man pages for amdsmn and amdzentemp.

Some clean-up on the HISTORY and AUTHORS sections, and addition of a BUGS
section to document the fact that we don't yet handle the required temp
offset, nor do we expose the available thermal-trip value.

Add missing article 'a'

KNF: Put back the blank line following the empty variable declarations
Put back the variable declaration, too, and mark it __diagused
Otherwise a DIAGNOSTIC kernel will complain about the variable being
undeclared.

Correct placement of __diagused attribute.

Modularize the amdsmn(4) driver, and update dependency for amdzentemp(4),
Create amdsmn(4) amd amdzentemp(4) modules for X86.
 1.459.2.3 29-Aug-2017  martin Requested by skrll in ticket #60:
sys/arch/amd64/conf/GENERIC
sys/arch/amd64/conf/XEN3_DOM0
sys/arch/amd64/conf/XEN3_DOMU
sys/arch/cobalt/conf/GENERIC
sys/arch/evbarm/conf/BEAGLEBONE
sys/arch/evbarm/conf/BEAGLEBOARD
sys/arch/evbarm/conf/BEAGLEBOARDXM
sys/arch/evbarm/conf/GENERIC.common
sys/arch/i386/conf/GENERIC
sys/arch/i386/conf/XEN3_DOM0
sys/arch/i386/conf/XEN3_DOMU
sys/arch/mvmeppc/conf/GENERIC
sys/arch/shark/conf/GENERIC
sys/arch/sparc64/conf/GENERIC
sys/arch/zaurus/conf/GENERIC


Re-enable option DIAGNOSTIC for now, will remove it again later.
 1.459.2.2 01-Aug-2017  snj Pull up following revision(s) (requested by maxv in ticket #164):
distrib/sets/lists/base/md.amd64: revision 1.269
distrib/sets/lists/debug/md.amd64: revision 1.97
sys/arch/amd64/conf/GENERIC: revision 1.460
sys/arch/amd64/conf/files.amd64: revision 1.89
sys/arch/i386/conf/GENERIC: revision 1.1157
sys/arch/i386/conf/files.i386: revision 1.379
sys/arch/i386/i386/i386_trap.S: revision 1.7-1.8
sys/arch/i386/include/frameasm.h: revision 1.16
sys/arch/x86/include/sysarch.h: revision 1.12
sys/arch/x86/x86/pmc.c: revision 1.8-1.10
sys/arch/x86/x86/sys_machdep.c: revision 1.36
sys/arch/xen/conf/files.compat: revision 1.26
sys/secmodel/suser/secmodel_suser.c: revision 1.43
sys/sys/kauth.h: revision 1.74
usr.bin/pmc/Makefile: revision 1.5
usr.bin/pmc/pmc.1: revision 1.12-1.13
usr.bin/pmc/pmc.c: revision 1.24-1.25
style
--
style
--
Disable interrupts for T_NMI (inline calltrap). Note that there's still a
way to evade the NMI mode here, if a segment register faults in
INTRFASTEXIT; but we don't care. I didn't test this change, but it seems
fine enough.
--
Make the PMC syscalls privileged.
--
Check argc, and add a message.
--
include opt_pmc.h
--
Build the pmc tool on amd64.
--
Properly handle overflows, and take them into account in userland.
--
Update.
--
Enable PMCs by default.
--
Sort sections. Fix macro usage.
 1.459.2.1 05-Jul-2017  martin Remove options DIAGNOSTIC/DEBUG and PAX debug options.
Requested by snj in #60.
 1.485.2.14 22-Jan-2019  pgoyette Synch GENERIC and NOCOMPAT with GENERIC from HEAD
 1.485.2.13 18-Jan-2019  pgoyette Synch with HEAD
 1.485.2.12 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.485.2.11 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.485.2.10 20-Oct-2018  pgoyette Sync with head
 1.485.2.9 30-Sep-2018  pgoyette Ssync with HEAD
 1.485.2.8 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.485.2.7 28-Jul-2018  pgoyette Sync with HEAD
 1.485.2.6 25-Jun-2018  pgoyette Sync with HEAD
 1.485.2.5 21-May-2018  pgoyette Sync with HEAD
 1.485.2.4 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.485.2.3 30-Mar-2018  pgoyette Extract compat_14 stuff into its own module
 1.485.2.2 30-Mar-2018  pgoyette Resolve conflicts between branch and HEAD
 1.485.2.1 06-Mar-2018  pgoyette Add a NOCOMPAT kernel definition to serve as a baseline for getting
the incremental COMPAT_xx options working.

While here, add some additional "requires COMPAT_xxx" to some of the
options in GENERIC
 1.493.2.4 21-Apr-2020  martin Sync with HEAD
 1.493.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.493.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.493.2.1 10-Jun-2019  christos Sync with HEAD
 1.531.2.11 21-Jun-2021  martin Pull up following revision(s) (requested by riastradh in ticket #1308):

sys/arch/amd64/conf/GENERIC: revision 1.581

Enable tpm @ acpi (now that it can match TPM 1.2 devices, which are not,
as the comment implies, experimental).
 1.531.2.10 07-Jul-2020  martin Pull up following revision(s) (requested by jmcneill in ticket #980):

sys/dev/pci/if_aq.c: revision 1.4
sys/dev/pci/if_aq.c: revision 1.5
sys/arch/amd64/conf/GENERIC: revision 1.553
sys/dev/pci/files.pci: revision 1.419
sys/arch/amd64/conf/XEN3_DOM0: revision 1.170
sys/dev/pci/if_aq.c: revision 1.9
share/man/man4/Makefile: revision 1.693
sys/dev/pci/pcidevs: revision 1.1411
share/man/man4/aq.4: revision 1.1
share/man/man4/aq.4: revision 1.3
sys/arch/i386/conf/ALL: revision 1.479
share/man/man4/aq.4: revision 1.4
sys/dev/pci/if_aq.c: revision 1.10
sys/dev/pci/files.pci: revision 1.421
sys/dev/pci/if_aq.c: revision 1.11
sys/dev/pci/if_aq.c: revision 1.12
sys/dev/pci/if_aq.c: revision 1.13
sys/dev/pci/if_aq.c: revision 1.14
sys/dev/pci/if_aq.c: revision 1.15
sys/dev/pci/if_aq.c: revision 1.16
sys/dev/pci/pcidevs: revision 1.1408
sys/arch/amd64/conf/ALL: revision 1.135
sys/net/ethertypes.h: revision 1.19
sys/arch/i386/conf/GENERIC: revision 1.1218
distrib/sets/lists/man/mi: revision 1.1668
sys/dev/pci/if_aq.c: revision 1.1
sys/dev/pci/if_aq.c: revision 1.2
sys/dev/pci/pcidevs: revision 1.1395
sys/dev/pci/if_aq.c: revision 1.3
sys/arch/evbarm/conf/GENERIC64: revision 1.125

Add the ETHERTYPE_QINQ for 802.1ad VLAN stacking

add Aquantia AQC 10G network adapters
add support Aquantia AQC seriese 10G network adapters.

this driver is based on the FreeBSD version https://github.com/Aquantia/aqtion-freebsd ,
but drastically rewritten for NetBSD.

add aq(4)

Add Aquantia AQC100, AQC100S and D100.

add support VLAN HW filter

set/clear IFF_OACTIVE flag only on txring 0

make counters per queue

support internal PHY temperature sensor

Found by kUBSan:
- Use unsigned to avoid undefined behavior in aq_hw_init().
- Cast to unsigned to avoid undefined behavior in aq_set_mac_addr().

fix descriptions of register map in comment

return the ifmedia active status correctly even while the link is not up after attach.
pointed out by msaitoh@. thanks.

On FIBRE devices, there are times when linkstat interrupt doesn't occur?
reported from Andrius V. thanks.
- use polling instead of linkstat interrupt when FIBRE
- add AQ_FORCE_POLL_LINKSTAT options (not by default)

sort product table, and tabify

add support AQC100S and D100.
not tested, but they are probably the same as the AQC100.
 1.531.2.9 18-May-2020  martin Pull up following revision(s) (requested by isaki in ticket #911):

sys/dev/audio/audiodef.h: revision 1.13
sys/dev/audio/audiodef.h: revision 1.14
sys/arch/sparc/include/param.h: revision 1.74
sys/arch/evbarm/conf/GENERIC64: revision 1.148
sys/arch/sh3/include/param.h: revision 1.25
sys/arch/evbarm/conf/GENERIC: revision 1.75
sys/arch/m68k/include/param.h: revision 1.23
sys/arch/amd64/conf/GENERIC: revision 1.564
sys/arch/hppa/include/param.h: revision 1.27
sys/dev/audio/audio.c: revision 1.68
sys/arch/vax/include/param.h: revision 1.63
sys/dev/audio/audio.c: revision 1.69

Reduce default AUDIO_BLK_MS from 40msec to 10msec on all platform except m68k
(m68k uses 40msec default as before). And remove the option from GENERIC.

- It's not good idea to set such parameter in individual GENERICs.
- 4msec is (probably no problem for most modern real hardware but)
too aggressive to be default.
- 10msec is too severe for antique machines but it's hard to draw a line.

Set AUDIO_BLK_MS 40 msec on other old(slow) architectures not only m68k.

Thanks tsutsui@ for comment about architecture choice.
And move it from audiodef.h to audio.c as suggested by joerg@.


Move machine dependent AUDIO_BLK_MS default value to <machine/param.h>.
If the port has __AUDIO_BLK_MS in <machine/param.h>, it will be used.

Otherwise the default value (currently 10 msec) defined in audio.c will
be used. This mechanism is for very old ports which cannot satisfactorily
handle 10 msec block. Currently hppa, m68k, sh3, sparc(!64) and vax are.

For port maintainers, if general models in your port cannot satisfactorily
handle 10 msec block, please consider to define your suitable longer period
(40 msec would be a good first choice).

But please don't be eager to make the default value shorter.
<machine/param.h> was discussed in source-changes-d. It's better than
ifdef storm, or adding 60+ new header files in every arch/*/include/
directories for this. Thanks mrg@, ad@, and everyone.
http://mail-index.netbsd.org/source-changes-d/2020/05/01/msg012572.html
 1.531.2.8 27-Jan-2020  martin Pull up following revision(s) (requested by nia in ticket #657):

sys/dev/files.audio: revision 1.13
sys/dev/files.audio: revision 1.14
sys/arch/amd64/conf/GENERIC: revision 1.559
sys/arch/evbarm/conf/GENERIC: revision 1.71
sys/arch/evbarm/conf/GENERIC64: revision 1.134
sys/dev/audio/audiodef.h: revision 1.8

Set AUDIO_BLK_MS=4 - unlikely to cause significant overhead on non-m68k.

Several of us have been setting this in /etc/sysctl.conf for months, to
get better performance from applications that require synced audio, etc.
It's also mentioned as a good value with low overhead on most archs here:
href="https://mail-index.netbsd.org/tech-kern/2019/12/07/msg025830.html

We could probably go lower, but this is low enough to make most/all
software run well, removing frame drops. It's also low enough to get
emulators/mednafen to stop complaining in the console.

defopt AUDIO_BLK_MS

Follow amd64 and set AUDIO_BLK_MS=4 by default

defopt -> defparam (oops)
 1.531.2.7 21-Jan-2020  martin Pull up following revision(s) (requested by msaitoh in ticket #626):

sys/arch/amd64/conf/GENERIC: revision 1.552
sys/dev/pci/if_casreg.h: revision 1.2
sys/dev/pci/if_cas.c: revision 1.37
share/man/man4/cas.4: revision 1.4
sys/dev/pci/if_casvar.h: revision 1.7

Update supported device list with part number. From FreeBSD.

Fix a bug that the driver sometimes incorrectly attach gentbi(4) instead of
gphyter(4) on non-fiber device.

Tested with Sun Quad GigaSwift Ethernet UTP (QGE) (part no. 501-6522) on
amd64. On this environment, the problem frequently had occurred. I also
tested with other 4 cas(4) variants.

Add cas(4).
 1.531.2.6 25-Nov-2019  martin Pull up following revision(s) (requested by msaitoh in ticket #478):

sys/dev/mii/smscphy.c: revision 1.1
sys/arch/amd64/conf/ALL: revision 1.127
sys/arch/amd64/conf/ALL: revision 1.128
sys/dev/mii/files.mii: revision 1.52
sys/dev/mii/files.mii: revision 1.53
sys/arch/i386/conf/ALL: revision 1.473
share/man/man4/mii.4: revision 1.29
sys/arch/i386/conf/ALL: revision 1.474
sys/arch/amd64/conf/GENERIC: revision 1.543
sys/arch/amd64/conf/GENERIC: revision 1.544
sys/dev/mii/jmphyreg.h: revision 1.1
share/man/man4/Makefile: revision 1.687
share/man/man4/smscphy.4: revision 1.1
share/man/man4/Makefile: revision 1.688
sys/dev/mii/jmphy.c: revision 1.1
sys/dev/DEVNAMES: revision 1.324
sys/dev/DEVNAMES: revision 1.325
distrib/sets/lists/man/mi: revision 1.1661
sys/arch/i386/conf/GENERIC: revision 1.1214
distrib/sets/lists/man/mi: revision 1.1662
sys/arch/i386/conf/GENERIC: revision 1.1215
share/man/man4/jmphy.4: revision 1.1
share/man/man4/jme.4: revision 1.8

Add jmphy(4) from OpenBSD.

Add jmphy.4.

Port SMSC LAN87xx 10/100 Ethernet PHY driver from FreeBSD with some cleanup
and IFM_NONE support.
 1.531.2.5 25-Nov-2019  martin Pull up following revision(s) (requested by msaitoh in ticket #476):

sys/dev/pci/if_stgereg.h: revision 1.6
sys/arch/amd64/conf/ALL: revision 1.124
sys/dev/mii/files.mii: revision 1.51
share/man/man4/vge.4: revision 1.8
share/man/man4/vge.4: revision 1.9
distrib/sets/lists/man/mi: revision 1.1656
sys/arch/i386/conf/ALL: revision 1.471
share/man/man4/mii.4: revision 1.28
sys/dev/pci/if_stge.c: revision 1.71
sys/dev/mii/ipgphy.c: revision 1.1
sys/dev/mii/ipgphy.c: revision 1.2
share/man/man4/Makefile: revision 1.684
sys/dev/mii/ipgphy.c: revision 1.3
sys/dev/mii/ipgphyreg.h: revision 1.1
sys/dev/mii/ipgphy.c: revision 1.4
sys/dev/mii/ipgphyreg.h: revision 1.2
sys/dev/mii/ipgphy.c: revision 1.5
sys/dev/mii/ipgphyreg.h: revision 1.3
sys/dev/DEVNAMES: revision 1.322
sys/arch/i386/conf/GENERIC: revision 1.1211
sys/arch/amd64/conf/GENERIC: revision 1.537
share/man/man4/ipgphy.4: revision 1.1
share/man/man4/ipgphy.4: revision 1.2

Add support IC Plus IP1000* PHYs. PR/kern 42314 first reported by

Tomokazu HARADA and patch provided by Andrius V.

New sentence, new line.
Fix date. Add RCS Id.

KNF. No functional change.

STGE_PhyCtrl is not PHY register but MAC register, so use ukphy_status()
for IP1000A device.

- Use auto-negotiation when forcing 1000BASE-T.
- Add XXX comment for strange pause setting code. I suspect this is wrong.
- On my environments, 1000BASE-T half duplex doesn't work, so we might remove
IFM_1000T_HDX from this device in future.
- Define IPGPHY_SCR's address.
- Whitespace fix.

Add missing NetBSD RCS Id. Reported by Andrius V.
 1.531.2.4 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.531.2.3 15-Oct-2019  martin Pull up following revision(s) (requested by tnn in ticket #306):

sys/arch/amd64/conf/GENERIC: revision 1.536

add mcx(4) to GENERIC

Tested on dual-port ConnectX-4 with 25 Gbit/s AOC
 1.531.2.2 09-Aug-2019  martin Pull up following revision(s) (requested by msaitoh in ticket #37):

doc/3RDPARTY: revision 1.1641
sys/dev/pci/if_ena.c: revision 1.16
sys/arch/amd64/conf/GENERIC: revision 1.532

If the memory space's BAR and the MSI-X table is on the same BAR,
reserve the space. Almost the same as nvme_pci.c and xhci_pci.c.
Tested by ryoon@.

Add ena(4).
 1.531.2.1 09-Aug-2019  martin Pull up following revision(s) (requested by rin in ticket #35):

sys/arch/amd64/conf/ALL: revision 1.121
sys/arch/i386/conf/XEN3PAE_DOM0: revision 1.14
sys/arch/amd64/conf/XEN3_DOM0: revision 1.168
sys/arch/i386/conf/GENERIC: revision 1.1210
sys/arch/amd64/conf/GENERIC: revision 1.534

xhci(4) is considered stable enough. So, remove misleading comments.

XXX
pullup to netbsd-9
 1.553.2.3 29-Feb-2020  ad Sync with head.
 1.553.2.2 25-Jan-2020  ad Sync with head.
 1.553.2.1 17-Jan-2020  ad Sync with head.
 1.564.2.2 25-Apr-2020  bouyer Merge GENERIC_XENHVM in GENERIC.
Remove XEN3_PVHVM/XEN3PAE_PVHVM files which have been obsolete for some time
on the branch
 1.564.2.1 20-Apr-2020  bouyer Sync with HEAD
 1.580.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.588.6.1 31-May-2021  cjep sync with head
 1.588.4.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.599.4.8 08-Aug-2025  martin Pull up following revision(s) (requested by skrll in ticket #1148):

sys/arch/evbarm/conf/GENERIC64: revision 1.227
sys/dev/pci/files.pci: revision 1.451
sys/dev/pci/pvscsi.c: revision 1.1
sys/dev/pci/pvscsi.c: revision 1.2
sys/dev/pci/pvscsi.h: revision 1.1
sys/arch/amd64/conf/GENERIC: revision 1.617

Add a port of the FreeBSD driver for the VMware PV SCSI controller found
in VMware's ESXi product.

Tested on ESXi/Arm such that an installation from ISO succeeds and boots.

Add the barrier that a comment describes.
 1.599.4.7 09-Oct-2024  martin Pull up following revision(s) (requested by riastradh in ticket #939):

distrib/sets/lists/debug/module.md.amd64: revision 1.18
sys/modules/Makefile: revision 1.292
lib/libc/gen/arc4random.c: revision 1.34
lib/libc/gen/arc4random.c: revision 1.35
lib/libc/gen/arc4random.c: revision 1.36
lib/libc/gen/arc4random.c: revision 1.37
sys/kern/kern_entropy.c: revision 1.70
lib/libc/gen/arc4random.c: revision 1.38
sys/kern/kern_entropy.c: revision 1.71
lib/libc/gen/getentropy.3: revision 1.8
distrib/sets/lists/modules/md.amd64: revision 1.103
share/man/man4/rnd.4: revision 1.42
share/man/man4/rnd.4: revision 1.44
lib/libc/include/arc4random.h: revision 1.1
distrib/sets/lists/man/mi: revision 1.1786
sys/arch/i386/conf/GENERIC: revision 1.1258
sys/modules/acpivmgenid/acpivmgenid.ioconf: revision 1.1
sys/arch/amd64/conf/ALL: revision 1.190
distrib/sets/lists/debug/mi: revision 1.446
sys/arch/i386/conf/ALL: revision 1.521
lib/libc/gen/Makefile.inc: revision 1.219
distrib/sets/lists/debug/module.md.i386: revision 1.12
sys/dev/acpi/acpi_vmgenid.c: revision 1.1
sys/dev/acpi/acpi_vmgenid.c: revision 1.2
lib/libc/include/reentrant.h: revision 1.22
sys/arch/evbarm/conf/GENERIC64: revision 1.219
share/man/man4/Makefile: revision 1.735
distrib/sets/lists/modules/md.i386: revision 1.100
distrib/sets/lists/tests/mi: revision 1.1334
lib/libc/gen/arc4random.3: revision 1.22
sys/dev/acpi/files.acpi: revision 1.133
lib/libc/gen/arc4random.3: revision 1.23
tests/lib/libc/gen/t_arc4random.c: revision 1.1
sys/sys/entropy.h: revision 1.6
sys/arch/amd64/conf/GENERIC: revision 1.614
sys/modules/acpivmgenid/Makefile: revision 1.1
share/man/man4/acpivmgenid.4: revision 1.1
lib/libc/gen/Makefile.inc: revision 1.220
tests/lib/libc/gen/Makefile: revision 1.56
share/man/man4/acpivmgenid.4: revision 1.2
share/man/man4/acpivmgenid.4: revision 1.3

(all via patch)

Catch up with all the lint warnings since exit on warning was disabled.

Disable 'missing header declaration' and 'nested extern' warnings for now.
acpivmgenid(4): New driver for virtual machine generation ID.

Added to amd64/ALL and i386/ALL kernel configurations, and made
available as a loadable module acpivmgenid.kmod on x86, for now.
TBD: Add to all ACPI-supporting GENERIC kernels.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

entropy(9): Factor out subroutines to reset and gather entropy.
`Reset' means we keep the data in the pool, but assume it had zero
entropy. `Gather' means we request samples from all on-demand
sources and wait for the synchronous ones to complete.

No functional change intended, other than to expose new symbols --
just preparation to expose these to acpivmgenid(4), so it can use
these when the VM host notifies us that we, the guest, have been
cloned.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

acpivmgenid(4): Reset and gather entropy on VM clone notification.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

arc4random(3): Reseed if system entropy epoch changes.
This can happen, for example, if the system is a VM instance, and the
VM is cloned.

This incurs the cost of a system call on every arc4random call, which
is unfortunate, but
1. we don't currently have a (machine-independent) mechanism for
exposing a read-only page to userland shared by the kernel to
enable a cheaper access path to the entropy epoch; and
2. the algorithm here -- a simple application of ChaCha -- is likely
also a bottleneck and could be much cheaper by
(a) using sys/crypto/chacha for machine-dependent vectorized
ChaCha code, and
(b) filling a buffer (somewhere between a cipher block and a page)
in a batch at a time, instead of running ChaCha to generate
only 32 bytes at a time.
So although this might be a performance hit, the security benefit is
worthwhile and we have a clear path to do better than reversing the
performance hit later.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

acpivmgenid(4): Nix BUGS that have been squashed.
Reference kern.entropy.epoch for the remaining bug (which is a
performance issue, not a security issue).
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

entropy(9): Allow unprivileged reads of sysctl kern.entropy.epoch.

Applications need this in order to know when to reseed. (We should
also expose it through a page shared read-only with userland for
cheaper access, but until we do, let's let applications get at it
through sysctl.)
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

arc4random.c: Fix test program.

This isn't wired up anywhere, but let's reduce the bitrot. It was
helpful in reminding me that kern.entropy.epoch was, for reasons I
can't remember, restricted to privileged access.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

amd64, evbarm, i386: Add acpivmgenid(4) to GENERIC.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

rnd(4): Document kern.entropy.epoch is unprivileged and elaborate.
Cross-reference acpivmgenid(4).
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

arc4random(3): Note that arc4random respects kern.entropy.epoch.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork
Add debug info for new acpivmgenid module

arc4random(3): Add automatic tests.

This verifies that:
- arc4random zeroes its state and reseeds itself on fork
- arc4random reseeds itself on entropy consolidation (e.g., VM clone)
- arc4random falls back to global state if it can't allocate local
state because address space limits cause mmap to fail

NOTE: This adds a new libc symbol __arc4random_global, but it's in
the reserved namespace and only used by t_arc4random, so no libc
minor bump.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

getentropy(3): Note intent to reseed on VM clone, and caveats.

Tidy markup and pacify some mandoc -Tlint complaints while here.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

Bump dates on man pages recently updated to mention VM clones.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

arc4random(3): Pacify some of lint's complaints.
PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM
fork

arc4random: suppress another lint warning
 1.599.4.6 20-Jun-2024  martin Pull up following revision(s) (requested by andvar in ticket #700):

sys/arch/i386/conf/GENERIC: revision 1.1256
share/man/man4/man4.x86/viac7temp.4: revision 1.1
sys/arch/x86/x86/viac7temp.c: revision 1.11
share/man/man4/man4.x86/Makefile: revision 1.24
share/man/man4/man4.i386/viac7temp.4: file removal
share/man/man4/man4.i386/Makefile: revision 1.81
distrib/sets/lists/man/mi: revision 1.1773
sys/arch/amd64/conf/GENERIC: revision 1.612
sys/arch/amd64/conf/ALL: revision 1.188
sys/arch/i386/conf/ALL: revision 1.519

viac7temp(4): rewrite temperature sensor to read value from MSR instead of using
documented cpuid instruction and eax register.

This approach is adapted from linux via-cputemp.c, no official documentation is
currently available. However, msr value seems to work on all tested CPUs while
documented cpuid instruction typically reports 0, even for my C7-D CPU.
msr value seems to have temperature in Celsius in lower 24-bits without fraction
(thus "msr & 0xffffff;" is used).

Tested on my personal systems based on CPUs below (i386 and amd64):
C7-D 1.6GHz (i386 only), Nano X2 L4350E, Nano X2 U4300, U2300 Nano, KX-U6580.
Also got one response via email which was based on Nano X2 L4050 (VE-900).

Nano reports independent values for each core.

KX-U6580 seems to show the same value for all cores but more testing is needed.

Since it works on amd64 capable CPUs, adding driver to GENERIC kernel config.

Also moving viac7temp man page to x86 instead of i386 (with updates).

In theory the change should add support for all VIA Nano CPUs and Zhaoxin CPUs
at least up to KX-6000(G) series.

In the future I may need to introduce amd64 kernel module as well.

Patch mainly reviewed by riastradh.
 1.599.4.5 03-Nov-2023  martin Pull up following revision(s) (requested by msaitoh in ticket #446):

sys/dev/pci/if_eqos_pci.c: revision 1.3
sys/arch/i386/conf/GENERIC: revision 1.1251
sys/arch/i386/conf/GENERIC: revision 1.1252
sys/arch/amd64/conf/GENERIC: revision 1.607
sys/arch/amd64/conf/GENERIC: revision 1.608
sys/dev/ic/dwc_eqos.c: revision 1.20
sys/dev/ic/dwc_eqos.c: revision 1.21
share/man/man4/eqos.4: revision 1.2
sys/dev/ic/dwc_eqos.c: revision 1.22
sys/dev/ic/dwc_eqos_reg.h: revision 1.7
sys/dev/ic/dwc_eqos.c: revision 1.23
sys/dev/ic/dwc_eqos_reg.h: revision 1.8
sys/dev/ic/dwc_eqos.c: revision 1.24
sys/dev/ic/dwc_eqos.c: revision 1.25
sys/dev/ic/dwc_eqos.c: revision 1.26
sys/dev/ic/dwc_eqos.c: revision 1.27
sys/dev/ic/dwc_eqos_var.h: revision 1.5
sys/dev/ic/dwc_eqos.c: revision 1.28
sys/dev/ic/dwc_eqos_var.h: revision 1.6
sys/dev/ic/dwc_eqos.c: revision 1.29
sys/dev/ic/dwc_eqos.c: revision 1.18
sys/dev/ic/dwc_eqos.c: revision 1.19
sys/dev/pci/files.pci: revision 1.448
sys/dev/pci/if_eqos_pci.c: revision 1.1
sys/dev/pci/if_eqos_pci.c: revision 1.2

eqos(4): Fix definition of GMAC_MAC_HW_FEATURE1_RXFIFOSIZE.

eqos(4): Fix a bug that the MAC address is swapped.
Don't swap the MAC address in eqos_get_eaddr(). Other OSes except FreeBSD
(which was based on NetBSD's) don't swap it. With this change, my own
OnLogic Helix 330's MAC address becomes correct. The OUI is 84:8b:cd:4d.
It's owned by Logic Supply and they were acquired by OnLogic.

On Quartz64 with UEFI, the MAC address is wrongly set and the multicast
bit might be set. To do workaround, clear the bit if it's set.

eqos(4): Add missing clock range.

eqos(4): Accept if snpsver == 0x52. Tested with Intel Elkhart Lake.

TODO:
Multiqueue support.
Add watchdog timer.
Add detach function.

eqos(4): Add initial support for Intel Elkhart Lake internal Ethernet devices.
- Only tested on PSE SGMII 1G Ethernet MAC with MaxLinear GPY115.
- I don't know why dmat64 doesn't work. eqos_attach() have a special
code if EQOS_HW_FEATURE_ADDR64_32BIT(sc) is true, but it seems it doesn't
work.
- TODO:
Multiqueue support.
Detach support.

eqos(4): Fix compile error for arch that sizeof(bus_size_t) == 4 (i386).
Trailing whitespace

eqos(4): Disable eqos(4) by default because it's not stable on x86.

eqos(4): KNF. No functional change.

eqos(4): Add and modify some DPRINTF()s.

eqos(4): Add sysctls for debugging.

eqos(4): Use EQOS_TXLOCK() more to be stable.
Fix a bug that sc_tx.{cur,next,queued} become inconsitent.
Use txlock when accessing TX data.

eqos(4): Set TX/RX DMA burst length to improve performance.

eqos(4): Set flow control correctly.

eqos_pci: Limit to 32bit DMA only for PSE devices.

eqos(4): Fix typo in comment.
 1.599.4.4 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.599.4.3 08-Oct-2023  martin Pull up following revision(s) (requested by rin in ticket #393):

sys/dev/pci/igc/if_igc.c up to 1.3
sys/dev/pci/igc/if_igc.h up to 1.2
sys/dev/pci/igc/igc_api.c up to 1.2
sys/dev/pci/igc/igc_api.h up to 1.2
sys/dev/pci/igc/igc_base.c up to 1.2
sys/dev/pci/igc/igc_base.h up to 1.2
sys/dev/pci/igc/igc_defines.h up to 1.2
sys/dev/pci/igc/igc_evcnt.h up to 1.1
sys/dev/pci/igc/igc_hw.h up to 1.2
sys/dev/pci/igc/igc_i225.c up to 1.2
sys/dev/pci/igc/igc_i225.h up to 1.2
sys/dev/pci/igc/igc_mac.c up to 1.2
sys/dev/pci/igc/igc_mac.h up to 1.2
sys/dev/pci/igc/igc_nvm.c up to 1.2
sys/dev/pci/igc/igc_nvm.h up to 1.2
sys/dev/pci/igc/igc_phy.c up to 1.2
sys/dev/pci/igc/igc_phy.h up to 1.2
sys/dev/pci/igc/igc_regs.h up to 1.2
distrib/sets/lists/man/mi: revision 1.1766
sys/arch/amd64/conf/GENERIC: revision 1.606
sys/arch/evbppc/conf/DHT: revision 1.5
sys/arch/evbarm/conf/GENERIC64: revision 1.213
share/man/man4/Makefile: revision 1.733
sys/arch/amd64/conf/ALL: revision 1.181
share/man/man4/igc.4: revision 1.1
sys/dev/pci/files.pci: revision 1.447
sys/arch/amd64/conf/XEN3_DOM0: revision 1.200
doc/CHANGES (apply patch)

Add igc(4) for Intel I225/I226 series ethernet devices
 1.599.4.2 17-Aug-2023  martin Pull up following revision(s) (requested by andvar in ticket #329):

distrib/sets/lists/modules/md.amd64: revision 1.100
sys/external/bsd/drm2/dist/include/drm/drm_pciids.h: revision 1.5
sys/arch/amd64/conf/GENERIC: revision 1.605
sys/modules/Makefile: revision 1.279
distrib/sets/lists/debug/module.md.amd64: revision 1.14

viadrmums(4): build legacy VIA DRM UMS driver module for amd64.

This driver is not built-in by default, thus loadable module can help (un)lucky
owners of 64-bit capable VIA (Nano/Eden) systems or early AMD/Intel systems
with some VIA chipsets, which include VIA integrated graphics.

I also boldly added product IDs for few later models from VX8xx/VX9xx chipsets
without 3D support (DX9_0) to "expand" the driver support to more systems.

Tested successfully basic functionality on VX800, and partially successfully
on VX900 (on VX900 Xorg failed to initialize due to openchrome related issues,
viadrmums attaches and it is by used the driver).

Didn't test on VX855, I don't have one.
 1.599.4.1 01-Aug-2023  martin Pull up following revision(s) (requested by riastradh in ticket #282):

sys/dev/pci/ichsmb.c: revision 1.82
sys/arch/amd64/conf/GENERIC: revision 1.602
sys/arch/x86/pci/tco.c: revision 1.10
sys/arch/x86/pci/tco.h: revision 1.5
sys/arch/x86/pci/ichlpcib.c: revision 1.59
sys/dev/ic/i82801lpcreg.h: revision 1.17
sys/arch/x86/pci/files.pci: revision 1.27
sys/dev/pci/files.pci: revision 1.446

ichsmb(4), tco(4): Add support for TCO on newer Intel chipsets.

TCO (`Total Cost of Ownership', Intel's bizarre name for a watchdog
timer) used to hang off the Intel I/O platform controller hub's (ICH)
low-pin-count interface bridge (LPC IB), or ichlpcib(4). On newer
devices, it hangs off the ICH SMBus instead.
Tested on INTEL 100SERIES_SMB (works) and INTEL 100SERIES_LP_SMB
(doesn't work, still not sure why).

XXX kernel revbump: This breaks the module ABI -- tco(4) modules
older than the change to make ta_has_rcba into ta_version will
incorrectly attach at buses they do not understand. (However, the
tco(4) driver is statically built into GENERIC, so maybe it's safe
for pullup since the module wouldn't have worked anyway.)
 1.612.2.1 02-Aug-2025  perseant Sync with HEAD
 1.616.2.2 20-Oct-2025  martin Pull up following revision(s) (requested by riastradh in ticket #66):

sys/arch/x86/include/mpacpi.h: revision 1.12
sys/arch/x86/x86/mpacpi.c: revision 1.112
sys/arch/amd64/conf/ALL: revision 1.194
sys/arch/i386/conf/ALL: revision 1.524
sys/arch/x86/acpi/acpi_machdep.c: revision 1.40
sys/arch/i386/conf/GENERIC: revision 1.1261
sys/dev/acpi/acpi_mcfg.h: revision 1.6
sys/arch/amd64/conf/GENERIC: revision 1.618

x86: Wire up PCI resource manager if enabled.

Enable in your kernel config with `options PCI_RESOURCE'.

Adapted from a patch by mlelstv@.
PR port-amd64/59118: Thinkpad T495s - iwm PCI BAR is zero
 1.616.2.1 08-Aug-2025  martin Pull up following revision(s) (requested by skrll in ticket #6):

sys/arch/evbarm/conf/GENERIC64: revision 1.227
sys/dev/pci/files.pci: revision 1.451
sys/dev/pci/pvscsi.c: revision 1.1
sys/dev/pci/pvscsi.c: revision 1.2
sys/dev/pci/pvscsi.h: revision 1.1
sys/arch/amd64/conf/GENERIC: revision 1.617

Add a port of the FreeBSD driver for the VMware PV SCSI controller found
in VMware's ESXi product.

Tested on ESXi/Arm such that an installation from ISO succeeds and boots.

Add the barrier that a comment describes.
 1.3 20-Dec-2007  ad Remove GENERIC.MP config and enable SMP by default on amd64.
 1.2 27-Dec-2005  chs branches: 1.2.50; 1.2.56; 1.2.60; 1.2.64;
remove the COM_MPLOCK option. always include the spinlock in the softc
and always call the simple_* locking functions. the locking functions
are compiled out if they are not needed anyway, so a separate option
for this doesn't gain anything.

this also fixes the serial console on my alpha ES40 (which doesn't make much
sense since the com driver should still be under the big lock on alpha,
but whatever).
 1.1 26-Apr-2003  fvdl branches: 1.1.18;
Rename the x86_64 port to amd64, as this is the actual name used for
the processor family now. x86_64 is kept as the MACHINE_ARCH value,
since it's already widely used (by e.g. the toolchain, etc), and
by other operating systems.
 1.1.18.2 21-Jan-2008  yamt sync with head
 1.1.18.1 21-Jun-2006  yamt sync with head.
 1.2.64.1 02-Jan-2008  bouyer Sync with HEAD
 1.2.60.1 26-Dec-2007  ad Sync with head.
 1.2.56.1 27-Dec-2007  mjf Sync with HEAD.
 1.2.50.1 23-Mar-2008  matt sync with HEAD
 1.2 29-Feb-2008  jmmv Remove GENERIC.local from the repository

Make all the kernels that currently include their corresponding GENERIC.local
file use the cinclude directive instead of include. This way config(1) will
not complain if the file cannot be found.

After doing this, remove the GENERIC.local files from the repository so that
the user will not see modified files during updates, and local changes to
them cannot end up in the repository by mistake.

Discussed in tech-kern@ earlier this month. No strong objections.
 1.1 26-Apr-2003  fvdl branches: 1.1.18; 1.1.80; 1.1.100; 1.1.104;
Rename the x86_64 port to amd64, as this is the actual name used for
the processor family now. x86_64 is kept as the MACHINE_ARCH value,
since it's already widely used (by e.g. the toolchain, etc), and
by other operating systems.
 1.1.104.1 03-Apr-2008  mjf Sync with HEAD.
 1.1.100.1 24-Mar-2008  keiichi sync with head.
 1.1.80.1 23-Mar-2008  matt sync with HEAD
 1.1.18.1 17-Mar-2008  yamt sync with head.
 1.3 06-Mar-2007  bouyer For the benefit of modern hardware, enable ACPI by default in INSTALL and
GENERIC kernels. If ACPI is an issue on your hardware, 'boot -c' and
'disable acpi' should be a workaround. ACPI-enabled kernels works fine
on pre-acpi hardware.
for amd64:
- add ACPI to INSTALL and GENERIC, remove the *_ACPI config files.
- get rid of the bootfloppy-big.fs boot image, and got to a 3-floppy boot
image
for i386:
- introduce INSTALL_LARGE which has ACPI and some devices with big firmware
- move some devices from INSTALL to INSTALL_LARGE
- Boot floppies still use INSTALL, and bootfloppy-big.fs is still there
(for thoses who want to build el-torito floppy emulation boot CD) and use
INSTALL.
For both, drop the 'iso-image' code in etc/ to make the iso bootable, we'll
use something else to build bootable CDs.
 1.2 04-Jul-2006  christos branches: 1.2.10;
Apply fvdl's acpi pci interrupt configuration code.
- MPACPI is no more.
- MPACPI_SCANPCI -> ACPI_SCANPCI
 1.1 30-Dec-2005  rjs branches: 1.1.4; 1.1.8; 1.1.16; 1.1.18;
Add config for ACPI kernel.
 1.1.18.4 03-Sep-2007  yamt sync with head.
 1.1.18.3 30-Dec-2006  yamt sync with head.
 1.1.18.2 21-Jun-2006  yamt sync with head.
 1.1.18.1 30-Dec-2005  yamt file GENERIC_ACPI was added on branch yamt-lazymbuf on 2006-06-21 14:48:25 +0000
 1.1.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.1.8.1 11-Aug-2006  yamt sync with head
 1.1.4.1 09-Sep-2006  rpaulo sync with head
 1.2.10.2 17-May-2007  yamt fix merge botches.
 1.2.10.1 12-Mar-2007  rmind Sync with HEAD.
 1.5 21-Jul-2018  maxv Remove "no options GPROF", we don't have GPROF in the x86 kernels anymore.
By the way this caused a warning because GPROF is not defflag'ed
correctly...
 1.4 04-Feb-2018  maxv branches: 1.4.2; 1.4.4;
Explicitly disable the kernel-mode GPROF (even though it is never enabled),
and explain a bit.
 1.3 29-Oct-2017  maxv branches: 1.3.2;
Mmh, we don't map the CTF section on kaslr kernels, so disable
KDTRACE_HOOKS for now.
 1.2 08-Oct-2017  maxv KASLR: add workarounds to compute the bootinfo VAs (use the direct map),
and don't use large pages yet. Both will be fixed later.
 1.1 07-Oct-2017  maxv Add GENERIC_KASLR, only toolchain parts for now.
 1.3.2.2 03-Dec-2017  jdolecek update from HEAD
 1.3.2.1 29-Oct-2017  jdolecek file GENERIC_KASLR was added on branch tls-maxphys on 2017-12-03 11:35:47 +0000
 1.4.4.1 10-Jun-2019  christos Sync with HEAD
 1.4.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.2 18-Dec-2016  dholland Whitespace.
 1.1 30-Jun-2012  reinoud branches: 1.1.2; 1.1.4; 1.1.18; 1.1.22;
Move i386 and amd64 usermode configurations to their respective directories
and make the usermode kernels buildalbe under build.sh.

The resulting kernels are build and packaged correctly as are the associated
modules.
 1.1.22.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.18.1 05-Feb-2017  skrll Sync with HEAD
 1.1.4.2 30-Oct-2012  yamt sync with head
 1.1.4.1 30-Jun-2012  yamt file GENERIC_USERMODE was added on branch yamt-pagecache on 2012-10-30 17:18:45 +0000
 1.1.2.1 03-Dec-2017  jdolecek update from HEAD
 1.1 16-Apr-2020  bouyer branches: 1.1.2;
file GENERIC_XENHVM was initially added on branch bouyer-xenpvh.
 1.1.2.6 25-Apr-2020  bouyer Merge GENERIC_XENHVM in GENERIC.
Remove XEN3_PVHVM/XEN3PAE_PVHVM files which have been obsolete for some time
on the branch
 1.1.2.5 20-Apr-2020  bouyer Thanks do jdolecek@, MAXPHYS is not restricted to 32k now.
Nothing prevents merging GENERIC_XENHVM in GENERIC now
 1.1.2.4 16-Apr-2020  bouyer amd64: Xhypervisor_pvhvm_callback has to be in text.user for SVS.
Thanks to maxv@ for helping me with this.
Enable SVS again.
While there, increase ci_idepth before calling do_hypervisor_callback,
and don't touch ci_idepth while looping over pending events.
 1.1.2.3 16-Apr-2020  bouyer Well, no, SVS does't quite work yet.
 1.1.2.2 16-Apr-2020  bouyer SVS is working with PVHVM now
 1.1.2.1 16-Apr-2020  bouyer Reorganise sources to make it possible to include Xen PVHVM support in
native kernels. Among others:
- move xen/include/amd64/hypercall.h to amd64/include/xen and
xen/include/i386/hypercall.h to i386/include/xen
- exclude some native files from the build for xenpv
- add xen to "machine" config statement for amd64 and i386
- split arch/xen/conf/files.xen to arch/xen/conf/files.xen (for pv drivers)
and arch/xen/conf/files.xen.pv (for full pv support)
- add GENERIC_XENHVM kernel config which includes GENERIC and add Xen PV
drivers.
 1.96 29-Jul-2022  riastradh x86: Disable new DRM_LEGACY option in INSTALL kernel.

The INSTALL kernel appears to be intended to have no drm in it at
all, but DRM_LEGACY brings it in just for modules.
 1.95 18-Apr-2019  maya Follow arm64 and provide two sizes of fonts, so a larger one is chosen
for larger displays.
 1.94 11-Dec-2018  maya revert previous, nouveau apparently works for some people.
 1.93 11-Dec-2018  maya comment out nouveau related lines in INSTALL kernels too
 1.92 25-Dec-2017  rin branches: 1.92.4;
Disable nouveau for INSTALL as in a similar manner to other DRMKMS drivers.
XXX pullup to netbsd-8
 1.91 18-Dec-2016  dholland branches: 1.91.8;
Whitespace.
 1.90 02-Nov-2014  christos branches: 1.90.2; 1.90.4;
propagate drm changes
 1.89 06-Jun-2013  msaitoh branches: 1.89.8;
Fix compile error. PR#38480 was correctly fixed in 2009, it's ok to remove
"no options MTRR"
 1.88 19-Nov-2011  tls branches: 1.88.8;
First step of random number subsystem rework described in
<20111022023242.BA26F14A158@mail.netbsd.org>. This change includes
the following:

An initial cleanup and minor reorganization of the entropy pool
code in sys/dev/rnd.c and sys/dev/rndpool.c. Several bugs are
fixed. Some effort is made to accumulate entropy more quickly at
boot time.

A generic interface, "rndsink", is added, for stream generators to
request that they be re-keyed with good quality entropy from the pool
as soon as it is available.

The arc4random()/arc4randbytes() implementation in libkern is
adjusted to use the rndsink interface for rekeying, which helps
address the problem of low-quality keys at boot time.

An implementation of the FIPS 140-2 statistical tests for random
number generator quality is provided (libkern/rngtest.c). This
is based on Greg Rose's implementation from Qualcomm.

A new random stream generator, nist_ctr_drbg, is provided. It is
based on an implementation of the NIST SP800-90 CTR_DRBG by
Henric Jungheim. This generator users AES in a modified counter
mode to generate a backtracking-resistant random stream.

An abstraction layer, "cprng", is provided for in-kernel consumers
of randomness. The arc4random/arc4randbytes API is deprecated for
in-kernel use. It is replaced by "cprng_strong". The current
cprng_fast implementation wraps the existing arc4random
implementation. The current cprng_strong implementation wraps the
new CTR_DRBG implementation. Both interfaces are rekeyed from
the entropy pool automatically at intervals justifiable from best
current cryptographic practice.

In some quick tests, cprng_fast() is about the same speed as
the old arc4randbytes(), and cprng_strong() is about 20% faster
than rnd_extract_data(). Performance is expected to improve.

The AES code in src/crypto/rijndael is no longer an optional
kernel component, as it is required by cprng_strong, which is
not an optional kernel component.

The entropy pool output is subjected to the rngtest tests at
startup time; if it fails, the system will reboot. There is
approximately a 3/10000 chance of a false positive from these
tests. Entropy pool _input_ from hardware random numbers is
subjected to the rngtest tests at attach time, as well as the
FIPS continuous-output test, to detect bad or stuck hardware
RNGs; if any are detected, they are detached, but the system
continues to run.

A problem with rndctl(8) is fixed -- datastructures with
pointers in arrays are no longer passed to userspace (this
was not a security problem, but rather a major issue for
compat32). A new kernel will require a new rndctl.

The sysctl kern.arandom() and kern.urandom() nodes are hooked
up to the new generators, but the /dev/*random pseudodevices
are not, yet.

Manual pages for the new kernel interfaces are forthcoming.
 1.87 08-Aug-2011  jakllsch branches: 1.87.2;
Finish reverting premature modularization of amd64 kernels.
 1.86 28-May-2011  ryo many whitespace cleanup.
 1.85 16-Feb-2011  jym Per mrg@ request, add MFS as default builtin, for things like init(8).

XXX should be replaced by TMPFS eventually.
 1.84 16-Feb-2011  jym Build certain file-systems and options(7) as module(7). 32 and 64 bits
support are still builtin, as well as FFS, NFS, TMPFS, and most COMPAT
code. Saves approx. 750kiB.

Reflect this in INSTALL kernel, where we have to support more file systems
statically.

See http://mail-index.netbsd.org/port-amd64/2011/02/13/msg001318.html
 1.83 11-Feb-2011  jmcneill attach drm hw drivers to 'drm' not 'vga'
 1.82 09-Aug-2009  christos branches: 1.82.4; 1.82.6; 1.82.8;
put back drm.
 1.81 06-Feb-2009  jym branches: 1.81.2;
Changes to MEMORY_RBFLAGS option:
- renamed to MEMORY_DISK_RBFLAGS to better fit the rest of the
MEMORY_DISK options(4)
- change default value to RB_AUTOBOOT instead of RB_SINGLE, and adapt
the config(5) files accordingly
- document this option inside options(4)

See also http://mail-index.netbsd.org/tech-kern/2008/12/25/msg003924.html

Reviewed by abs@ in private mail.
 1.80 02-May-2008  ad branches: 1.80.8;
- Give x86 BIOS boot the ability to load new style modules and pass them
into the kernel. Based on a patch by jmcneill@, with many fixes and
improvements by me.

- Put MEMORY_DISK_DYNAMIC and MODULAR into the GENERIC kernels, so that
you can load miniroot.kmod from the boot blocks and boot into the
installer!
 1.79 21-Apr-2008  tls branches: 1.79.2;
Work around PR38480 by making it possible to omit options MTRR from
amd64 INSTALL kernels -- and doing so. At least you can now get an
INSTALL kernel onto a box with this odd MTRR configuration to debug it.
 1.78 02-Jan-2008  joerg branches: 1.78.6; 1.78.8;
Better description, this is not GENERIC after all.
 1.77 17-Dec-2007  joerg Use GENERIC for installation as well, just add the ramdisk hooks.
 1.76 05-Dec-2007  xtraeme branches: 1.76.4;
arc(4) -> arcmsr(4)
 1.75 04-Dec-2007  xtraeme Enable arc(4).
 1.74 19-Nov-2007  jnemeth branches: 1.74.2;
PR/37404 - Rui-Xiang Guo -- sync phy list with GENERIC
 1.73 17-Oct-2007  garbled branches: 1.73.2;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.72 06-Sep-2007  martti branches: 1.72.4;
Fixed indentation (it should be <keyword><space><tab><name><tab><comment>).
 1.71 16-Jun-2007  ad branches: 1.71.4; 1.71.8; 1.71.10;
-options I2OVERBOSE.
 1.70 26-May-2007  briggs Enable aac(4) and ld at aac.
 1.69 15-May-2007  bouyer add jmide(4), a driver for the JMicron Technology JMB36x PCIe to SATA II/PATA
controllers. These controllers can be found on add-on PCIe cards, or
on some motherboards to provide the PATA connectivity (e.g. some intel
ICH8-based motherboards).

Thanks to JMicron Technology for providing me documentation and
different sample boards for this work.
 1.68 07-May-2007  jnemeth PR/36234 - Joerg Niendorf -- xi -> xirc
 1.67 14-Mar-2007  drochner branches: 1.67.6;
It doesn't make sense to specify "configuration" and "interface"
locators for uhub because a hub can't have sub-devices.
This might be sanity-checked eventually.
Same for ubt now after the change to device attachment.
 1.66 06-Mar-2007  bouyer branches: 1.66.2; 1.66.4;
For the benefit of modern hardware, enable ACPI by default in INSTALL and
GENERIC kernels. If ACPI is an issue on your hardware, 'boot -c' and
'disable acpi' should be a workaround. ACPI-enabled kernels works fine
on pre-acpi hardware.
for amd64:
- add ACPI to INSTALL and GENERIC, remove the *_ACPI config files.
- get rid of the bootfloppy-big.fs boot image, and got to a 3-floppy boot
image
for i386:
- introduce INSTALL_LARGE which has ACPI and some devices with big firmware
- move some devices from INSTALL to INSTALL_LARGE
- Boot floppies still use INSTALL, and bootfloppy-big.fs is still there
(for thoses who want to build el-torito floppy emulation boot CD) and use
INSTALL.
For both, drop the 'iso-image' code in etc/ to make the iso bootable, we'll
use something else to build bootable CDs.
 1.65 01-Feb-2007  tron branches: 1.65.2;
Disable wsmouse(4) and all the related low-level drivers The installer
ramdisk doesn't support using the mouse anyway.

Idea provided by Blair Sadewitz in private e-mail.
 1.64 14-Jan-2007  bouyer Uncomment pseudo-device raid and options RAID_AUTOCONFIG, to match
i386's INSTALL. Suggested by Florence HENRY on port-amd64@
 1.63 03-Jan-2007  tron Disable ppp(4) because pppd(8) isn't on the installation image anyway.
 1.62 17-Dec-2006  bouyer Add bnx(4), a driver for Broadcom NetXtreme II 10/100/1000 Ethernet device.
Ported from OpenBSD by cube@, with some bus_dma fixes by me.
Tested on i386 and amd64.
 1.61 17-Dec-2006  bouyer Add mfi(4), a driver for LSI Logic & Dell MegaRAID SAS RAID controller.
Ported from OpenBSD, tested on i386 and amd64.
 1.60 30-Nov-2006  bouyer branches: 1.60.2;
Add ahcisata(4), a driver for AHCI 1.0 and 1.1 controllers. Tested on the sata
ports of a Intel 63xxESB chipset. Does not support NCQ yet.
 1.59 21-Oct-2006  bouyer Add support for the Intel 80003 Gigabit Ethernet controller (found e.g. in
newer server chipsets) to wm(4), from the FreeBSD em(4) driver.
While there, add a few other Intel Ethernet controller that should work as
is.
Properly update the RX error and TX collision counters.
Add ikphy(4), a driver for the Intel i82563 Kumeran 10/100/1000 Ethernet PHYs
 1.58 15-Oct-2006  xtraeme Sync IDE/SATA drivers with i386/GENERIC. Fixes PR port-amd64/34829.
 1.57 23-Sep-2006  jmcneill Add iteide(4) driver to GENERIC and INSTALL kernels; PR# 33426.
 1.56 10-Sep-2006  riz branches: 1.56.2;
Add msk and mskc.
 1.55 14-Aug-2006  skrll branches: 1.55.2;
s/adpater/adapter/

Prompted by PR/34195
 1.54 30-Jul-2006  bouyer branches: 1.54.2;
Add twa(4) and ld at twa
 1.53 27-Apr-2006  jonathan Add entries for svwsata(4) to amd64 GENERIC and INSTALL kernels,
to support SATA ports on Serverworks HT-1000 (aka bcm5785) chips.
 1.52 19-Apr-2006  drochner adjust comments for the new location of wskbdmap_mfii.c,
addresses PR kern/33290 by henry nelson
 1.51 15-Apr-2006  jmmv Remove the getwschar and putwschar accessops from wsdisplay drivers as
requested by uwe@. These were wrong because they were receiving an
emulcookie yet they were accessops (thus having to receive an accesscookie).
Instead, just handle the WSDISPLAYIO_{GET,PUT}WSCHAR ioctls from the
driver's ioctl accessop.

As this reduces the amount of code needed to handle these operations to
two small functions in each driver, remove the WSDISPLAY_CHARFUNCS kernel
option.

Reviewed by, at least, uwe@ and macallan@. No objections in tech-kern@.
 1.50 12-Apr-2006  martti Added ciss(4). Tested by Joseph Dacuma on HP DL-380 G3 with Smart Array 5i.
 1.49 25-Mar-2006  xtraeme Enable rgephy(4), closes PR port-amd64/33117.
 1.48 12-Mar-2006  chs branches: 1.48.2;
add nfe.
 1.47 05-Feb-2006  cube branches: 1.47.2; 1.47.4;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.46 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.45 04-Jan-2006  xtraeme branches: 1.45.2; 1.45.4;
Enable rlphy(4).
 1.44 20-Dec-2005  thorpej branches: 1.44.2;
Remove the tablet line discipline.
 1.43 07-Dec-2005  tsutsui Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.42 27-Nov-2005  dsl Compile with -fno-asynchronous-unwind-tables so that gcc doesn't generate
the .eh_frame data area that can be used to aid thr generation of stack
traceback - at a cost of a load of bloat!
Reinstate the isp driver.
Remove the unlikely-to-be-needed esh, lmc and ntwoc.
 1.41 24-Nov-2005  dsl We don't need 'le' here, I'm not sure amd64 GENERIC deserves it either.
 1.40 10-Oct-2005  dsl branches: 1.40.6;
Add sk ethernet as found on ASUS A8V.
Increase ramdisk to 5MB, costs virtually nothing.
 1.39 09-Sep-2005  drochner remove "dev" locators from cardbus device definitions, it doesn't
make sense technically and might be removed
 1.38 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.37 05-Aug-2005  skrll Add (commented out) ucycom to various kernel configs.
 1.36 12-Jul-2005  sekiya Add config goo for ath. Tested with a PCI card, detected as:

ath0 at pci0 dev 10 function 0
ath0: interrupting at ioapic0 pin 17 (irq 5)
ath0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
ath0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
ath0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36M bps 48Mbps 54Mbps
ath0: mac 5.9 phy 4.3 radio 3.6

Cardbus untested, so it is commented out.
 1.35 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.34 04-Jul-2005  martti branches: 1.34.2;
Added support for amr. Tested by Joseph A. Dacuma with Dell PowerEdge 2800.
 1.33 26-Jun-2005  dsl Remove 'isp' driver (support for Qlogic ISP [12]0x0 SCSI/FibreChannel).
Compensates for the recent bloat of the ath driver and 802.11 support.
 1.32 09-Jun-2005  tsutsui - Rename options NEW_BUFQ_STRATEGY -> options BUFQ_READPRIO.
(still commented out)
- Add (also commented out) options BUFQ_PRIOCSCAN.

Suggested by perry and soda on tech-kern.
Please refer options(4) for details for these options.
 1.31 15-Apr-2005  itohy Add ukyopon(4).
 1.30 10-Apr-2005  tron Comment out options for PPP compression and active filtering. They are not
necessary in an installation kernel but increase the size considerably.
This fixes PR port-amd64/29928.
 1.29 09-Apr-2005  tron Comment out some wscons(4) options which are only required to run a
X11 server.
 1.28 25-Mar-2005  cube Add attimer(4) configurations everywhere pcppi(4) exists, with the
following rule:
If a pcppi device is enabled for an attachment, enable an attimer for the
same attachement, otherwise comment it.
 1.27 27-Feb-2005  dsl branches: 1.27.2;
Enable FFS_NO_SNAPSHOT in the INSTALL kernel so that it fits into 2 floppies
 1.26 18-Feb-2005  dsl Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.25 11-Feb-2005  dsl Add 'option FFS_SNAPSHOT' to most of the config files.
Commented out for kernels that appear to hace space constraints.
 1.24 31-Jan-2005  hannken Add file system snapshots to kernel configs.

- Ffs internal snapshots get compiled in unconditionally.

- File system snapshot device fss(4) added to all kernel configs that
have a disk. Device is commented out on all non-GENERIC kernels.

Reviewed by: Jason Thorpe <thorpej@netbsd.org>
 1.23 18-Jan-2005  scw branches: 1.23.2;
Add "options PMS_SYNAPTICS_TOUCHPAD", commented out by default.
 1.22 17-Jan-2005  cube Add tap(4) support to a random^Wcarefully chosen set of kernel configs.
All those kernels have a line for both tun and bridge, and if either is
commented out, tap is commented out also. With the exception of i386's
GENERIC_TINY.

XXX: we _need_ some way of making this more simple.
 1.21 24-Nov-2004  bouyer branches: 1.21.4;
pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) serie of
controllers. Tested with a PDC20375 (2 SATA, one PATA) controller on sparc64.
Added to all kernel config file which had pdcide(4).
 1.20 10-Nov-2004  christos Add COMPAT_BSDPTY to the rest of the config files.
 1.19 23-Oct-2004  augustss s/uax/axe/
 1.18 13-Sep-2004  fvdl Remove some devices (sync with i386).
 1.17 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.16 22-Jun-2004  toshii Add re; Realtek GbE.
 1.15 11-May-2004  thorpej Don't need cz or cy devices in INSTALL kernel, and they put space
pressure on install media.
 1.14 16-Feb-2004  thorpej branches: 1.14.2;
Comment out some SYSV* and *VERBOSE options to shrink these down so
they fit in the current boot floppies.
 1.13 14-Dec-2003  thorpej Split the Intel i31244 SATA controller ("Artisea") driver out of piixide
into its own driver (artsata).
 1.12 13-Dec-2003  thorpej Split out the Silicon Image SATALink support into its own driver,
"satalink".
 1.11 10-Nov-2003  fvdl Trim ramdisk and remove some unneeded options.
 1.10 05-Nov-2003  fvdl Add igphy.
 1.9 25-Oct-2003  fvdl Add ahd, bce, ataraid
 1.8 18-Oct-2003  lukem Use one 'atabus* at ata?' instead of multiple 'atabus* at FOOide? channel ?'
Use 'atapibus* at atapi?' instead of 'atapibus* at atabus?'
 1.7 08-Oct-2003  bouyer Add new per-chip pciide drivers.
 1.6 08-Oct-2003  bouyer Add atabus.
 1.5 01-Sep-2003  fvdl Use MPBIOS_SCANPCI by default.
 1.4 30-Aug-2003  fvdl Remove a lot of stuff, making it closer to the i386 INSTALL.
 1.3 15-May-2003  fvdl branches: 1.3.2;
Decrease the ramdisk size a bit to allow for more options to be added
to the kernel, and still have it fit in 2.88M.
 1.2 10-May-2003  fvdl Enable ioapics.
 1.1 26-Apr-2003  fvdl Rename the x86_64 port to amd64, as this is the actual name used for
the processor family now. x86_64 is kept as the MACHINE_ARCH value,
since it's already widely used (by e.g. the toolchain, etc), and
by other operating systems.
 1.3.2.13 11-Dec-2005  christos Sync with head.
 1.3.2.12 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.2.11 01-Apr-2005  skrll Sync with HEAD.
 1.3.2.10 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.3.2.9 15-Feb-2005  skrll Sync with HEAD.
 1.3.2.8 04-Feb-2005  skrll Sync with HEAD.
 1.3.2.7 24-Jan-2005  skrll Sync with HEAD.
 1.3.2.6 29-Nov-2004  skrll Sync with HEAD.
 1.3.2.5 14-Nov-2004  skrll Sync with HEAD.
 1.3.2.4 02-Nov-2004  skrll Sync with HEAD.
 1.3.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.2.1 03-Aug-2004  skrll Sync with HEAD
 1.14.2.2 14-Sep-2004  jmc branches: 1.14.2.2.2;
Pullup rev 1.18 (requested by fvdl in ticket #845)

Remove some devices (sync with i386).
 1.14.2.1 14-Jul-2004  tron Pull up revision 1.16 (requested by fvdl in ticket #655):
Add re; Realtek GbE.
 1.14.2.2.2.2 21-Jul-2005  riz Pull up revision 1.31 (requested by itohy in ticket #1430):
Add ukyopon(4).
 1.14.2.2.2.1 02-Apr-2005  he Pull up revision 1.21 (requested by bouyer in ticket #1019):
Add pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) series of
controllers.
 1.21.4.1 29-Apr-2005  kent sync with -current
 1.23.2.3 26-Mar-2005  yamt sync with head.
 1.23.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.23.2.1 12-Feb-2005  yamt sync with head.
 1.27.2.18 27-May-2007  bouyer Pull up following revision(s) (requested by jnemeth in ticket #1778):
sys/arch/hpcarm/conf/IPAQ: revision 1.50
sys/arch/amd64/conf/GENERIC: revision 1.141
sys/arch/amd64/conf/INSTALL: revision 1.68
sys/arch/i386/conf/SWINGER: revision 1.90
PR/36234 - Joerg Niendorf -- xi -> xirc
 1.27.2.17 03-Mar-2007  bouyer Pull up following revision(s) (requested by tsutsui in ticket #1673):
distrib/sets/lists/man/mi 1.844, 1.871
share/man/man4/Makefile 1.372, 1.379 via patch
share/man/man4/re.4 1.8, 1.9, 1.11, 1.12
share/man/man4/rgephy.4 1.1
share/man/man4/rlphy.4 1.1, 1.2
sys/arch/amd64/conf/GENERIC 1.79, 1.89
sys/arch/amd64/conf/INSTALL 1.45, 1.49
sys/arch/i386/conf/GENERIC 1.717, 1.747
sys/arch/i386/conf/GENERIC_LAPTOP 1.164
sys/arch/i386/conf/INSTALL 1.277, 1.283
sys/arch/i386/conf/INSTALL_LAPTOP 1.96, 1.98
sys/arch/i386/conf/XEN2_DOM0 1.22 via patch
sys/arch/macppc/conf/GENERIC 1.220, 1.246
sys/arch/macppc/conf/INSTALL 1.96, 1.100
sys/dev/cardbus/if_re_cardbus.c 1.10
sys/dev/cardbus/if_rtk_cardbus.c 1.29-1.31
sys/dev/ic/rtl8169.c 1.14, 1.20, 1.24, 1.25, 1.28-1.61, 1.63, 1.64-1.81 via patch
sys/dev/ic/rtl81x9.c 1.52, 1.54-1.63, 1.65, 1.67-1.70
sys/dev/ic/rtl81x9reg.h 1.15-1.26
sys/dev/ic/rtl81x9var.h 1.19, 1.21-1.37
sys/dev/mii/files.mii 1.38
sys/dev/mii/miidevs 1.62, 1.64
sys/dev/mii/rgephy.c 1.10, 1.13-1.16
sys/dev/mii/rlphy.c 1.1, 1.6, 1.7, 1.11 via patch
sys/dev/pci/if_re_pci.c 1.13, 1.15-1.17, 1.19-1.23
sys/dev/pci/if_rtk_pci.c 1.25, 1.28, 1.29, 1.31
sys/dev/pci/pcidevs 1.851, 1.852

on re(4):
- improve stability (I believe ;-)
- add a workaround for hardware ip4csum-tx bug
- support newer chips (8169SB/SC, PCIe based 8168 etc.)
- fix 8139C+ support
- enable hardware VLAN
- misc bus_dma(9) fix (which makes re(4) work on mips ports)

on rtk(4):
- fix kern/31348
- fix possible panic on dreamcast
 1.27.2.16 04-Jan-2007  ghen Pull up following revision(s) (requested by tron in ticket #1615):
sys/arch/amd64/conf/INSTALL: revision 1.63 via patch
sys/arch/i386/conf/INSTALL_LAPTOP: revision 1.113 via patch
Disable ppp(4) because pppd(8) isn't on the installation image anyway.
 1.27.2.15 23-Dec-2006  ghen Pull up following revision(s) (requested by bouyer in ticket #1609):
sys/arch/i386/conf/INSTALL: revision 1.298
sys/arch/i386/conf/GENERIC: revision 1.802
sys/dev/pci/files.pci: revision 1.274
sys/arch/amd64/conf/GENERIC: revision 1.122
sys/dev/pci/mfi_pci.c: revision 1.1 via patch
distrib/sets/lists/man/mi: revision 1.958
sys/arch/amd64/conf/INSTALL: revision 1.61
sys/dev/ic/mfireg.h: revision 1.1
share/man/man4/Makefile: revision 1.416 via patch
sys/dev/ic/mfi.c: revision 1.1
sys/arch/i386/conf/XEN2_DOM0: revision 1.19
sys/dev/ic/mfivar.h: revision 1.1
sys/conf/files: revision 1.821
share/man/man4/mfi.4: revision 1.1
share/man/man4/mfi.4: revision 1.2
sys/dev/pci/pcidevs via patch
Add mfi(4), a driver for LSI Logic & Dell MegaRAID SAS RAID controller.
Ported from OpenBSD, tested on i386 and amd64.
Punctuation issues.
 1.27.2.14 23-Dec-2006  ghen Pull up following revision(s) (requested by bouyer in ticket #1608):
sys/arch/i386/conf/INSTALL: revision 1.299 via patch
sys/arch/i386/conf/XEN2_DOM0: revision 1.20 via patch
sys/arch/i386/conf/GENERIC: revision 1.803 via patch
sys/dev/pci/files.pci: revision 1.275 via patch
sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.218 via patch
sys/arch/amd64/conf/GENERIC: revision 1.123 via patch
sys/dev/pci/if_bnx.c: revision 1.1 via patch
share/man/man4/bnx.4: revision 1.1-1.2 via patch
distrib/sets/lists/man/mi: revision 1.959 via patch
sys/arch/amd64/conf/INSTALL: revision 1.62 via patch
sys/dev/microcode/bnx/bnxfw.h: revision 1.1-1.2 via patch
sys/dev/pci/if_bnxreg.h: revision 1.1 via patch
share/man/man4/Makefile: revision 1.417 via patch
sys/arch/i386/conf/INSTALL_LAPTOP: revision 1.112 via patch
Add bnx(4), a driver for Broadcom NetXtreme II 10/100/1000 Ethernet device.
Ported from OpenBSD by cube@, with some bus_dma fixes by me.
Tested on i386 and amd64.
Add a NetBSD RCS tag.
Nx -> Ox; remove trailing whitespace.
 1.27.2.13 31-Jul-2006  tron branches: 1.27.2.13.2;
Apply patch (requested by bouyer in ticket #1441):
Pullup the twa(4) driver for the 3ware Apache RAID controllers.
Matching revisions in current:
share/man/man4/twa.4 1.1
sys/dev/pci/ld_twa.c 1.2
sys/dev/pci/twa.c 1.9
sys/dev/pci/twaio.h 1.3
sys/dev/pci/twareg.h 1.5
sys/dev/pci/twavar.h 1.5
 1.27.2.12 04-May-2006  tron Pull up following revision(s) (requested by jonathan in ticket #1298):
sys/arch/amd64/conf/INSTALL: revision 1.53
sys/arch/amd64/conf/GENERIC: revision 1.94
Add entries for svwsata(4) to amd64 GENERIC and INSTALL kernels,
to support SATA ports on Serverworks HT-1000 (aka bcm5785) chips.
 1.27.2.11 20-Apr-2006  tron Pull up following revision(s) (requested by martti in ticket #1258):
sys/arch/i386/conf/INSTALL: revision 1.284
sys/arch/i386/conf/GENERIC: revision 1.741
sys/arch/amd64/conf/GENERIC: revision 1.91
sys/arch/i386/conf/INSTALL_SMALL: revision 1.125
sys/arch/amd64/conf/INSTALL: revision 1.50
sys/arch/i386/conf/INSTALL_TINY: revision 1.102
Added ciss(4). Tested by Joseph Dacuma on HP DL-380 G3 with Smart Array 5i.
 1.27.2.10 20-Apr-2006  snj Pull up following revision(s) (requested by tron in ticket #1266):
sys/arch/amd64/conf/GENERIC: revision 1.88
sys/arch/i386/conf/INSTALL: revision 1.282
sys/arch/amd64/conf/INSTALL: revision 1.48
sys/arch/i386/conf/XEN0: revision 1.35
sys/arch/i386/conf/GENERIC: revision 1.733
add nfe.
 1.27.2.9 28-Nov-2005  riz branches: 1.27.2.9.2;
Pull up following revision(s) (requested by tron in ticket #1013):
sys/arch/amd64/conf/INSTALL: revision 1.42
Compile with -fno-asynchronous-unwind-tables so that gcc doesn't generate
the .eh_frame data area that can be used to aid thr generation of stack
traceback - at a cost of a load of bloat!
Reinstate the isp driver.
Remove the unlikely-to-be-needed esh, lmc and ntwoc.
 1.27.2.8 28-Nov-2005  riz Pull up following revision(s) (requested by tron in ticket #1013):
sys/arch/amd64/conf/INSTALL: revision 1.41
We don't need 'le' here, I'm not sure amd64 GENERIC deserves it either.
 1.27.2.7 22-Nov-2005  riz Pull up following revision(s) (requested by tron in ticket #987):
sys/arch/amd64/conf/INSTALL: revision 1.33
Remove 'isp' driver (support for Qlogic ISP [12]0x0 SCSI/FibreChannel).
Compensates for the recent bloat of the ath driver and 802.11 support.
 1.27.2.6 21-Nov-2005  tron Pull up following revision(s) (requested by dsl in ticket #978):
sys/arch/amd64/conf/INSTALL: revision 1.40
Add sk ethernet as found on ASUS A8V.
Increase ramdisk to 5MB, costs virtually nothing.
 1.27.2.5 18-Jul-2005  riz Pull up revision 1.35 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.27.2.4 05-Jul-2005  tron Pull up revision 1.34 (requested by martti in ticket #546):
Added support for amr. Tested by Joseph A. Dacuma with Dell PowerEdge 2800.
 1.27.2.3 07-May-2005  riz Pull up revision 1.30 (requested by tron in ticket #131):
Comment out options for PPP compression and active filtering. They are not
necessary in an installation kernel but increase the size considerably.
This fixes PR port-amd64/29928.
 1.27.2.2 17-Apr-2005  tron Pull up revision 1.31 (requested by itohy in ticket #160):
Add ukyopon(4).
 1.27.2.1 09-Apr-2005  tron Pull up revision 1.29 (requested by dsl in ticket #129):
Comment out some wscons(4) options which are only required to run a
X11 server.
 1.27.2.13.2.1 27-May-2007  bouyer Pull up following revision(s) (requested by jnemeth in ticket #1778):
sys/arch/hpcarm/conf/IPAQ: revision 1.50
sys/arch/amd64/conf/GENERIC: revision 1.141
sys/arch/amd64/conf/INSTALL: revision 1.68
sys/arch/i386/conf/SWINGER: revision 1.90
PR/36234 - Joerg Niendorf -- xi -> xirc
 1.27.2.9.2.1 27-May-2007  bouyer Pull up following revision(s) (requested by jnemeth in ticket #1778):
sys/arch/hpcarm/conf/IPAQ: revision 1.50
sys/arch/amd64/conf/GENERIC: revision 1.141
sys/arch/amd64/conf/INSTALL: revision 1.68
sys/arch/i386/conf/SWINGER: revision 1.90
PR/36234 - Joerg Niendorf -- xi -> xirc
 1.34.2.7 21-Jan-2008  yamt sync with head
 1.34.2.6 07-Dec-2007  yamt sync with head
 1.34.2.5 27-Oct-2007  yamt sync with head.
 1.34.2.4 03-Sep-2007  yamt sync with head.
 1.34.2.3 26-Feb-2007  yamt sync with head.
 1.34.2.2 30-Dec-2006  yamt sync with head.
 1.34.2.1 21-Jun-2006  yamt sync with head.
 1.40.6.1 29-Nov-2005  yamt sync with head.
 1.44.2.2 18-Feb-2006  yamt sync with head.
 1.44.2.1 15-Jan-2006  yamt sync with head.
 1.45.4.2 01-Jun-2006  kardel Sync with head.
 1.45.4.1 22-Apr-2006  simonb Sync with head.
 1.45.2.1 09-Sep-2006  rpaulo sync with head
 1.47.4.2 11-May-2006  elad sync with head
 1.47.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.47.2.6 14-Sep-2006  yamt sync with head.
 1.47.2.5 03-Sep-2006  yamt sync with head.
 1.47.2.4 11-Aug-2006  yamt sync with head
 1.47.2.3 24-May-2006  yamt sync with head.
 1.47.2.2 01-Apr-2006  yamt sync with head.
 1.47.2.1 13-Mar-2006  yamt sync with head.
 1.48.2.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.48.2.1 28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.54.2.1 15-Sep-2006  tron Pull up following revision(s) (requested by riz in ticket #153):
sys/arch/amd64/conf/INSTALL: revision 1.56
sys/arch/amd64/conf/GENERIC: revision 1.107
sys/arch/i386/conf/XEN2_DOM0: revision 1.7
sys/arch/i386/conf/INSTALL: revision 1.289
sys/arch/i386/conf/GENERIC: revision 1.780
Add msk and mskc.
 1.55.2.4 09-Feb-2007  ad Sync with HEAD.
 1.55.2.3 01-Feb-2007  ad Sync with head.
 1.55.2.2 12-Jan-2007  ad Sync with head.
 1.55.2.1 18-Nov-2006  ad Sync with head.
 1.56.2.3 18-Dec-2006  yamt sync with head.
 1.56.2.2 10-Dec-2006  yamt sync with head.
 1.56.2.1 22-Oct-2006  yamt sync with head
 1.60.2.10 11-Jan-2008  xtraeme Pull up following revision(s) (requested by christos in ticket #1037):
sys/dev/pci/arcmsr.c: patch
sys/dev/pci/arcmsrvar.h: patch
sys/dev/pci/pcidevs: patch
sys/dev/pci/files.pci: patch
sys/arch/i386/conf/GENERIC: patch
sys/arch/i386/conf/XEN2_DOM0: patch
sys/arch/i386/conf/INSTALL_LARGE: patch
sys/arch/amd64/conf/GENERIC: patch
sys/arch/amd64/conf/INSTALL: patch
share/man/man4/Makefile: patch
share/man/man4/arcmsr.4: patch
distrib/sets/lists/man/mi: patch

Add the Areca Technology Corporation SATA RAID controller driver, ported
from OpenBSD.
 1.60.2.9 26-Nov-2007  xtraeme Pull up following revision(s) (requested by jnemeth in ticket #996):
sys/arch/amd64/conf/INSTALL: revision 1.74
PR/37404 - Rui-Xiang Guo -- sync phy list with GENERIC
 1.60.2.8 25-Nov-2007  xtraeme Pull up following revision(s) (requested by briggs in ticket #990):
sys/dev/ic/aac_tables.h: revision 1.5 (patch)
sys/dev/ic/aac.c: revision 1.31 (patch)
sys/dev/ic/aac.c: revision 1.32 (patch)
sys/dev/ic/aac.c: revision 1.33 (patch)
sys/dev/ic/aac.c: revision 1.34 (patch)
sys/arch/amd64/conf/INSTALL: revision 1.70 (patch)
sys/dev/ic/aac.c: revision 1.37 (patch)
sys/dev/ic/aacreg.h: revision 1.6 (patch)
sys/dev/ic/aacreg.h: revision 1.7 (patch)
sys/dev/ic/aacreg.h: revision 1.8 (patch)
sys/dev/ic/aacreg.h: revision 1.9 (patch)
sys/dev/pci/aac_pci.c: revision 1.21 (patch)
sys/dev/ic/aacvar.h: revision 1.10 (patch)
sys/dev/ic/aacvar.h: revision 1.9 (patch)
sys/arch/amd64/conf/GENERIC: revision 1.144 (patch)
sys/dev/ic/ld_aac.c: revision 1.14 (patch)
sys/dev/ic/ld_aac.c: revision 1.15 (patch)
Compile and run on amd64 and on >2GB RAM.
 1.60.2.7 31-Aug-2007  pavel Pull up following revision(s) (requested by bouyer in ticket #678):
distrib/sets/lists/man/mi: revision 1.1001
doc/CHANGES: revision 1.853 via patch
share/man/man4/Makefile: revision 1.428
share/man/man4/jmide.4: revision 1.1
sys/arch/amd64/conf/GENERIC: revision 1.143
sys/arch/amd64/conf/INSTALL: revision 1.69
sys/arch/i386/conf/GENERIC: revision 1.827
sys/arch/i386/conf/INSTALL_LARGE: revision 1.2 via patch
sys/arch/i386/conf/XEN2_DOM0: revision 1.26
sys/conf/files: revision 1.844 via patch
sys/dev/ic/ahcisata_core.c: revision 1.1 via patch
sys/dev/ic/ahcisata_core.c: revision 1.3
sys/dev/ic/ahcisatareg.h: revision 1.1
sys/dev/ic/ahcisatavar.h: revision 1.1
sys/dev/pci/ahcisata.c: delete
sys/dev/pci/ahcisatareg.h: delete
sys/dev/pci/ahcisata_pci.c: revision 1.1
sys/dev/pci/files.pci: revision 1.287-1.288
sys/dev/pci/jmide.c: revision 1.1-1.2
sys/dev/pci/jmide_reg.h: revision 1.1
sys/dev/pci/pcidevs: revision 1.878
Add JMicron Technology vendor ID, and their current PCIe SATA/PATA
controllers.

Split the ahcisata driver in pci front-end and bus-independant back-end.
add jmide(4), a driver for the JMicron Technology JMB36x PCIe to SATA II/PATA
controllers. These controllers can be found on add-on PCIe cards, or
on some motherboards to provide the PATA connectivity (e.g. some intel
ICH8-based motherboards).
Thanks to JMicron Technology for providing me documentation and
different sample boards for this work.

Move mapping of AHCI register so that jmide knows if it fails, and avoids
calling ahci_intr() (which would cause a panic).
Try to use the pciide function for SATA drives if attaching ahci fails (this
doesn't seems to work though, it may be BIOS dependant).
Thanks to Gary Duzan for testing multiple pacthes.

We're not ready to handle ATAPI yet so just claim there's no drive to the
upper layer. This should work around a NULL pointer dereference when
an ATAPI device is detected on a AHCI device.
 1.60.2.6 12-May-2007  pavel branches: 1.60.2.6.2;
Pull up following revision(s) (requested by jnemeth in ticket #639):
sys/arch/hpcarm/conf/IPAQ: revision 1.50
sys/arch/amd64/conf/GENERIC: revision 1.141
sys/arch/amd64/conf/INSTALL: revision 1.68
sys/arch/i386/conf/SWINGER: revision 1.90
sys/arch/hpcarm/conf/JORNADA820: revision 1.8
PR/36234 - Joerg Niendorf -- xi -> xirc
 1.60.2.5 09-Mar-2007  riz Pull up following revision(s) (requested by bouyer in ticket #494):
sys/arch/i386/conf/GENERIC.MP: revision 1.9
distrib/pc532/cdroms/installcd/Makefile: revision 1.1
distrib/macppc/Makefile: revision 1.15
distrib/ofppc/Makefile: revision 1.2
distrib/ibmnws/Makefile: revision 1.2
distrib/acorn32/Makefile: revision 1.18
distrib/x68k/cdroms/installcd/Makefile: revision 1.1
distrib/sparc/Makefile: revision 1.7
distrib/sparc64/cdroms/Makefile: revision 1.1
distrib/hp300/cdroms/Makefile: revision 1.1
distrib/hpcsh/Makefile: revision 1.6
distrib/ofppc/cdroms/installcd/Makefile: revision 1.1
distrib/playstation2/Makefile: revision 1.13
distrib/news68k/cdroms/installcd/Makefile: revision 1.1
distrib/amiga/cdroms/installcd/Makefile: revision 1.1
distrib/hp700/cdroms/installcd/Makefile: revision 1.1
distrib/playstation2/cdroms/Makefile: revision 1.1
distrib/amiga/cdroms/Makefile: revision 1.1
etc/etc.mac68k/Makefile.inc: revision 1.18
distrib/shark/cdroms/installcd/Makefile: revision 1.1
distrib/hpcmips/Makefile: revision 1.28
distrib/hpcmips/cdroms/Makefile: revision 1.1
distrib/amd64/floppies/Makefile: revision 1.3
sys/arch/amd64/conf/INSTALL_ACPI: file removal
distrib/i386/cdroms/Makefile: revision 1.4
distrib/acorn26/cdroms/installcd/Makefile: revision 1.1
distrib/hpcsh/cdroms/Makefile: revision 1.1
distrib/prep/cdroms/Makefile: revision 1.1
distrib/pc532/Makefile: revision 1.4
distrib/acorn32/cdroms/installcd/Makefile: revision 1.1
distrib/sun2/Makefile: revision 1.8
distrib/vax/Makefile: revision 1.17
distrib/sparc64/cdroms/installcd/Makefile: revision 1.1
distrib/pmax/cdroms/Makefile: revision 1.1
distrib/mipsco/cdroms/installcd/Makefile: revision 1.1
distrib/sun3/cdroms/installcd/Makefile: revision 1.1
distrib/vax/cdroms/installcd/Makefile: revision 1.1
distrib/hpcarm/cdroms/installcd/Makefile: revision 1.1
distrib/mvme68k/Makefile: revision 1.4
distrib/mvmeppc/cdroms/Makefile: revision 1.1
distrib/newsmips/Makefile: revision 1.4
sys/arch/i386/conf/GENERIC.MPACPI: file removal
distrib/hpcarm/cdroms/Makefile: revision 1.1
distrib/evbppc/cdroms/Makefile: revision 1.1
sys/arch/i386/conf/INSTALL_LARGE: revision 1.1
distrib/i386/cdroms/installcd/Makefile: revision 1.2
distrib/i386/cdroms/installcd/Makefile: revision 1.3
doc/CHANGES: revision 1.804
distrib/hpcsh/cdroms/installcd/Makefile: revision 1.1
distrib/i386/cdroms/bootcd/Makefile: revision 1.2
distrib/mvmeppc/cdroms/installcd/Makefile: revision 1.1
distrib/i386/cdroms/bootcd/Makefile: revision 1.3
distrib/evbarm/Makefile: revision 1.8
distrib/mvmeppc/Makefile: revision 1.3
distrib/i386/cdroms/bootcd-com/Makefile: revision 1.2
distrib/i386/cdroms/bootcd-com/Makefile: revision 1.3
distrib/macppc/cdroms/installcd/Makefile: revision 1.1
distrib/acorn26/cdroms/Makefile: revision 1.1
distrib/alpha/cdroms/Makefile: revision 1.1
distrib/hp300/cdroms/installcd/Makefile: revision 1.1
distrib/amd64/floppies/bootfloppy/Makefile: revision 1.4
distrib/pmppc/cdroms/installcd/Makefile: revision 1.1
distrib/hp700/Makefile: revision 1.2
distrib/pmppc/Makefile: revision 1.2
distrib/arc/cdroms/Makefile: revision 1.1
sys/arch/amd64/conf/INSTALL: revision 1.66
distrib/sun3/cdroms/Makefile: revision 1.1
distrib/mipsco/Makefile: revision 1.4
distrib/sun3/Makefile: revision 1.9
distrib/vax/cdroms/Makefile: revision 1.1
distrib/pmppc/cdroms/Makefile: revision 1.1
distrib/amd64/cdroms/Makefile.cdrom: revision 1.1
distrib/atari/cdroms/installcd/Makefile: revision 1.1
distrib/evbppc/cdroms/installcd/Makefile: revision 1.1
distrib/newsmips/cdroms/installcd/Makefile: revision 1.1
distrib/pmax/Makefile: revision 1.4
Makefile: revision 1.247
distrib/cats/cdroms/installcd/Makefile: revision 1.1
sys/arch/amd64/conf/GENERIC: revision 1.130
sys/arch/amd64/conf/GENERIC: revision 1.131
distrib/sgimips/cdroms/installcd/Makefile: revision 1.1
distrib/hp700/cdroms/Makefile: revision 1.1
distrib/cats/cdroms/Makefile: revision 1.1
distrib/evbmips/Makefile: revision 1.3
distrib/evbmips/Makefile: revision 1.4
sys/arch/amd64/conf/GENERIC_ACPI: file removal
distrib/ews4800mips/Makefile: revision 1.2
distrib/amd64/cdroms/bootcd-com/Makefile: revision 1.2
distrib/i386/Makefile: revision 1.5
distrib/amd64/cdroms/installcd/Makefile: revision 1.2
distrib/mvme68k/cdroms/installcd/Makefile: revision 1.1
distrib/alpha/cdroms/installcd/Makefile: revision 1.1
etc/etc.amd64/Makefile.inc: revision 1.7
distrib/i386/instkernel/Makefile: revision 1.6
distrib/x68k/cdroms/Makefile: revision 1.1
distrib/i386/cdroms/Makefile.cdrom: revision 1.1
distrib/sandpoint/Makefile: revision 1.4
distrib/i386/cdroms/Makefile.cdrom: revision 1.2
distrib/amiga/Makefile: revision 1.3
distrib/amd64/cdroms/bootcd/Makefile: revision 1.2
distrib/news68k/Makefile: revision 1.4
distrib/amd64/floppies/bootfloppy-com/Makefile: revision 1.5
distrib/news68k/cdroms/Makefile: revision 1.1
distrib/sparc/cdroms/Makefile: revision 1.1
distrib/shark/cdroms/Makefile: revision 1.1
etc/Makefile: revision 1.341
distrib/amd64/instkernel/Makefile: revision 1.2
distrib/sparc64/Makefile: revision 1.7
distrib/dreamcast/cdroms/Makefile: revision 1.1
distrib/shark/Makefile: revision 1.3
distrib/ews4800mips/cdroms/Makefile: revision 1.1
distrib/sun2/cdroms/installcd/Makefile: revision 1.1
distrib/shark/Makefile: revision 1.4
distrib/macppc/cdroms/Makefile: revision 1.1
distrib/mvme68k/cdroms/Makefile: revision 1.1
distrib/sun2/cdroms/Makefile: revision 1.1
distrib/hpcarm/Makefile: revision 1.3
distrib/arc/cdroms/installcd/Makefile: revision 1.1
distrib/hpcmips/cdroms/installcd/Makefile: revision 1.1
distrib/mipsco/cdroms/Makefile: revision 1.1
distrib/Makefile.inc: revision 1.9
distrib/playstation2/cdroms/installcd/Makefile: revision 1.1
distrib/ibmnws/cdroms/installcd/Makefile: revision 1.1
distrib/newsmips/cdroms/Makefile: revision 1.1
distrib/arc/Makefile: revision 1.3
distrib/sparc/cdroms/installcd/Makefile: revision 1.1
distrib/evbmips/cdroms/installcd/Makefile: revision 1.1
distrib/ews4800mips/cdroms/installcd/Makefile: revision 1.1
distrib/prep/Makefile: revision 1.3
distrib/ibmnws/cdroms/Makefile: revision 1.1
distrib/sandpoint/cdroms/Makefile: revision 1.1
distrib/atari/Makefile: revision 1.6
distrib/sgimips/cdroms/Makefile: revision 1.1
distrib/amd64/Makefile: revision 1.4
distrib/atari/cdroms/Makefile: revision 1.1
distrib/x68k/Makefile: revision 1.5
distrib/x68k/Makefile: revision 1.6
distrib/sandpoint/cdroms/installcd/Makefile: revision 1.1
distrib/evbarm/cdroms/Makefile: revision 1.1
distrib/acorn32/cdroms/Makefile: revision 1.1
distrib/cats/Makefile: revision 1.3
distrib/evbmips/cdroms/Makefile: revision 1.1
distrib/pc532/cdroms/Makefile: revision 1.1
distrib/Makefile: revision 1.14
distrib/evbarm/cdroms/installcd/Makefile: revision 1.1
distrib/ofppc/cdroms/Makefile: revision 1.1
distrib/amd64/cdroms/Makefile: revision 1.3
distrib/common/Makefile.bootcd: revision 1.8
distrib/i386/cdroms/bootcd-laptop/Makefile: file removal
sys/arch/i386/conf/GENERIC: revision 1.813
distrib/hp300/Makefile: revision 1.17
sys/arch/i386/conf/GENERIC: revision 1.814
distrib/evbppc/Makefile: revision 1.2
distrib/pmax/cdroms/installcd/Makefile: revision 1.1
etc/etc.i386/Makefile.inc: revision 1.49
distrib/sgimips/Makefile: revision 1.2
distrib/prep/cdroms/installcd/Makefile: revision 1.1
distrib/acorn26/Makefile: revision 1.4
distrib/dreamcast/cdroms/installcd/Makefile: revision 1.1
distrib/alpha/Makefile: revision 1.22
distrib/dreamcast/Makefile: revision 1.2
Improve the use of makefs to build boot CDs, and make it truely MI:
- allow to specify the "instkernel" directory, and allow to put multiple
kernels on the image
- allow to specify the directory where the image will be created
- only use bootxx_cd9660 if it exists
- search for second-stage boot as usr/mdec/boot.${MACHINE} in addition to
usr/mdec/boot
- make 'installboot -e' optional
- use target 'release' or 'iso_image' depending on ${CDRELEASE}
- call some MD targets, which will eventually complete the file list or
make the image bootable
For the benefit of modern hardware, enable ACPI by default in INSTALL and
GENERIC kernels. If ACPI is an issue on your hardware, 'boot -c' and
'disable acpi' should be a workaround. ACPI-enabled kernels works fine
on pre-acpi hardware.
for amd64:
- add ACPI to INSTALL and GENERIC, remove the *_ACPI config files.
- get rid of the bootfloppy-big.fs boot image, and got to a 3-floppy boot
image
for i386:
- introduce INSTALL_LARGE which has ACPI and some devices with big firmware
- move some devices from INSTALL to INSTALL_LARGE
- Boot floppies still use INSTALL, and bootfloppy-big.fs is still there
(for thoses who want to build el-torito floppy emulation boot CD) and use
INSTALL.
For both, drop the 'iso-image' code in etc/ to make the iso bootable, we'll
use something else to build bootable CDs.
Add an iso_image target (iso-image as a target name doesn't play well with
bsd.subdirs.mk) in distrib/makefile, which builds an iso image for $MACHINE
with binary sets, stored in ${RELEASEDIR}/iso. The image is bootable for:
alpha, amd64, cats, i386, pmax, sgimips, sparc, sparc64, sun3, vax.
mac68k/macppc no there yet because of missing feature in makefs.
call iso_image in distrib/ for iso-image in the top Makefile.
Use the new common/Makefile.bootcd to make i386 and amd64 bootable ISO
images. amd64 gets a single kernel; i386 images gets 3 kernels:
- netbsd, copy from netbsd-INSTALL_LARGE.gz, loaded by default
- nbsd-l, copy from netbsd-INSTALL_LAPTOP.gz
- nbsd-i, copy from netbsd-INSTALL.gz for those who want the traditionnal
non-ACPI kernel
- drop the bootcd-laptop image
both gets an installcd image, which is the same as bootcd but with the
binary sets in addition to kernels.
Make iso-image do nothing for all but mac68k, which still
relies on mkisofs to create bootable ISO image. macppc should also be there,
but it seems the code to make an iso bootable never got added in etc.macppc/
Fix typo in subdir name.
Revert local changes that went in accidentally with the "add ACPI" commit.
Note ACPI by default in i386/amd64, and the iso-image changes.
Fix SUBDIR in previous
Remove duplicate ACPIVERBOSE and ACPI_SCANPCI; pointed out by Nicolas Joly.
Correct typo: the directory is named cdroms, not cdrom.
Use nblaptop and nbnoacpi for the alternative kernel names; as suggected by
Alan Barrett. While there factor out the kernels in Makefile.cdrom.
 1.60.2.4 08-Feb-2007  bouyer Pull up following revision(s) (requested by tron in ticket #405):
distrib/amd64/ramdisks/ramdisk/list: revision 1.2
sys/arch/amd64/conf/INSTALL: revision 1.64 - 1.65
Uncomment pseudo-device raid and options RAID_AUTOCONFIG, to match
i386's INSTALL. Suggested by Florence HENRY on port-amd64@
Sync with i386: add sbin/raidctl to amd64's install ramdisk.
Disable wsmouse(4) and all the related low-level drivers The installer
ramdisk doesn't support using the mouse anyway.
Idea provided by Blair Sadewitz in private e-mail.
 1.60.2.3 04-Jan-2007  bouyer Pull up following revision(s) (requested by tron in ticket #331):
sys/arch/amd64/conf/INSTALL: revision 1.63
sys/arch/i386/conf/INSTALL_LAPTOP: revision 1.113
Disable ppp(4) because pppd(8) isn't on the installation image anyway.
 1.60.2.2 21-Dec-2006  tron Pull up following revision(s) (requested by bouyer in ticket #287):
sys/arch/i386/conf/INSTALL: revision 1.299
sys/arch/i386/conf/XEN2_DOM0: revision 1.20
sys/arch/i386/conf/GENERIC: revision 1.803
sys/dev/pci/files.pci: revision 1.275
sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.218
sys/arch/amd64/conf/GENERIC: revision 1.123
sys/dev/pci/if_bnx.c: revision 1.1
share/man/man4/bnx.4: revision 1.1
distrib/sets/lists/man/mi: revision 1.959
sys/arch/amd64/conf/INSTALL: revision 1.62
sys/dev/microcode/bnx/bnxfw.h: revision 1.1
sys/arch/i386/conf/ALL: revision 1.76
sys/dev/pci/if_bnxreg.h: revision 1.1
share/man/man4/Makefile: revision 1.417
sys/arch/i386/conf/INSTALL_LAPTOP: revision 1.112
Add bnx(4), a driver for Broadcom NetXtreme II 10/100/1000 Ethernet device.
Ported from OpenBSD by cube@, with some bus_dma fixes by me.
Tested on i386 and amd64.
 1.60.2.1 21-Dec-2006  tron Pull up following revision(s) (requested by bouyer in ticket #286):
sys/arch/i386/conf/INSTALL: revision 1.298
sys/arch/i386/conf/GENERIC: revision 1.802
sys/dev/pci/files.pci: revision 1.274
sys/arch/amd64/conf/GENERIC: revision 1.122
sys/dev/pci/mfi_pci.c: revision 1.1
distrib/sets/lists/man/mi: revision 1.958
sys/arch/amd64/conf/INSTALL: revision 1.61
sys/arch/i386/conf/ALL: revision 1.75
sys/dev/ic/mfireg.h: revision 1.1
share/man/man4/Makefile: revision 1.416
sys/dev/ic/mfi.c: revision 1.1
sys/arch/i386/conf/XEN2_DOM0: revision 1.19
sys/dev/ic/mfivar.h: revision 1.1
sys/conf/files: revision 1.821
share/man/man4/mfi.4: revision 1.1
Add mfi(4), a driver for LSI Logic & Dell MegaRAID SAS RAID controller.
Ported from OpenBSD, tested on i386 and amd64.
 1.60.2.6.2.3 03-Jun-2008  skrll Sync with netbsd-4.
 1.60.2.6.2.2 06-Jan-2008  wrstuden Catch up to netbsd-4.0 release.
 1.60.2.6.2.1 03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.65.2.3 17-May-2007  yamt sync with head.
 1.65.2.2 24-Mar-2007  yamt sync with head.
 1.65.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.66.4.1 11-Jul-2007  mjf Sync with head.
 1.66.2.5 03-Dec-2007  ad Sync with HEAD.
 1.66.2.4 09-Oct-2007  ad Sync with head.
 1.66.2.3 15-Jul-2007  ad Sync with head.
 1.66.2.2 27-May-2007  ad Sync with head.
 1.66.2.1 10-Apr-2007  ad Sync with head.
 1.67.6.3 03-Oct-2007  garbled Sync with HEAD
 1.67.6.2 26-Jun-2007  garbled Sync with HEAD.
 1.67.6.1 22-May-2007  matt Update to HEAD.
 1.71.10.2 09-Jan-2008  matt sync with HEAD
 1.71.10.1 06-Nov-2007  matt sync with HEAD
 1.71.8.3 09-Dec-2007  jmcneill Sync with HEAD.
 1.71.8.2 21-Nov-2007  joerg Sync with HEAD.
 1.71.8.1 02-Oct-2007  joerg Sync with HEAD.
 1.71.4.1 10-Sep-2007  skrll Sync with HEAD.
 1.72.4.1 21-Nov-2007  bouyer Sync with HEAD
 1.73.2.3 18-Feb-2008  mjf Sync with HEAD.
 1.73.2.2 27-Dec-2007  mjf Sync with HEAD.
 1.73.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.74.2.1 08-Dec-2007  ad Sync with head.
 1.76.4.1 02-Jan-2008  bouyer Sync with HEAD
 1.78.8.1 18-May-2008  yamt sync with head.
 1.78.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.79.2.3 19-Aug-2009  yamt sync with head.
 1.79.2.2 04-May-2009  yamt sync with head.
 1.79.2.1 16-May-2008  yamt sync with head.
 1.80.8.1 03-Mar-2009  skrll Sync with HEAD.
 1.81.2.4 27-Aug-2011  jym Sync with HEAD. Most notably: uvm/pmap work done by rmind@, and MP Xen
work of cherry@.

No regression observed on suspend/restore.
 1.81.2.3 29-Mar-2011  jym More sync fixes. And add the mbr_gpt files.
 1.81.2.2 28-Mar-2011  jym Sync with HEAD. TODO before merge:
- shortcut for suspend code in sysmon, when powerd(8) is not running.
Borrow ``xs_watch'' thread context?
- bug hunting in xbd + xennet resume. Rings are currently thrashed upon
resume, so current implementation force flush them on suspend. It's not
really needed.
 1.81.2.1 01-Nov-2009  jym Sync with HEAD.
 1.82.8.1 17-Feb-2011  bouyer Sync with HEAD
 1.82.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.82.4.2 31-May-2011  rmind sync with head
 1.82.4.1 05-Mar-2011  rmind sync with head
 1.87.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.87.2.1 17-Apr-2012  yamt sync with head
 1.88.8.2 03-Dec-2017  jdolecek update from HEAD
 1.88.8.1 23-Jun-2013  tls resync from head
 1.89.8.2 18-Mar-2015  snj Apply patch (requested by christos in ticket #542):
- Enable intel and radeon DRM/KMS drivers in GENERIC
- Disable all of the old DRM drivers in GENERIC
- Remove the separate DRMKMS kernel
 1.89.8.1 23-Jan-2015  martin Remove "no i915drm*" now that the declaration is gone from GENERIC.
Requested by snj in ticket #438.
 1.90.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.90.2.1 05-Feb-2017  skrll Sync with HEAD
 1.91.8.1 07-Jan-2018  snj Pull up following revision(s) (requested by rin in ticket #467):
sys/arch/amd64/conf/INSTALL: 1.92
sys/arch/i386/conf/INSTALL: 1.332-1.333
install/52845: Enable vga@isa and pcdisplay for INSTALL. Otherwise, install
media do not boot on pre-PCI machines.
--
Disable nouveau for INSTALL as in a similar manner to other DRMKMS drivers.
--
 1.92.4.1 10-Jun-2019  christos Sync with HEAD
 1.32 06-Mar-2007  bouyer For the benefit of modern hardware, enable ACPI by default in INSTALL and
GENERIC kernels. If ACPI is an issue on your hardware, 'boot -c' and
'disable acpi' should be a workaround. ACPI-enabled kernels works fine
on pre-acpi hardware.
for amd64:
- add ACPI to INSTALL and GENERIC, remove the *_ACPI config files.
- get rid of the bootfloppy-big.fs boot image, and got to a 3-floppy boot
image
for i386:
- introduce INSTALL_LARGE which has ACPI and some devices with big firmware
- move some devices from INSTALL to INSTALL_LARGE
- Boot floppies still use INSTALL, and bootfloppy-big.fs is still there
(for thoses who want to build el-torito floppy emulation boot CD) and use
INSTALL.
For both, drop the 'iso-image' code in etc/ to make the iso bootable, we'll
use something else to build bootable CDs.
 1.31 04-Jul-2006  christos branches: 1.31.8; 1.31.10;
Apply fvdl's acpi pci interrupt configuration code.
- MPACPI is no more.
- MPACPI_SCANPCI -> ACPI_SCANPCI
 1.30 11-Dec-2005  christos branches: 1.30.4; 1.30.8; 1.30.16;
merge ktrace-lwp.
 1.29 10-Oct-2005  dsl include "INSTALL" then modify it - so we get the same device
 1.28 09-Sep-2005  drochner remove "dev" locators from cardbus device definitions, it doesn't
make sense technically and might be removed
 1.27 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.26 05-Aug-2005  skrll Add (commented out) ucycom to various kernel configs.
 1.25 12-Jul-2005  sekiya Add config goo for ath. Tested with a PCI card, detected as:

ath0 at pci0 dev 10 function 0
ath0: interrupting at ioapic0 pin 17 (irq 5)
ath0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
ath0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
ath0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36M bps 48Mbps 54Mbps
ath0: mac 5.9 phy 4.3 radio 3.6

Cardbus untested, so it is commented out.
 1.24 07-Jul-2005  tron Add (commented out) IPSEC_NAT_T option.
 1.23 09-Jun-2005  tsutsui branches: 1.23.2;
- Rename options NEW_BUFQ_STRATEGY -> options BUFQ_READPRIO.
(still commented out)
- Add (also commented out) options BUFQ_PRIOCSCAN.

Suggested by perry and soda on tech-kern.
Please refer options(4) for details for these options.
 1.22 15-Apr-2005  itohy Add ukyopon(4).
 1.21 10-Apr-2005  tron Comment out options for PPP compression and active filtering. They are not
necessary in an installation kernel but increase the size considerably.
This fixes PR port-amd64/29928.
 1.20 09-Apr-2005  tron Comment out some wscons(4) options which are only required to run a
X11 server.
 1.19 25-Mar-2005  cube Add attimer(4) configurations everywhere pcppi(4) exists, with the
following rule:
If a pcppi device is enabled for an attachment, enable an attimer for the
same attachement, otherwise comment it.
 1.18 18-Feb-2005  dsl branches: 1.18.4;
Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.17 11-Feb-2005  dsl Add 'option FFS_SNAPSHOT' to most of the config files.
Commented out for kernels that appear to hace space constraints.
 1.16 31-Jan-2005  hannken Add file system snapshots to kernel configs.

- Ffs internal snapshots get compiled in unconditionally.

- File system snapshot device fss(4) added to all kernel configs that
have a disk. Device is commented out on all non-GENERIC kernels.

Reviewed by: Jason Thorpe <thorpej@netbsd.org>
 1.15 18-Jan-2005  scw branches: 1.15.2;
Add "options PMS_SYNAPTICS_TOUCHPAD", commented out by default.
 1.14 17-Jan-2005  cube Add tap(4) support to a random^Wcarefully chosen set of kernel configs.
All those kernels have a line for both tun and bridge, and if either is
commented out, tap is commented out also. With the exception of i386's
GENERIC_TINY.

XXX: we _need_ some way of making this more simple.
 1.13 24-Nov-2004  bouyer branches: 1.13.4;
pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) serie of
controllers. Tested with a PDC20375 (2 SATA, one PATA) controller on sparc64.
Added to all kernel config file which had pdcide(4).
 1.12 10-Nov-2004  christos Add COMPAT_BSDPTY to the rest of the config files.
 1.11 23-Oct-2004  augustss s/uax/axe/
 1.10 13-Sep-2004  fvdl Remove some devices (sync with i386).
 1.9 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.8 16-Feb-2004  thorpej branches: 1.8.2;
Comment out some SYSV* and *VERBOSE options to shrink these down so
they fit in the current boot floppies.
 1.7 14-Dec-2003  thorpej Split the Intel i31244 SATA controller ("Artisea") driver out of piixide
into its own driver (artsata).
 1.6 13-Dec-2003  thorpej Split out the Silicon Image SATALink support into its own driver,
"satalink".
 1.5 18-Oct-2003  lukem Use one 'atabus* at ata?' instead of multiple 'atabus* at FOOide? channel ?'
Use 'atapibus* at atapi?' instead of 'atapibus* at atabus?'
 1.4 08-Oct-2003  bouyer Add new per-chip pciide drivers.
 1.3 08-Oct-2003  bouyer Add atabus.
 1.2 06-Sep-2003  itojun add rnd(4) device to installation media.
necessary for many purposes, including password seeding, tcp sequence number,
and more. see tech-security
 1.1 15-May-2003  fvdl branches: 1.1.2;
Decrease the ramdisk size a bit to allow for more options to be added
to the kernel, and still have it fit in 2.88M.
 1.1.2.12 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.2.11 01-Apr-2005  skrll Sync with HEAD.
 1.1.2.10 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.9 15-Feb-2005  skrll Sync with HEAD.
 1.1.2.8 04-Feb-2005  skrll Sync with HEAD.
 1.1.2.7 24-Jan-2005  skrll Sync with HEAD.
 1.1.2.6 29-Nov-2004  skrll Sync with HEAD.
 1.1.2.5 14-Nov-2004  skrll Sync with HEAD.
 1.1.2.4 02-Nov-2004  skrll Sync with HEAD.
 1.1.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.1 03-Aug-2004  skrll Sync with HEAD
 1.8.2.1 14-Sep-2004  jmc branches: 1.8.2.1.2;
Pullup rev 1.10 (requested by fvdl in ticket #845)

Remove some devices (sync with i386).
 1.8.2.1.2.2 21-Jul-2005  riz Pull up revision 1.22 (requested by itohy in ticket #1430):
Add ukyopon(4).
 1.8.2.1.2.1 02-Apr-2005  he Pull up revision 1.13 (requested by bouyer in ticket #1019):
Add pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) series of
controllers.
 1.13.4.1 29-Apr-2005  kent sync with -current
 1.15.2.3 26-Mar-2005  yamt sync with head.
 1.15.2.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.15.2.1 12-Feb-2005  yamt sync with head.
 1.18.4.5 21-Nov-2005  tron Pull up following revision(s) (requested by dsl in ticket #977):
sys/arch/amd64/conf/INSTALL_ACPI: revision 1.29 via patch
include "INSTALL" then modify it - so we get the same device
 1.18.4.4 18-Jul-2005  riz Pull up revision 1.24 (requested by tron in ticket #566):
Add (commented out) IPSEC_NAT_T option.
 1.18.4.3 07-May-2005  riz Pull up revision 1.21 (requested by tron in ticket #131):
Comment out options for PPP compression and active filtering. They are not
necessary in an installation kernel but increase the size considerably.
This fixes PR port-amd64/29928.
 1.18.4.2 17-Apr-2005  tron Pull up revision 1.22 (requested by itohy in ticket #160):
Add ukyopon(4).
 1.18.4.1 09-Apr-2005  tron Pull up revision 1.20 (requested by dsl in ticket #129):
Comment out some wscons(4) options which are only required to run a
X11 server.
 1.23.2.3 03-Sep-2007  yamt sync with head.
 1.23.2.2 30-Dec-2006  yamt sync with head.
 1.23.2.1 21-Jun-2006  yamt sync with head.
 1.30.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.30.8.1 11-Aug-2006  yamt sync with head
 1.30.4.1 09-Sep-2006  rpaulo sync with head
 1.31.10.2 17-May-2007  yamt fix merge botches.
 1.31.10.1 12-Mar-2007  rmind Sync with HEAD.
 1.31.8.1 09-Mar-2007  riz Pull up following revision(s) (requested by bouyer in ticket #494):
sys/arch/i386/conf/GENERIC.MP: revision 1.9
distrib/pc532/cdroms/installcd/Makefile: revision 1.1
distrib/macppc/Makefile: revision 1.15
distrib/ofppc/Makefile: revision 1.2
distrib/ibmnws/Makefile: revision 1.2
distrib/acorn32/Makefile: revision 1.18
distrib/x68k/cdroms/installcd/Makefile: revision 1.1
distrib/sparc/Makefile: revision 1.7
distrib/sparc64/cdroms/Makefile: revision 1.1
distrib/hp300/cdroms/Makefile: revision 1.1
distrib/hpcsh/Makefile: revision 1.6
distrib/ofppc/cdroms/installcd/Makefile: revision 1.1
distrib/playstation2/Makefile: revision 1.13
distrib/news68k/cdroms/installcd/Makefile: revision 1.1
distrib/amiga/cdroms/installcd/Makefile: revision 1.1
distrib/hp700/cdroms/installcd/Makefile: revision 1.1
distrib/playstation2/cdroms/Makefile: revision 1.1
distrib/amiga/cdroms/Makefile: revision 1.1
etc/etc.mac68k/Makefile.inc: revision 1.18
distrib/shark/cdroms/installcd/Makefile: revision 1.1
distrib/hpcmips/Makefile: revision 1.28
distrib/hpcmips/cdroms/Makefile: revision 1.1
distrib/amd64/floppies/Makefile: revision 1.3
sys/arch/amd64/conf/INSTALL_ACPI: file removal
distrib/i386/cdroms/Makefile: revision 1.4
distrib/acorn26/cdroms/installcd/Makefile: revision 1.1
distrib/hpcsh/cdroms/Makefile: revision 1.1
distrib/prep/cdroms/Makefile: revision 1.1
distrib/pc532/Makefile: revision 1.4
distrib/acorn32/cdroms/installcd/Makefile: revision 1.1
distrib/sun2/Makefile: revision 1.8
distrib/vax/Makefile: revision 1.17
distrib/sparc64/cdroms/installcd/Makefile: revision 1.1
distrib/pmax/cdroms/Makefile: revision 1.1
distrib/mipsco/cdroms/installcd/Makefile: revision 1.1
distrib/sun3/cdroms/installcd/Makefile: revision 1.1
distrib/vax/cdroms/installcd/Makefile: revision 1.1
distrib/hpcarm/cdroms/installcd/Makefile: revision 1.1
distrib/mvme68k/Makefile: revision 1.4
distrib/mvmeppc/cdroms/Makefile: revision 1.1
distrib/newsmips/Makefile: revision 1.4
sys/arch/i386/conf/GENERIC.MPACPI: file removal
distrib/hpcarm/cdroms/Makefile: revision 1.1
distrib/evbppc/cdroms/Makefile: revision 1.1
sys/arch/i386/conf/INSTALL_LARGE: revision 1.1
distrib/i386/cdroms/installcd/Makefile: revision 1.2
distrib/i386/cdroms/installcd/Makefile: revision 1.3
doc/CHANGES: revision 1.804
distrib/hpcsh/cdroms/installcd/Makefile: revision 1.1
distrib/i386/cdroms/bootcd/Makefile: revision 1.2
distrib/mvmeppc/cdroms/installcd/Makefile: revision 1.1
distrib/i386/cdroms/bootcd/Makefile: revision 1.3
distrib/evbarm/Makefile: revision 1.8
distrib/mvmeppc/Makefile: revision 1.3
distrib/i386/cdroms/bootcd-com/Makefile: revision 1.2
distrib/i386/cdroms/bootcd-com/Makefile: revision 1.3
distrib/macppc/cdroms/installcd/Makefile: revision 1.1
distrib/acorn26/cdroms/Makefile: revision 1.1
distrib/alpha/cdroms/Makefile: revision 1.1
distrib/hp300/cdroms/installcd/Makefile: revision 1.1
distrib/amd64/floppies/bootfloppy/Makefile: revision 1.4
distrib/pmppc/cdroms/installcd/Makefile: revision 1.1
distrib/hp700/Makefile: revision 1.2
distrib/pmppc/Makefile: revision 1.2
distrib/arc/cdroms/Makefile: revision 1.1
sys/arch/amd64/conf/INSTALL: revision 1.66
distrib/sun3/cdroms/Makefile: revision 1.1
distrib/mipsco/Makefile: revision 1.4
distrib/sun3/Makefile: revision 1.9
distrib/vax/cdroms/Makefile: revision 1.1
distrib/pmppc/cdroms/Makefile: revision 1.1
distrib/amd64/cdroms/Makefile.cdrom: revision 1.1
distrib/atari/cdroms/installcd/Makefile: revision 1.1
distrib/evbppc/cdroms/installcd/Makefile: revision 1.1
distrib/newsmips/cdroms/installcd/Makefile: revision 1.1
distrib/pmax/Makefile: revision 1.4
Makefile: revision 1.247
distrib/cats/cdroms/installcd/Makefile: revision 1.1
sys/arch/amd64/conf/GENERIC: revision 1.130
sys/arch/amd64/conf/GENERIC: revision 1.131
distrib/sgimips/cdroms/installcd/Makefile: revision 1.1
distrib/hp700/cdroms/Makefile: revision 1.1
distrib/cats/cdroms/Makefile: revision 1.1
distrib/evbmips/Makefile: revision 1.3
distrib/evbmips/Makefile: revision 1.4
sys/arch/amd64/conf/GENERIC_ACPI: file removal
distrib/ews4800mips/Makefile: revision 1.2
distrib/amd64/cdroms/bootcd-com/Makefile: revision 1.2
distrib/i386/Makefile: revision 1.5
distrib/amd64/cdroms/installcd/Makefile: revision 1.2
distrib/mvme68k/cdroms/installcd/Makefile: revision 1.1
distrib/alpha/cdroms/installcd/Makefile: revision 1.1
etc/etc.amd64/Makefile.inc: revision 1.7
distrib/i386/instkernel/Makefile: revision 1.6
distrib/x68k/cdroms/Makefile: revision 1.1
distrib/i386/cdroms/Makefile.cdrom: revision 1.1
distrib/sandpoint/Makefile: revision 1.4
distrib/i386/cdroms/Makefile.cdrom: revision 1.2
distrib/amiga/Makefile: revision 1.3
distrib/amd64/cdroms/bootcd/Makefile: revision 1.2
distrib/news68k/Makefile: revision 1.4
distrib/amd64/floppies/bootfloppy-com/Makefile: revision 1.5
distrib/news68k/cdroms/Makefile: revision 1.1
distrib/sparc/cdroms/Makefile: revision 1.1
distrib/shark/cdroms/Makefile: revision 1.1
etc/Makefile: revision 1.341
distrib/amd64/instkernel/Makefile: revision 1.2
distrib/sparc64/Makefile: revision 1.7
distrib/dreamcast/cdroms/Makefile: revision 1.1
distrib/shark/Makefile: revision 1.3
distrib/ews4800mips/cdroms/Makefile: revision 1.1
distrib/sun2/cdroms/installcd/Makefile: revision 1.1
distrib/shark/Makefile: revision 1.4
distrib/macppc/cdroms/Makefile: revision 1.1
distrib/mvme68k/cdroms/Makefile: revision 1.1
distrib/sun2/cdroms/Makefile: revision 1.1
distrib/hpcarm/Makefile: revision 1.3
distrib/arc/cdroms/installcd/Makefile: revision 1.1
distrib/hpcmips/cdroms/installcd/Makefile: revision 1.1
distrib/mipsco/cdroms/Makefile: revision 1.1
distrib/Makefile.inc: revision 1.9
distrib/playstation2/cdroms/installcd/Makefile: revision 1.1
distrib/ibmnws/cdroms/installcd/Makefile: revision 1.1
distrib/newsmips/cdroms/Makefile: revision 1.1
distrib/arc/Makefile: revision 1.3
distrib/sparc/cdroms/installcd/Makefile: revision 1.1
distrib/evbmips/cdroms/installcd/Makefile: revision 1.1
distrib/ews4800mips/cdroms/installcd/Makefile: revision 1.1
distrib/prep/Makefile: revision 1.3
distrib/ibmnws/cdroms/Makefile: revision 1.1
distrib/sandpoint/cdroms/Makefile: revision 1.1
distrib/atari/Makefile: revision 1.6
distrib/sgimips/cdroms/Makefile: revision 1.1
distrib/amd64/Makefile: revision 1.4
distrib/atari/cdroms/Makefile: revision 1.1
distrib/x68k/Makefile: revision 1.5
distrib/x68k/Makefile: revision 1.6
distrib/sandpoint/cdroms/installcd/Makefile: revision 1.1
distrib/evbarm/cdroms/Makefile: revision 1.1
distrib/acorn32/cdroms/Makefile: revision 1.1
distrib/cats/Makefile: revision 1.3
distrib/evbmips/cdroms/Makefile: revision 1.1
distrib/pc532/cdroms/Makefile: revision 1.1
distrib/Makefile: revision 1.14
distrib/evbarm/cdroms/installcd/Makefile: revision 1.1
distrib/ofppc/cdroms/Makefile: revision 1.1
distrib/amd64/cdroms/Makefile: revision 1.3
distrib/common/Makefile.bootcd: revision 1.8
distrib/i386/cdroms/bootcd-laptop/Makefile: file removal
sys/arch/i386/conf/GENERIC: revision 1.813
distrib/hp300/Makefile: revision 1.17
sys/arch/i386/conf/GENERIC: revision 1.814
distrib/evbppc/Makefile: revision 1.2
distrib/pmax/cdroms/installcd/Makefile: revision 1.1
etc/etc.i386/Makefile.inc: revision 1.49
distrib/sgimips/Makefile: revision 1.2
distrib/prep/cdroms/installcd/Makefile: revision 1.1
distrib/acorn26/Makefile: revision 1.4
distrib/dreamcast/cdroms/installcd/Makefile: revision 1.1
distrib/alpha/Makefile: revision 1.22
distrib/dreamcast/Makefile: revision 1.2
Improve the use of makefs to build boot CDs, and make it truely MI:
- allow to specify the "instkernel" directory, and allow to put multiple
kernels on the image
- allow to specify the directory where the image will be created
- only use bootxx_cd9660 if it exists
- search for second-stage boot as usr/mdec/boot.${MACHINE} in addition to
usr/mdec/boot
- make 'installboot -e' optional
- use target 'release' or 'iso_image' depending on ${CDRELEASE}
- call some MD targets, which will eventually complete the file list or
make the image bootable
For the benefit of modern hardware, enable ACPI by default in INSTALL and
GENERIC kernels. If ACPI is an issue on your hardware, 'boot -c' and
'disable acpi' should be a workaround. ACPI-enabled kernels works fine
on pre-acpi hardware.
for amd64:
- add ACPI to INSTALL and GENERIC, remove the *_ACPI config files.
- get rid of the bootfloppy-big.fs boot image, and got to a 3-floppy boot
image
for i386:
- introduce INSTALL_LARGE which has ACPI and some devices with big firmware
- move some devices from INSTALL to INSTALL_LARGE
- Boot floppies still use INSTALL, and bootfloppy-big.fs is still there
(for thoses who want to build el-torito floppy emulation boot CD) and use
INSTALL.
For both, drop the 'iso-image' code in etc/ to make the iso bootable, we'll
use something else to build bootable CDs.
Add an iso_image target (iso-image as a target name doesn't play well with
bsd.subdirs.mk) in distrib/makefile, which builds an iso image for $MACHINE
with binary sets, stored in ${RELEASEDIR}/iso. The image is bootable for:
alpha, amd64, cats, i386, pmax, sgimips, sparc, sparc64, sun3, vax.
mac68k/macppc no there yet because of missing feature in makefs.
call iso_image in distrib/ for iso-image in the top Makefile.
Use the new common/Makefile.bootcd to make i386 and amd64 bootable ISO
images. amd64 gets a single kernel; i386 images gets 3 kernels:
- netbsd, copy from netbsd-INSTALL_LARGE.gz, loaded by default
- nbsd-l, copy from netbsd-INSTALL_LAPTOP.gz
- nbsd-i, copy from netbsd-INSTALL.gz for those who want the traditionnal
non-ACPI kernel
- drop the bootcd-laptop image
both gets an installcd image, which is the same as bootcd but with the
binary sets in addition to kernels.
Make iso-image do nothing for all but mac68k, which still
relies on mkisofs to create bootable ISO image. macppc should also be there,
but it seems the code to make an iso bootable never got added in etc.macppc/
Fix typo in subdir name.
Revert local changes that went in accidentally with the "add ACPI" commit.
Note ACPI by default in i386/amd64, and the iso-image changes.
Fix SUBDIR in previous
Remove duplicate ACPIVERBOSE and ACPI_SCANPCI; pointed out by Nicolas Joly.
Correct typo: the directory is named cdroms, not cdrom.
Use nblaptop and nbnoacpi for the alternative kernel names; as suggected by
Alan Barrett. While there factor out the kernels in Makefile.cdrom.
 1.7 28-May-2011  ryo many whitespace cleanup.
 1.6 06-Feb-2009  jym branches: 1.6.2; 1.6.6; 1.6.8;
Changes to MEMORY_RBFLAGS option:
- renamed to MEMORY_DISK_RBFLAGS to better fit the rest of the
MEMORY_DISK options(4)
- change default value to RB_AUTOBOOT instead of RB_SINGLE, and adapt
the config(5) files accordingly
- document this option inside options(4)

See also http://mail-index.netbsd.org/tech-kern/2008/12/25/msg003924.html

Reviewed by abs@ in private mail.
 1.5 01-Mar-2008  joerg branches: 1.5.4; 1.5.12;
Derive Xen3 domu install kernel from XEN3_DOMU.
 1.4 16-Jan-2008  ad branches: 1.4.2; 1.4.6;
Remove options MATH_EMULATE.
 1.3 07-Jan-2008  martti branches: 1.3.2;
Fixed option indentation, it should be

option<space><tab>
makeoption<space><tab>
 1.2 22-Nov-2007  bouyer branches: 1.2.2; 1.2.4; 1.2.8; 1.2.12;
Pull up the bouyer-xenamd64 branch to HEAD. This brings in amd64 support
to NetBSD/Xen, both Dom0 and DomU.
 1.1 17-Oct-2007  bouyer branches: 1.1.2; 1.1.4;
file INSTALL_XEN3_DOMU was initially added on branch bouyer-xenamd64.
 1.1.4.2 18-Feb-2008  mjf Sync with HEAD.
 1.1.4.1 08-Dec-2007  mjf Sync with HEAD.
 1.1.2.2 19-Nov-2007  bouyer Get rid of arch/xenamd64, step 1: empty xenamd64/conf
- move xenamd64/conf/std.xen to amd64/conf/
- define arch to amd64 amd64/conf/std.xen, and i386 in xen/conf/std.xen
(machine is xen)
- enclose content of amd64/conf/files.amd64 and i386/conf/files.i386 in
ifndef xen/endif, so it can be transparently inclued for xen kernels
- support MACHINE_ARCH=x86_64 in xen/conf/Makefile*
 1.1.2.1 17-Oct-2007  bouyer amd64 (aka x86-64) support for Xen. Based on the OpenBSD port done by
Mathieu Ropert in 2006.
DomU-only for now. An INSTALL_XEN3_DOMU kernel with a ramdisk will boot to
sysinst if you're lucky. Often it panics because a runable LWP has
a NULL stack (really, it's all of l->l_addr which is has been zeroed out
while the process was on the queue !)
TODO:
- bug fixes :)
- Most of the xpq_* functions should be shared with xen/i386
- The xen/i386 assembly bootstrap code should be remplaced with the C
version in xenamd64/amd64/xpmap.c
- see if a config(5) trick could allow to merge xenamd64 back to xen or amd64.
 1.2.12.2 19-Jan-2008  bouyer Sync with HEAD
 1.2.12.1 08-Jan-2008  bouyer Sync with HEAD
 1.2.8.4 17-Mar-2008  yamt sync with head.
 1.2.8.3 21-Jan-2008  yamt sync with head
 1.2.8.2 07-Dec-2007  yamt sync with head
 1.2.8.1 22-Nov-2007  yamt file INSTALL_XEN3_DOMU was added on branch yamt-lazymbuf on 2007-12-07 17:24:00 +0000
 1.2.4.2 03-Dec-2007  ad Sync with HEAD.
 1.2.4.1 22-Nov-2007  ad file INSTALL_XEN3_DOMU was added on branch vmlocking on 2007-12-03 19:02:42 +0000
 1.2.2.2 27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.2.2.1 22-Nov-2007  joerg file INSTALL_XEN3_DOMU was added on branch jmcneill-pm on 2007-11-27 19:35:29 +0000
 1.3.2.3 23-Mar-2008  matt sync with HEAD
 1.3.2.2 09-Jan-2008  matt sync with HEAD
 1.3.2.1 07-Jan-2008  matt file INSTALL_XEN3_DOMU was added on branch matt-armv6 on 2008-01-09 01:44:49 +0000
 1.4.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.4.2.1 24-Mar-2008  keiichi sync with head.
 1.5.12.1 03-Mar-2009  skrll Sync with HEAD.
 1.5.4.1 04-May-2009  yamt sync with head.
 1.6.8.1 06-Jun-2011  jruoho Sync with HEAD.
 1.6.6.1 31-May-2011  rmind sync with head
 1.6.2.1 27-Aug-2011  jym Sync with HEAD. Most notably: uvm/pmap work done by rmind@, and MP Xen
work of cherry@.

No regression observed on suspend/restore.
 1.4 23-Aug-2025  imil Add `+invtsc` to the QEMU command line example, this enables the
invariant TSC feature, allowing the kernel to use CPUID 0x40000010 to
read TSC and LAPIC frequencies from the host, thus avoiding the need
for frequency calculation and gaining over 200ms in boot speed.
 1.3 28-Mar-2025  imil branches: 1.3.2; 1.3.4;
x86: consolidate MICROVM kernel configurations

Move common configuration options from amd64/conf/MICROVM and
i386/conf/MICROVM into a shared x86/conf/MICROVM.common file.
 1.2 27-Mar-2025  riastradh virtio(4): Consolidate kernel configs.

No functional change intended.

Leave `# XXX ?' comments where I don't know why the driver in
question is excluded. (Typical reason is that PAGE_SIZE is not 4096
but I didn't investigate -- if you do investigate, please either
update the comment if you determine a reason, or enable the driver if
you don't.)

PR kern/59211: vio9p(4): missing from various GENERICs and MAKEDEVs
 1.1 15-Jan-2025  imil Add support for command line MMIO devices, at least qemu and
Firecracker pass MMIO virtual devices mapping through the kernel
command line.
This driver is based on Colin Percival's FreeBSD virtio_mmio_cmdline.c
https://github.com/freebsd/freebsd-src/blob/main/sys/dev/virtio/mmio/virtio_mmio_cmdline.c

The following kernel options are needed

options MPBIOS
options MPTABLE_LINUX_BUG_COMPAT

As are these drivers

pv* at pvbus?
virtio* at pv?

Exemple qemu usage on a Linux host to boot a NetBSD guest:

qemu-system-x86_64 \
-M microvm,x-option-roms=off,rtc=on,acpi=off,pic=off,accel=kvm \
-m 256 -cpu host -kernel ${KERNEL} \
-append "root=ld0a console=com rw -v" \
-device virtio-blk-device,drive=hd0 \
-drive file=${IMG},format=raw,id=hd0 \
-device virtio-net-device,netdev=net0 \
-netdev user,id=net0,ipv6=off,hostfwd=::2200-:22 \
-global virtio-mmio.force-legacy=false -display none -serial stdio

A lightweight kernel configuration named MICROVM if available for this
use case.
 1.3.4.2 02-Aug-2025  perseant Sync with HEAD
 1.3.4.1 28-Mar-2025  perseant file MICROVM was added on branch perseant-exfatfs on 2025-08-02 05:55:24 +0000
 1.3.2.1 25-Aug-2025  martin Pull up following revision(s) (requested by imil in ticket #14):

sys/arch/amd64/conf/MICROVM: revision 1.4
sys/arch/i386/conf/MICROVM: revision 1.4

Add `+invtsc` to the QEMU command line example, this enables the
invariant TSC feature, allowing the kernel to use CPUID 0x40000010 to
read TSC and LAPIC frequencies from the host, thus avoiding the need
for frequency calculation and gaining over 200ms in boot speed.
 1.20 20-Mar-2025  pgoyette We now have COMPAT_100, so use the modular version vs built-in
 1.19 20-Jan-2021  nia branches: 1.19.24;
remove compat_ossaudio from kernel modules

this is only useful with compat_linux and gets autoloaded when
compat_linux is loaded, so there's no reason to bake it into kernels
any more.
 1.18 19-Oct-2020  christos branches: 1.18.2;
Arrange so that no options COREDUMP and no options PTRACE work together.
Thanks to Paul Goyette for testing.
 1.17 27-Sep-2020  roy vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.16 16-Aug-2020  jdolecek make COMPAT_LINUX option disabled by default

leave the option enabled only in amd64/i386 ALL kernels to make
sure it continues to be compilable also when included in kernel
 1.15 25-Mar-2020  jdolecek remove 'file-system SMBFS' and 'pseudo-device nsmb' from all kernel configs
to prepare for their eventual removal
 1.14 19-Jan-2020  thorpej Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
 1.13 31-Dec-2019  pgoyette branches: 1.13.2;
Update to not include COMPAT_90
 1.12 17-Jun-2019  christos complete the list of filesystems and enable ffs as a module.
 1.11 13-Jan-2018  christos branches: 1.11.4;
added commented out AUTOFS pseudo-device entries
 1.10 09-Jan-2018  christos Merge autofs support from: Tomohiro Kusumi
XXX: Does not work yet
 1.9 14-Sep-2017  mrg branches: 1.9.2;
clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.8 05-Mar-2017  christos use the modular versions of spkr
 1.7 18-Feb-2017  christos l2tp is a module
 1.6 18-Dec-2016  dholland branches: 1.6.2;
Whitespace.
 1.5 09-Sep-2016  christos branches: 1.5.2;
let sppp be loaded dynamically.
 1.4 07-Aug-2016  christos Add some more drivers
 1.3 07-Aug-2016  christos don't load loopback as a module as other parts of the code use it directly.
 1.2 07-Aug-2016  christos Use "-no" and add more cloners.
 1.1 04-Aug-2016  christos branches: 1.1.2;
An attempt to create a fully modular kernel by including GENERIC and
undefining all the drivers we have modules for. This is done to reduce
the kernel footprint for DTRACE and also to test that the modularized
drivers work. Current issues:

1. builtin drivers can't depend on modularized drivers (the modularized
drivers are attempted to load as builtins).
2. there is no way to "no define" drivers
3. it is not always obvious by their names which drivers/options correspond
to which modules.
4. right now critical drivers that would need to be pre-loaded (ffs,
exec_elf64) are still built-in so that we don't need to alter the boot
blocks to boot.

Ideally modstat should show none of the drivers as built-in but we are far
from that.
 1.1.2.4 20-Mar-2017  pgoyette Sync with HEAD
 1.1.2.3 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.2.2 06-Aug-2016  pgoyette Sync with HEAD
 1.1.2.1 04-Aug-2016  pgoyette file MODULAR was added on branch pgoyette-localcount on 2016-08-06 00:19:04 +0000
 1.5.2.4 28-Aug-2017  skrll Sync with HEAD
 1.5.2.3 05-Feb-2017  skrll Sync with HEAD
 1.5.2.2 05-Oct-2016  skrll Sync with HEAD
 1.5.2.1 09-Sep-2016  skrll file MODULAR was added on branch nick-nhusb on 2016-10-05 20:55:23 +0000
 1.6.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.9.2.2 03-Dec-2017  jdolecek update from HEAD
 1.9.2.1 14-Sep-2017  jdolecek file MODULAR was added on branch tls-maxphys on 2017-12-03 11:35:47 +0000
 1.11.4.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.13.2.1 25-Jan-2020  ad Sync with head.
 1.18.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.19.24.1 02-Aug-2025  perseant Sync with HEAD
 1.86 06-Jan-2023  christos Explicitly set -z noseparate-code because the default is about to change
and the boot blocks might not be able to load binaries with more than two
PT_LOAD sections.
 1.85 11-May-2020  joerg Fix GCC flags for Spectre mitigation to really only apply to GCC.
 1.84 25-Apr-2020  bouyer Merge the bouyer-xenpvh branch, bringing in Xen PV drivers support under HVM
guests in GENERIC.
Xen support can be disabled at runtime with
boot -c
disable hypervisor
 1.83 13-Apr-2020  maxv Make KASAN compatible with LLVM. Same as GCC, except that LLVM aggressively
inlines the shadow checks, and this causes problems at boot time; so we
pass -asan-instrumentation-with-call-threshold=0 to force callbacks instead
of inlines.
 1.82 04-Apr-2020  maxv branches: 1.82.2;
KCOV doesn't depend on specificdata and cpu_intr_p() anymore, so drop
references.
 1.81 03-Apr-2020  maxv Add KASAN instrumentation on on-stack VLAs.
 1.80 14-Nov-2019  maxv Add support for Kernel Memory Sanitizer (kMSan). It detects uninitialized
memory used by the kernel at run time, and just like kASan and kCSan, it
is an excellent feature. It has already detected 38 uninitialized variables
in the kernel during my testing, which I have since discreetly fixed.

We use two shadows:
- "shad", to track uninitialized memory with a bit granularity (1:1).
Each bit set to 1 in the shad corresponds to one uninitialized bit of
real kernel memory.
- "orig", to track the origin of the memory with a 4-byte granularity
(1:1). Each uint32_t cell in the orig indicates the origin of the
associated uint32_t of real kernel memory.

The memory consumption of these shadows is consequent, so at least 4GB of
RAM is recommended to run kMSan.

The compiler inserts calls to specific __msan_* functions on each memory
access, to manage both the shad and the orig and detect uninitialized
memory accesses that change the execution flow (like an "if" on an
uninitialized variable).

We mark as uninit several types of memory buffers (stack, pools, kmem,
malloc, uvm_km), and check each buffer passed to copyout, copyoutstr,
bwrite, if_transmit_lock and DMA operations, to detect uninitialized memory
that leaves the system. This allows us to detect kernel info leaks in a way
that is more efficient and also more user-friendly than KLEAK.

Contrary to kASan, kMSan requires comprehensive coverage, ie we cannot
tolerate having one non-instrumented function, because this could cause
false positives. kMSan cannot instrument ASM functions, so I converted
most of them to __asm__ inlines, which kMSan is able to instrument. Those
that remain receive special treatment.

Contrary to kASan again, kMSan uses a TLS, so we must context-switch this
TLS during interrupts. We use different contexts depending on the interrupt
level.

The orig tracks precisely the origin of a buffer. We use a special encoding
for the orig values, and pack together in each uint32_t cell of the orig:
- a code designating the type of memory (Stack, Pool, etc), and
- a compressed pointer, which points either (1) to a string containing
the name of the variable associated with the cell, or (2) to an area
in the kernel .text section which we resolve to a symbol name + offset.

This encoding allows us not to consume extra memory for associating
information with each cell, and produces a precise output, that can tell
for example the name of an uninitialized variable on the stack, the
function in which it was pushed on the stack, and the function where we
accessed this uninitialized variable.

kMSan is available with LLVM, but not with GCC.

The code is organized in a way that is similar to kASan and kCSan, so it
means that other architectures than amd64 can be supported.
 1.79 05-Nov-2019  maxv Add Kernel Concurrency Sanitizer (kCSan) support. This sanitizer allows us
to detect race conditions at runtime. It is a variation of TSan that is
easy to implement and more suited to kernel internals, albeit theoretically
less precise than TSan's happens-before.

We do basically two things:

- On every KCSAN_NACCESSES (=2000) memory accesses, we create a cell
describing the access, and delay the calling CPU (10ms).

- On all memory accesses, we verify if the memory we're reading/writing
is referenced in a cell already.

The combination of the two means that, if for example cpu0 does a read that
is selected and cpu1 does a write at the same address, kCSan will fire,
because cpu1's write collides with cpu0's read cell.

The coverage of the instrumentation is the same as that of kASan. Also, the
code is organized in a way similar to kASan, so it is easy to add support
for more architectures than amd64. kCSan is compatible with KCOV.

Reviewed by Kamil.
 1.78 07-Sep-2019  maxv Merge amd64func.S into cpufunc.S, and clean up.
 1.77 22-May-2019  kamil Allow to use KCOV + kASan together

Stop instrumenting KCOV files with kASan and the other way around.
This fixes booting of the setup of using them together.

In theory the checks could be more fine grained, however there is no good
reason (except extra DIAGNISTIC) for running a kernel sanitizer without
kernel coverage.

Patch by <R3x>
 1.76 24-Feb-2019  maxv Add support for use-after-scope detection in KASAN. It is available since
GCC7, and we have GCC7 by default now.

Slightly reorder the code, and remove a duplicated KASSERT too.

Tested on amd64-KASAN. Not yet enabled on aarch64-KASAN, but it should
work as-is.
 1.75 31-Oct-2018  maxv Move the MI parts of KASAN into kern/subr_asan.c. This file includes
machine/asan.h, which contains the MD functions. We use an include rather
than a plain C file, because we want GCC to optimize/inline some functions
into one single block.

The amd64 MD parts of KASAN are moved accordingly.

The naming convention we use is:

kasan_*
a generic kasan object, declared in subr_asan.c
kasan_md_*
an MD kasan object, declared in machine/asan.h, and used
in subr_asan.c
__md_*
an MD object, declared in machine/asan.h, and not used
outside

Overall this makes it easier to add KASAN support on more architectures.

Discussed with several people.
 1.74 22-Sep-2018  rin - Determine KERN_AS automatically depending on whether OPT_MODULAR is
set or not, in the same way as libcompat.

- Specify OPT_MODULAR in the port Makefile instead of KERN_AS.

Now, KERN_AS=library is used for kernels without module(7) for all ports.

OK christos
 1.73 22-Aug-2018  maxv Add support for monitoring the stack with kASan. This allows us to detect
illegal memory accesses occuring there.

The compiler inlines a piece of code in each function that adds redzones
around the local variables and poisons them. The illegal accesses are then
detected using the usual kASan machinery.

The stack size is doubled, from 4 pages to 8 pages.

Several boot functions are marked with the __noasan flag, to prevent the
compiler from adding redzones in them (because we haven't yet initialized
kASan). The kasan_early_init function is called early at boot time to
quickly create the shadow for the current stack; after this is done, we
don't need __noasan anymore in the boot path.

We pass -fasan-shadow-offset=0xDFFF900000000000, because the compiler
wants to do
shad = shadow-offset + (addr >> 3)
and we do, in kasan_addr_to_shad
shad = KASAN_SHADOW_START + ((addr - CANONICAL_BASE) >> 3)
hence
shad = KASAN_SHADOW_START + (addr >> 3) - (CANONICAL_BASE >> 3)
= [KASAN_SHADOW_START - (CANONICAL_BASE >> 3)] + (addr >> 3)
implies
shadow-offset = KASAN_SHADOW_START - (CANONICAL_BASE >> 3)
= 0xFFFF800000000000 - (0xFFFF800000000000 >> 3)
= 0xDFFF900000000000

In UVM, we add a kasan_free (that is not preceded by a kasan_alloc). We
don't add poisoned redzones ourselves, but all the functions we execute
do, so we need to manually clear the poison before freeing the stack.

With the help of Kamil for the makefile stuff.
 1.72 20-Aug-2018  maxv Add support for kASan on amd64. Written by me, with some parts inspired
from Siddharth Muralee's initial work. This feature can detect several
kinds of memory bugs, and it's an excellent feature.

It can be enabled by uncommenting these three lines in GENERIC:

#makeoptions KASAN=1 # Kernel Address Sanitizer
#options KASAN
#no options SVS

The kernel is compiled without SVS, without DMAP and without PCPU area.
A shadow area is created at boot time, and it can cover the upper 128TB
of the address space. This area is populated gradually as we allocate
memory. With this design the memory consumption is kept at its lowest
level.

The compiler calls the __asan_* functions each time a memory access is
done. We verify whether this access is legal by looking at the shadow
area.

We declare our own special memcpy/memset/etc functions, because the
compiler's builtins don't add the __asan_* instrumentation.

Initially all the mappings are marked as valid. During dynamic
allocations, we add a redzone, which we mark as invalid. Any access on
it will trigger a kASan error message. Additionally, the compiler adds
a redzone on global variables, and we mark these redzones as invalid too.
The illegal-access detection works with a 1-byte granularity.

For now, we cover three areas:

- global variables
- kmem_alloc-ated areas
- malloc-ated areas

More will come, but that's a good start.
 1.71 02-Jun-2018  christos branches: 1.71.2;
Disable sanitizers for the kernel.
 1.70 18-Apr-2018  martin Simplify previous, pointed out by mrg.
 1.69 18-Apr-2018  martin Fix previous: HAVE_GCC needs to be checked in additon to
SPECTRE_V2_GCC_MITIGATION, but SPECTRE_V2_GCC_MITIGATION being empty is
not a good enough check as it can't be overwritte on the make
command line. Now I can do: "make SPECTRE_V2_GCC_MITIGATION=0" (e.g. when
my gcc is too old for having the indirect-branch options).
 1.68 18-Apr-2018  martin Fix copy & pasto
 1.67 07-Apr-2018  mrg add an SPECTRE_V2_GCC_MITIGATION option to x86 kernels, that turns
on the GCC spectre v2 mitigation options.

XXX: pullup-8.
XXX: turn on in all kernels.
 1.66 23-Feb-2018  maxv branches: 1.66.2;
Revert previous, we'll need something better (and compatible with Clang).
 1.65 23-Feb-2018  maxv Add -fno-shrink-wrap, to force GCC to push the frames at the very beginning
of the functions. Otherwise DDB is unable to display a correct stack trace
if a fault occurred in a function before the frame was pushed.

Discussed on tech-kern@, flag suggested by Krister Walfridsson. Should fix
PR/52560.
 1.64 15-Nov-2017  maxv Support large pages on KASLR kernels, in a way that does not reduce
randomness, but on the contrary that increases it.

The size of the kernel sub-blocks is changed to be 1MB. This produces a
kernel with sections that are always < 2MB in size, that can fit a large
page.

Each section is put in a 2MB physical chunk. In this chunk, there is a
padding of approximately 1MB. The prekern uses a random offset aligned to
sh_addralign, to shift the section in physical memory.

For example, physical memory layout created by the bootloader for .text.4
and .rodata.0:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
|+---------------+ |+---------------+ |
|| .text.4 | PAD || .rodata.0 | PAD |
|+---------------+ |+---------------+ |
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
PA PA+2MB PA+4MB

Then, physical memory layout, after having been shifted by the prekern:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
| P +---------------+ | +---------------+ |
| A | .text.4 | PAD | PAD | .rodata.0 | PAD |
| D +---------------+ | +---------------+ |
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
PA PA+2MB PA+4MB

The kernel maps these 2MB physical chunks with 2MB large pages. Therefore,
randomness is enforced at both the virtual and physical levels, and the
resulting entropy is higher than that of our current implementaion until
now.

The padding around the section is filled by the prekern. Not to consume
too much memory, the sections that are smaller than PAGE_SIZE are mapped
with normal pages - because there is no point in optimizing them. In these
normal pages, the same shift is applied.

This change has two additional advantages: (a) the cache attacks based on
the TLB are mostly mitigated, because even if you are able to determine
that a given page-aligned range is mapped as executable you don't know
where exactly within that range the section actually begins, and (b) given
that we are slightly randomizing the physical layout we are making some
rare physical attacks more difficult to conduct.

NOTE: after this change you need to update GENERIC_KASLR / prekern /
bootloader.
 1.63 14-Nov-2017  maxv Split each kernel section into sub-blocks of approximately 2MB. The newly
created sections are named .origname.i, for example:

.text -> { .text .text.0 .text.1 .text.2 .text.3 .text.4 }

Each section is randomized independently by the prekern - and in a random
order obviously. As a result we can get intertwined mappings, of the type:

+-------+-----------+------+---------+-----------+-------+-------+------+-
| text1 | NOTMAPPED | bss0 | rodata1 | NOTMAPPED | data2 | text3 | bss1 |
+-------+-----------+------+---------+-----------+-------+-------+------+-

---------+-
rodata0 | ...
---------+-

The CTF section is dropped completely, because (a) when split it becomes
enormous for some reason (that I don't quite understand, verily), and (b)
the kernel expects only one CTF and can't handle several of them.
 1.62 14-Nov-2017  maxv Remove max-page-size on KASLR, it doesn't play any role.
 1.61 09-Nov-2017  maxv Use another ld script for kaslr kernels, in which there are no alignment
directives. They don't matter since the bootloader overwrites them.

But, normally we still need to make sure .data.read_mostly is aligned.
Unfortunately I couldn't find any way to force sh_addralign to be 64, so
I'm leaving the alignment there as a useless reminder.
 1.60 01-Nov-2017  maxv Add linux_sigcode.o, otherwise it doesn't get rebuilt.
 1.59 07-Oct-2017  maxv Add GENERIC_KASLR, only toolchain parts for now.
 1.58 09-Aug-2017  maxv Remove several dead entries from the x86 makefiles. Looks like people (me
included) regularly forget to take care of this.
 1.57 11-Feb-2017  maxv branches: 1.57.6;
Put 2MB alignments between the kernel segments. This way the kernel image
is entirely mapped with large pages, which uniformizes performance and
reduces fluctuation. Sent on port-amd64.
 1.56 02-Feb-2017  maxv Increase KERNTEXTOFF from 1MB to 2MB on amd64. [1MB; 2MB[ is now handled
by UVM, so there is no physical loss.

On amd64 we always remap the kernel text with 2MB pages, and because of the
1MB start address we were forced to map [0MB; 2MB[ inside the first large
page. The problem is, the lower half is used by UVM to allocate physical
pages, and it is possible that some of these could be used by userland. We
could end up with userland-controllable data mapped into the kernel text on
a privileged page, which is far from being a good idea from a security pov.

I am not fixing i386 yet, because the large page size depends on PAE, and
we probably don't want to have a text located at 4MB on low-memory systems.

(note: I didn't introduce this issue, it was already there when I came in)
 1.55 29-Apr-2016  christos branches: 1.55.2; 1.55.4;
Moved hack to ufs_lookup.c
 1.54 28-Apr-2016  mrg XXX: build ufs_lookup.c with -fno-tree-vrp when using GCC 5, for now.
 1.53 06-Sep-2015  uebayasi Define MD start code at the top of files.${MACHINE} relying on config(1)'s
deterministic file output order. No need to define ${MD_OBJS} and its useless,
explicit compile rules.
 1.52 03-Sep-2015  uebayasi Define ${MD_OBJS} as relative path. This change makes amd64 kernel buildable
for `-S' mode.
 1.51 24-Aug-2015  uebayasi Define ${LINKSCRIPT} in one place.
 1.50 18-Aug-2015  uebayasi ${KERN_LDSCRIPT} -> ${KERNLDSCRIPT}
 1.49 01-May-2015  nat Include splash with genfb.
splash.o is only included with options SPLASHSCREEN.
splash_image.o target moved to Makefile.kern.inc.

This commit was approved by matt@
 1.48 30-Apr-2015  nat Remove unintended whitespace.
 1.47 30-Apr-2015  nat Added a new option for embedding a splash screen into kernel.
Add: options SPLASHSCREEN
makeoptions SPLASHSCREEN_IMAGE="path/to/image"
to your config file. So far it will work on amd64 and RPI/RPI2.

This commit was with ideas, help, and OK from jmcneill@.
 1.46 15-Nov-2014  uebayasi branches: 1.46.2;
Use LINKSCRIPT.
 1.45 24-May-2014  jakllsch Add -fno-omit-frame-pointer to DEFCOPTS.
 1.44 05-Feb-2014  dsl branches: 1.44.2;
Apparantly clang doesn't like -mno-80387 or -mno-fp-ret-in-387
-msoft-float is equivalent to the former, the latter is probably unlikely
to stop anything not picked up elsewhere.
 1.43 05-Feb-2014  dsl Change the compiler options to explicitly specify:
-mno-mmx -mno-sse -mno-avx -mno-80387 -mno-fp-ret-in-387
Since no-sse implies no-sse2 that should ensure that the compiler really
doesn't emit any instructions that might trap trying to use the FPU.
On amd64 at least some of those are needed to stop the compiler
saving the registers to stack on every varargs function.
It might be that -mno-sse did that before.
 1.42 15-Jan-2014  joerg Reduce amount of -no-integrated-as on x86 as .code16 is now supported by
LLVM.
 1.41 14-Dec-2012  christos branches: 1.41.2;
do like the i386 for modular.
 1.40 19-Dec-2011  joerg branches: 1.40.6;
Move Clang-warning flags for ah_regdomain.c into sys/conf, they are
platform independent. Use the selective -Wno-* flags instead of
-Wno-error.
 1.39 14-Sep-2011  christos branches: 1.39.2; 1.39.6;
include wakecode after kernel rules so that the .depend rules are defined
 1.38 02-Aug-2011  joerg Remove a number of now unnecessary -no-integrated-as cases.
 1.37 10-Jun-2011  joerg Disable LLVM MC for spl.S for now. The different spllower sizes break
patchfunc.
 1.36 10-Jun-2011  joerg Explicitly disable use of SSE. LLVM generates SSE by default on AMD64
and we certainly don't want that in the kernel.
 1.35 30-May-2011  joerg branches: 1.35.2;
Disable -Werror for ah_regdomain.c if building with clang as workaround
for http://llvm.org/bugs/show_bug.cgi?id=10030.
 1.34 20-May-2011  joerg Drop redundant -I.
 1.33 20-May-2011  joerg Really apply the -no-integrated-as only for clang.
 1.32 20-May-2011  joerg Reuse -x assembler-with-cpp from sys.mk.
 1.31 20-May-2011  joerg LLVM's assembler parser doesn't support .code32 yet, so disable it as
needed.
 1.30 12-Jan-2011  joerg branches: 1.30.2;
Allow use of traditional CPP to be set on a per platform base in sys.mk.
Honour this for dependency processing in bsd.dep.mk. Switch i386 and
amd64 assembly to use ISO C90 preprocessor concat and drop the
-traditional-cpp on this platform.
 1.29 25-Nov-2009  tron branches: 1.29.4;
Enable SSP (Stack Smash Protection) in x86 kernels by default (except
in i386 *TINY kernels). The NetBSD/i386 "ALL" kernel is unconditionally
compiled with SSP enabled.

Change approved by the core team.
 1.28 02-Oct-2009  skrll It's -z max-page-size, not -z maxpagesize.
 1.27 01-Oct-2009  skrll MAXPAGESIZE got bumped to 0x200000. Use -z maxpagesize=0x100000 until
someone(tm) decides that kernels should have that alignment, etc.
 1.26 11-Dec-2008  alc branches: 1.26.2;
Clean-up makefile stub used to include in the build the binary HAL object
 1.25 30-Oct-2008  joerg branches: 1.25.2; 1.25.8;
New assym.h dependency.
 1.24 10-Mar-2008  ad branches: 1.24.4; 1.24.10; 1.24.12;
Implement an optimized, preemption-safe asm version of tsc_get_timecount().
The C version needs work to be preemption safe. Cuts the clock cycles
for microtime() from 950 down to 300 on a Pentium D.
 1.23 25-Jan-2008  joerg branches: 1.23.2; 1.23.6;
Refactor in_cksum/in4_cksum/in6_cksum implementations:
- All three functions are included in the kernel by default.
They call a backend function cpu_in_cksum after possibly
computing the checksum of the pseudo header.
- cpu_in_cksum is the core to implement the one-complement sum.
The default implementation is moderate fast on most platforms
and provides a 32bit accumulator with 16bit addends for L32 platforms
and a 64bit accumulator with 32bit addends for L64 platforms.
It handles edge cases like very large mbuf chains (could happen with
native IPv6 in the future) and provides a good base for new native
implementations.
- Modify i386 and amd64 assembly to use the new interface.

This disables the MD implementations on !x86 until the conversion is
done. For Alpha, the portable version is faster.
 1.22 21-Jan-2008  joerg in_cksum.S needs assym.h.
 1.21 17-Jan-2008  lukem Remove unnecessary references to config_time.h.
 1.20 30-Dec-2007  joerg Missing assym.h dependency.
 1.19 21-Dec-2007  joerg lock_stubs.S needs assym.h.
 1.18 09-Dec-2007  jmcneill branches: 1.18.2;
Merge jmcneill-pm branch.
 1.17 24-Oct-2007  joerg branches: 1.17.2; 1.17.4; 1.17.6;
cpufunc.S depends on assym.h.
 1.16 17-Oct-2007  garbled Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.15 04-Oct-2007  christos branches: 1.15.2;
busfunc depends on assym.h
 1.14 07-Jun-2006  kardel branches: 1.14.16; 1.14.24; 1.14.34; 1.14.36; 1.14.38;
convert to timecounters (from branch simonb-timecounters)
 1.13 04-Apr-2006  gdamore branches: 1.13.2;
Convert existing ath users to new Makefile, except for amd64, which needs
the rules due to needing to conditionally postprocess the HAL object file.

Macppc needs a a non-ELF HAL (EABI) object, so take care of that by default
in the atheros include file.
 1.12 02-Apr-2006  gdamore Reorganize ath layout as requested by sam@ and suggested by dyoung@ in
http://mail-index.netbsd.org/tech-net/2006/03/15/0000.html.

The new layout almost precisely matches FreeBSD, and should make
future imports much easier.

At the same time, import the current 0.9.16.16 HAL from FreeBSD. According
to sam@, this is the proper version we should be using.
 1.11 08-Mar-2006  dyoung branches: 1.11.2;
No need to create opt_ah.h here, config(8) takes care of it.
 1.10 03-Mar-2006  he branches: 1.10.2; 1.10.4;
Before symlinking opt_ah.h, make sure the target doesn't already exist.
This fixes a build problem with UPDATE set.
 1.9 30-Nov-2005  dsl branches: 1.9.4; 1.9.6;
It seems that make doesn't like testing empty() on undefined variables.
Also objdump DTRT when asked to update a file, so no need to do a mv ourselves.
 1.8 27-Nov-2005  dsl If we are compiling with -fno-asynchronous-unwind-tables then also
remove the .eh_frame section from athhal-x86_64-elf.hal.o.
 1.7 12-Jul-2005  sekiya branches: 1.7.6;
Add config goo for ath. Tested with a PCI card, detected as:

ath0 at pci0 dev 10 function 0
ath0: interrupting at ioapic0 pin 17 (irq 5)
ath0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
ath0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
ath0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36M bps 48Mbps 54Mbps
ath0: mac 5.9 phy 4.3 radio 3.6

Cardbus untested, so it is commented out.
 1.6 31-May-2005  christos branches: 1.6.2;
s/GENASSYM/GENASSYM_CONF/ so we can use "GENASSYM" as the program name.
 1.5 04-Jun-2004  thorpej Add the %MAKEOPTIONSAPPEND token at the end of the file, after the
common Makefile.kern.inc has been included.
 1.4 27-May-2003  christos branches: 1.4.2; 1.4.6;
another dependency on assym.h
 1.3 17-May-2003  christos clock.o depends on config_time.h
 1.2 04-May-2003  fvdl Default to -O2.
 1.1 26-Apr-2003  fvdl Rename the x86_64 port to amd64, as this is the actual name used for
the processor family now. x86_64 is kept as the MACHINE_ARCH value,
since it's already widely used (by e.g. the toolchain, etc), and
by other operating systems.
 1.4.6.1 06-Feb-2005  jmc Pull up patch (requested by martti in ticket #1086)
Move ipf to sys/dist/ipf and sync w. trunk
 1.4.2.5 11-Dec-2005  christos Sync with head.
 1.4.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.2.1 03-Aug-2004  skrll Sync with HEAD
 1.6.2.5 17-Mar-2008  yamt sync with head.
 1.6.2.4 04-Feb-2008  yamt sync with head.
 1.6.2.3 21-Jan-2008  yamt sync with head
 1.6.2.2 27-Oct-2007  yamt sync with head.
 1.6.2.1 21-Jun-2006  yamt sync with head.
 1.7.6.1 29-Nov-2005  yamt sync with head.
 1.9.6.2 30-Apr-2006  kardel retire microtime.S
 1.9.6.1 22-Apr-2006  simonb Sync with head.
 1.9.4.1 09-Sep-2006  rpaulo sync with head
 1.10.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.10.2.3 26-Jun-2006  yamt sync with head.
 1.10.2.2 11-Apr-2006  yamt sync with head
 1.10.2.1 13-Mar-2006  yamt sync with head.
 1.11.2.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.13.2.1 19-Jun-2006  chap Sync with head.
 1.14.38.1 06-Oct-2007  yamt sync with head.
 1.14.36.3 23-Mar-2008  matt sync with HEAD
 1.14.36.2 09-Jan-2008  matt sync with HEAD
 1.14.36.1 06-Nov-2007  matt sync with HEAD
 1.14.34.4 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.14.34.3 04-Oct-2007  joerg Sync with HEAD.
 1.14.34.2 24-Sep-2007  joerg Generate the ACPI wakecode image dynamically at build time.
 1.14.34.1 10-Sep-2007  joerg Add work-in-progress remerge of i386 changes for the ACPI wakecode
and changes to adopt it to AMD64.
 1.14.24.1 16-Oct-2007  garbled Sync with HEAD
 1.14.16.2 03-Dec-2007  ad Sync with HEAD.
 1.14.16.1 09-Oct-2007  ad Sync with head.
 1.15.2.1 13-Nov-2007  bouyer Sync with HEAD
 1.17.6.1 11-Dec-2007  yamt sync with head.
 1.17.4.1 26-Dec-2007  ad Sync with head.
 1.17.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.18.2.3 23-Jan-2008  bouyer Sync with HEAD.
 1.18.2.2 19-Jan-2008  bouyer Sync with HEAD
 1.18.2.1 02-Jan-2008  bouyer Sync with HEAD
 1.23.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.23.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.23.2.1 24-Mar-2008  keiichi sync with head.
 1.24.12.1 19-Jan-2009  skrll Sync with HEAD.
 1.24.10.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.24.4.2 11-Mar-2010  yamt sync with head
 1.24.4.1 04-May-2009  yamt sync with head.
 1.25.8.1 21-Apr-2010  matt sync to netbsd-5
 1.25.2.1 07-Aug-2009  snj Pull up following revision(s) (requested by sborrill in ticket #905):
sys/arch/alpha/conf/Makefile.alpha: revision 1.81
sys/arch/amd64/conf/Makefile.amd64: revision 1.26
sys/arch/i386/conf/Makefile.i386: revision 1.162
sys/arch/macppc/conf/Makefile.macppc: revision 1.31
sys/arch/mips/conf/Makefile.mips: revision 1.52
sys/arch/sparc64/conf/Makefile.sparc64: revision 1.68
sys/arch/xen/conf/Makefile.xen: revision 1.28
Clean-up makefile stub used to include in the build the binary HAL object
 1.26.2.4 27-Aug-2011  jym Sync with HEAD. Most notably: uvm/pmap work done by rmind@, and MP Xen
work of cherry@.

No regression observed on suspend/restore.
 1.26.2.3 29-Mar-2011  jym More sync fixes. And add the mbr_gpt files.
 1.26.2.2 28-Mar-2011  jym Sync with HEAD. TODO before merge:
- shortcut for suspend code in sysmon, when powerd(8) is not running.
Borrow ``xs_watch'' thread context?
- bug hunting in xbd + xennet resume. Rings are currently thrashed upon
resume, so current implementation force flush them on suspend. It's not
really needed.
 1.26.2.1 01-Nov-2009  jym Sync with HEAD.
 1.29.4.3 12-Jun-2011  rmind sync with head
 1.29.4.2 31-May-2011  rmind sync with head
 1.29.4.1 05-Mar-2011  rmind sync with head
 1.30.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.35.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.39.6.1 18-Feb-2012  mrg merge to -current.
 1.39.2.3 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.39.2.2 23-Jan-2013  yamt sync with head
 1.39.2.1 17-Apr-2012  yamt sync with head
 1.40.6.3 03-Dec-2017  jdolecek update from HEAD
 1.40.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.40.6.1 25-Feb-2013  tls resync with head
 1.41.2.1 18-May-2014  rmind sync with head
 1.44.2.1 10-Aug-2014  tls Rebase.
 1.46.2.4 28-Aug-2017  skrll Sync with HEAD
 1.46.2.3 05-Feb-2017  skrll Sync with HEAD
 1.46.2.2 22-Sep-2015  skrll Sync with HEAD
 1.46.2.1 06-Jun-2015  skrll Sync with HEAD
 1.55.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.55.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.57.6.1 11-Apr-2018  martin Pull up following revision(s) (requested by mrg in ticket #731):
sys/arch/i386/conf/files.i386: revision 1.392
sys/arch/i386/conf/GENERIC: revision 1.1175
sys/arch/i386/conf/GENERIC: revision 1.1176
sys/arch/amd64/conf/files.amd64: revision 1.102
sys/arch/i386/conf/GENERIC: revision 1.1177
share/man/man4/options.4: revision 1.485 (patch)
sys/arch/i386/conf/Makefile.i386: revision 1.190
sys/arch/amd64/conf/GENERIC: revision 1.487
sys/arch/amd64/conf/ALL: revision 1.85
sys/arch/amd64/conf/GENERIC: revision 1.488
sys/arch/amd64/conf/GENERIC: revision 1.489
sys/arch/amd64/conf/Makefile.amd64: revision 1.67
sys/arch/i386/conf/ALL: revision 1.437

add an SPECTRE_V2_GCC_MITIGATION option to x86 kernels, that turns
on the GCC spectre v2 mitigation options.
XXX: pullup-8.
XXX: turn on in all kernels.

actually do what the previous change said:
don't turn on the new 'SPECTRE_V2_GCC_MITIGATION' option yet.

turn on GCC spectre v2 mitigation options.
XXX: amd64 ALL doesn't build for me right now
 1.66.2.6 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.66.2.5 30-Sep-2018  pgoyette Ssync with HEAD
 1.66.2.4 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.66.2.3 25-Jun-2018  pgoyette Sync with HEAD
 1.66.2.2 22-Apr-2018  pgoyette Sync with HEAD
 1.66.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.71.2.3 21-Apr-2020  martin Sync with HEAD
 1.71.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.71.2.1 10-Jun-2019  christos Sync with HEAD
 1.82.2.2 20-Apr-2020  bouyer Sync with HEAD
 1.82.2.1 16-Apr-2020  bouyer Reorganise sources to make it possible to include Xen PVHVM support in
native kernels. Among others:
- move xen/include/amd64/hypercall.h to amd64/include/xen and
xen/include/i386/hypercall.h to i386/include/xen
- exclude some native files from the build for xenpv
- add xen to "machine" config statement for amd64 and i386
- split arch/xen/conf/files.xen to arch/xen/conf/files.xen (for pv drivers)
and arch/xen/conf/files.xen.pv (for full pv support)
- add GENERIC_XENHVM kernel config which includes GENERIC and add Xen PV
drivers.
 1.7 05-Jun-2023  pgoyette Un-comment the ident line
 1.6 20-Jan-2021  pgoyette COMPAT_OSSAUDIO no longer exists; remove dangling reference
 1.5 16-Aug-2020  jdolecek branches: 1.5.2;
make COMPAT_LINUX option disabled by default

leave the option enabled only in amd64/i386 ALL kernels to make
sure it continues to be compilable also when included in kernel
 1.4 05-Oct-2019  pgoyette Add a commented-out entry for COMPAT_90 for completeness

NFCI
 1.3 12-Jun-2019  pgoyette Fix typo in comment (missing 'need')
 1.2 27-Jan-2019  pgoyette branches: 1.2.4;
Merge the [pgoyette-compat] branch
 1.1 06-Mar-2018  pgoyette branches: 1.1.2;
file NOCOMPAT was initially added on branch pgoyette-compat.
 1.1.2.9 24-Jan-2019  pgoyette Disable more COMPAT_xx stuff for the NOCOMPAT config
cvs: ----------------------------------------------------------------------
 1.1.2.8 22-Jan-2019  pgoyette Only explicitly disable COMPAT_15, it is the only compat option that
is actually set. The others are "pulled in" by statements in
sys/conf/files


This avoids numerous noisy but unnecessary warnings from nbconfig.
 1.1.2.7 22-Jan-2019  pgoyette Rather than having to track changes in GENERIC and incorporate them
into NOCOMPAT, just include GENERIC and then turn off the various
COMPAT options.
 1.1.2.6 22-Jan-2019  pgoyette Synch GENERIC and NOCOMPAT with GENERIC from HEAD
 1.1.2.5 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.1.2.4 01-Oct-2018  pgoyette Sync with changes from HEAD: no more ATM
 1.1.2.3 11-Mar-2018  pgoyette Remove another COMPAT option
 1.1.2.2 09-Mar-2018  pgoyette Split the sysv_ipc module into two pieces: one for contemporary
SYSV* functionality, and one for compatability with previous NetBSD
versions. No need to pull in all of compat just to have a sysv_ipc
module.
 1.1.2.1 06-Mar-2018  pgoyette Add a NOCOMPAT kernel definition to serve as a baseline for getting
the incremental COMPAT_xx options working.

While here, add some additional "requires COMPAT_xxx" to some of the
options in GENERIC
 1.2.4.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.4.2 10-Jun-2019  christos Sync with HEAD
 1.2.4.1 27-Jan-2019  christos file NOCOMPAT was added on branch phil-wifi on 2019-06-10 22:05:47 +0000
 1.5.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.3 02-Nov-2014  christos make DRMKMS the default on GENERIC and comment out the legacy drivers.
 1.2 18-Mar-2014  riastradh branches: 1.2.4; 1.2.6; 1.2.8; 1.2.10;
Merge riastradh-drm2 to HEAD.
 1.1 24-Jul-2013  riastradh branches: 1.1.2;
file NO_DRM was initially added on branch riastradh-drm2.
 1.1.2.3 30-Jan-2014  riastradh Redo amd64/NO_DRM config and add amd64/DRMKMS.
 1.1.2.2 29-Jan-2014  riastradh Include genfb in NO_DRM kernel rather than modularizing.

Modularizing required a bunch of hacks (wscons/genfb/&c. is not ready
for modules) and failed to pull in rasops dependencies, so rasops
never worked correctly.
 1.1.2.1 24-Jul-2013  riastradh Provisional NO_DRM config for testing with a module.

Too much trouble to keep this as an uncommitted change...
 1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.10.1 18-Mar-2014  tls file NO_DRM was added on branch tls-maxphys on 2014-08-20 00:02:42 +0000
 1.2.8.2 18-Mar-2015  snj Apply patch (requested by christos in ticket #542):
- Enable intel and radeon DRM/KMS drivers in GENERIC
- Disable all of the old DRM drivers in GENERIC
- Remove the separate DRMKMS kernel
 1.2.8.1 21-Jan-2015  martin After removing i915drm from GENERIC, also remove the corresponding
"no i915drm*" statements to make (old) config(1) happy.
Requested by snj in ticket #438
 1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.6.1 18-Mar-2014  yamt file NO_DRM was added on branch yamt-pagecache on 2014-05-22 11:39:28 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 18-Mar-2014  rmind file NO_DRM was added on branch rmind-smpnet on 2014-05-18 17:44:54 +0000
 1.3 30-Apr-2020  riastradh Rewrite entropy subsystem.

Primary goals:

1. Use cryptography primitives designed and vetted by cryptographers.
2. Be honest about entropy estimation.
3. Propagate full entropy as soon as possible.
4. Simplify the APIs.
5. Reduce overhead of rnd_add_data and cprng_strong.
6. Reduce side channels of HWRNG data and human input sources.
7. Improve visibility of operation with sysctl and event counters.

Caveat: rngtest is no longer used generically for RND_TYPE_RNG
rndsources. Hardware RNG devices should have hardware-specific
health tests. For example, checking for two repeated 256-bit outputs
works to detect AMD's 2019 RDRAND bug. Not all hardware RNGs are
necessarily designed to produce exactly uniform output.

ENTROPY POOL

- A Keccak sponge, with test vectors, replaces the old LFSR/SHA-1
kludge as the cryptographic primitive.

- `Entropy depletion' is available for testing purposes with a sysctl
knob kern.entropy.depletion; otherwise it is disabled, and once the
system reaches full entropy it is assumed to stay there as far as
modern cryptography is concerned.

- No `entropy estimation' based on sample values. Such `entropy
estimation' is a contradiction in terms, dishonest to users, and a
potential source of side channels. It is the responsibility of the
driver author to study the entropy of the process that generates
the samples.

- Per-CPU gathering pools avoid contention on a global queue.

- Entropy is occasionally consolidated into global pool -- as soon as
it's ready, if we've never reached full entropy, and with a rate
limit afterward. Operators can force consolidation now by running
sysctl -w kern.entropy.consolidate=1.

- rndsink(9) API has been replaced by an epoch counter which changes
whenever entropy is consolidated into the global pool.
. Usage: Cache entropy_epoch() when you seed. If entropy_epoch()
has changed when you're about to use whatever you seeded, reseed.
. Epoch is never zero, so initialize cache to 0 if you want to reseed
on first use.
. Epoch is -1 iff we have never reached full entropy -- in other
words, the old rnd_initial_entropy is (entropy_epoch() != -1) --
but it is better if you check for changes rather than for -1, so
that if the system estimated its own entropy incorrectly, entropy
consolidation has the opportunity to prevent future compromise.

- Sysctls and event counters provide operator visibility into what's
happening:
. kern.entropy.needed - bits of entropy short of full entropy
. kern.entropy.pending - bits known to be pending in per-CPU pools,
can be consolidated with sysctl -w kern.entropy.consolidate=1
. kern.entropy.epoch - number of times consolidation has happened,
never 0, and -1 iff we have never reached full entropy

CPRNG_STRONG

- A cprng_strong instance is now a collection of per-CPU NIST
Hash_DRBGs. There are only two in the system: user_cprng for
/dev/urandom and sysctl kern.?random, and kern_cprng for kernel
users which may need to operate in interrupt context up to IPL_VM.

(Calling cprng_strong in interrupt context does not strike me as a
particularly good idea, so I added an event counter to see whether
anything actually does.)

- Event counters provide operator visibility into when reseeding
happens.

INTEL RDRAND/RDSEED, VIA C3 RNG (CPU_RNG)

- Unwired for now; will be rewired in a subsequent commit.
 1.2 10-Aug-2014  tls branches: 1.2.4;
Merge tls-earlyentropy branch into HEAD.
 1.1 06-Apr-2014  tls branches: 1.1.2;
file RNDVERBOSE was initially added on branch tls-earlyentropy.
 1.1.2.1 06-Apr-2014  tls RNDVERBOSE kernel for testing.
 1.2.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.4.1 10-Aug-2014  tls file RNDVERBOSE was added on branch tls-maxphys on 2014-08-20 00:02:42 +0000
 1.35 10-Dec-2007  ad Real hardware has been available for a long time now!
 1.34 17-Oct-2007  garbled branches: 1.34.2; 1.34.4; 1.34.6; 1.34.8;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.33 06-Sep-2007  martti Fixed indentation (it should be <keyword><space><tab><name>tab><comment>).
 1.32 16-Jun-2007  ad branches: 1.32.4; 1.32.8; 1.32.10;
-options I2OVERBOSE.
 1.31 29-May-2007  christos Add compat 4.0
 1.30 29-Dec-2006  yamt branches: 1.30.6; 1.30.8; 1.30.14;
update comments on NFS_V2_ONLY after nqnfs removal. no functional changes.
from Arnaud Lacombe.
 1.29 27-Sep-2006  manu - Document COMPAT_15 as doing nothing
- Add COMPAT_15 to all the kernel that had COMPAT_14, for the sake of coherency
- Remove the only occurences of #ifdef COMPAT_15 in the tree: for the ARM
ports, COMPAT_15 was always used in conjunction with EXEC_AOUT. Only EXEC_AOUT
matters here.

This address kern/18407
 1.28 26-Aug-2006  christos branches: 1.28.2; 1.28.4;
PR/34283: Gene ENonymous: Add IPFILTER_LOOKUP to the default kernel options
Also remove CCITT,NS,NIP
 1.27 05-Feb-2006  cube branches: 1.27.2;
Remove 'count' argument for pseudo-devices that ignore it
(vnd, bpfilter, ppp, gif, gre, tun, sl, strip, faith, stf).
 1.26 04-Feb-2006  rpaulo bpfilter doesn't accept count anymore.
 1.25 20-Dec-2005  thorpej branches: 1.25.2; 1.25.4; 1.25.6;
Remove the tablet line discipline.
 1.24 07-Dec-2005  tsutsui Remove obsolete options VNODE_OP_NOINLINE.
 1.23 07-Dec-2005  tsutsui Adjust comments for options FFS_NO_SNAPSHOT.

XXX: This option should be mentioned in options(4).
 1.22 19-Aug-2005  christos Enable ptyfs by default on the non-install and non small/tiny/ramdisk kernels
 1.21 19-Aug-2005  christos 64 bit inode changes.
 1.20 31-Jul-2005  yamt revert "defflag VMSWAP" changes for now.
there seems to be far more people who don't want to edit
their kernel config files than i thought.
 1.19 30-Jul-2005  yamt add "options VMSWAP" to non INSTALL kernels.
 1.18 28-Jun-2005  wiz branches: 1.18.2;
pss(4) was removed, remove it from kernel configs too.
 1.17 25-Mar-2005  cube Add attimer(4) configurations everywhere pcppi(4) exists, with the
following rule:
If a pcppi device is enabled for an attachment, enable an attimer for the
same attachement, otherwise comment it.
 1.16 11-Mar-2005  matt Add cpu* at mainbus0
 1.15 25-Feb-2005  simonb Add COMPAT_20 (and COMPAT_16 in some cases) to kernel config files
that didn't have those options but had other earlier compat options.
 1.14 18-Feb-2005  dsl Invert FFS_SNAPSHOT to FFS_NO_SNAPSHOT
 1.13 11-Feb-2005  dsl Add 'option FFS_SNAPSHOT' to most of the config files.
Commented out for kernels that appear to hace space constraints.
 1.12 31-Jan-2005  hannken Add file system snapshots to kernel configs.

- Ffs internal snapshots get compiled in unconditionally.

- File system snapshot device fss(4) added to all kernel configs that
have a disk. Device is commented out on all non-GENERIC kernels.

Reviewed by: Jason Thorpe <thorpej@netbsd.org>
 1.11 24-Nov-2004  bouyer branches: 1.11.4; 1.11.6;
pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) serie of
controllers. Tested with a PDC20375 (2 SATA, one PATA) controller on sparc64.
Added to all kernel config file which had pdcide(4).
 1.10 10-Nov-2004  christos Add COMPAT_BSDPTY on all the kernels that have COMPAT options.
 1.9 04-Sep-2004  manu IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
 1.8 15-Jul-2004  atatat Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
 1.7 14-Dec-2003  thorpej branches: 1.7.2;
Split the Intel i31244 SATA controller ("Artisea") driver out of piixide
into its own driver (artsata).
 1.6 13-Dec-2003  thorpej Split out the Silicon Image SATALink support into its own driver,
"satalink".
 1.5 18-Oct-2003  lukem Use one 'atabus* at ata?' instead of multiple 'atabus* at FOOide? channel ?'
Use 'atapibus* at atapi?' instead of 'atapibus* at atabus?'
 1.4 08-Oct-2003  bouyer Add new per-chip pciide drivers.
 1.3 08-Oct-2003  bouyer Add atabus.
 1.2 15-May-2003  wiz branches: 1.2.2;
There are no olms or omms drivers for amd64.
 1.1 26-Apr-2003  fvdl Rename the x86_64 port to amd64, as this is the actual name used for
the processor family now. x86_64 is kept as the MACHINE_ARCH value,
since it's already widely used (by e.g. the toolchain, etc), and
by other operating systems.
 1.2.2.11 11-Dec-2005  christos Sync with head.
 1.2.2.10 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.2.9 01-Apr-2005  skrll Sync with HEAD.
 1.2.2.8 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.2.2.7 15-Feb-2005  skrll Sync with HEAD.
 1.2.2.6 04-Feb-2005  skrll Sync with HEAD.
 1.2.2.5 29-Nov-2004  skrll Sync with HEAD.
 1.2.2.4 14-Nov-2004  skrll Sync with HEAD.
 1.2.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.2.1 03-Aug-2004  skrll Sync with HEAD
 1.7.2.1 15-Jul-2004  he branches: 1.7.2.1.2;
Pull up revision 1.8 (requested by atatat in ticket #663):
Add "options SYSCTL_INCLUDE_DESCR" to a lot of configurations,
but commented out in most of them.
 1.7.2.1.2.1 02-Apr-2005  he Pull up revision 1.11 (requested by bouyer in ticket #1019):
Add pdcsata(4), a driver for the Promise SATA150 (aka PDC203xx) series of
controllers.
 1.11.6.3 26-Mar-2005  yamt sync with head.
 1.11.6.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.11.6.1 12-Feb-2005  yamt sync with head.
 1.11.4.1 29-Apr-2005  kent sync with -current
 1.18.2.5 21-Jan-2008  yamt sync with head
 1.18.2.4 27-Oct-2007  yamt sync with head.
 1.18.2.3 03-Sep-2007  yamt sync with head.
 1.18.2.2 30-Dec-2006  yamt sync with head.
 1.18.2.1 21-Jun-2006  yamt sync with head.
 1.25.6.1 22-Apr-2006  simonb Sync with head.
 1.25.4.1 09-Sep-2006  rpaulo sync with head
 1.25.2.1 18-Feb-2006  yamt sync with head.
 1.27.2.1 03-Sep-2006  yamt sync with head.
 1.28.4.1 22-Oct-2006  yamt sync with head
 1.28.2.2 12-Jan-2007  ad Sync with head.
 1.28.2.1 18-Nov-2006  ad Sync with head.
 1.30.14.2 03-Oct-2007  garbled Sync with HEAD
 1.30.14.1 26-Jun-2007  garbled Sync with HEAD.
 1.30.8.1 11-Jul-2007  mjf Sync with head.
 1.30.6.3 09-Oct-2007  ad Sync with head.
 1.30.6.2 15-Jul-2007  ad Sync with head.
 1.30.6.1 09-Jun-2007  ad Sync with head.
 1.32.10.2 23-Mar-2008  matt sync with HEAD
 1.32.10.1 06-Nov-2007  matt sync with HEAD
 1.32.8.1 02-Oct-2007  joerg Sync with HEAD.
 1.32.4.1 10-Sep-2007  skrll Sync with HEAD.
 1.34.8.1 13-Dec-2007  bouyer Sync with HEAD
 1.34.6.1 11-Dec-2007  yamt sync with head.
 1.34.4.1 26-Dec-2007  ad Sync with head.
 1.34.2.1 27-Dec-2007  mjf Sync with HEAD.
 1.1 12-Jul-2018  phil branches: 1.1.2;
file TESTWIFI was initially added on branch phil-wifi.
 1.1.2.4 10-Jun-2019  christos Sync with HEAD
 1.1.2.3 15-Aug-2018  phil Final changes for 200 hour contract. Still a lot of work to do.
With these changes, Station mode works with an open AP.
 1.1.2.2 03-Aug-2018  phil State Save:
Scanning works, can see the broadcasts and stations.
Association appears to work. (open networks only, no encryption yet.)
IP traffic doesn't flow yet, not sure where the error is.
Added back more NetBSD ioctls not in the FreeBSD code. Still have
more to go.
Updated my TESTWIFI kernel config.
 1.1.2.1 12-Jul-2018  phil State save. New kernel config for this brach only. TESTWIFI does
produce a kernel. It is not working. athn files not compiling yet
and commented out of the TESTWIFI kernel, which only has urtwn 802.11
driver enabled. ieee80211_alq.c and ieee80211_ddb.c not compiling yet.
 1.206 21-Oct-2025  pgoyette Add Realtek 8126 to comment for rge*
 1.205 22-May-2025  bad actually include "amd64/conf/XEN3_DOM0.local as intended

Typoed in previous commit.

PR port-xen/59438: GENERIC content can't be in GENERIC.local because of XEN3_DOM* kernels
 1.204 22-May-2025  bad make XEN3 configs include XEN3.local instead of GENERIC.local

The XEN device tree is not compatible with the non-XEN device tree.

This means that one can't enable in GENERIC.local many devices that are
commented out in GENERIC. E.g,

vio9p* at virtio?
i915drm* at drm?
qat* at pci? dev ? function ?
audio* at audiobus?

Switch to including XEN3.local instead of GENERIC.local to have a common
file for local XEN3 specific configuration.

See https://mail-index.netbsd.org/tech-kern/2024/08/11/msg029672.html for
the discussion.

Note that GENERIC.local was added to most arches only in February 2023:
https://mail-index.netbsd.org/source-changes/2023/02/12/msg143277.html

Addresses: PR port-xen/59438: GENERIC content can't be in GENERIC.local because
of XEN3_DOM* kernels

Should probably be pulled up to -10 and -9.
 1.203 02-Apr-2024  charlotte branches: 1.203.2;
Mention DKWEDGE_METHOD_TOS in several kernel config files
 1.202 29-Jan-2024  christos PR/57889: Ricardo Branco: ext2fs does not have user immutable and append
file flags, only system ones. Restrict those to the superuser. Before
the behavior was controlled by EXT2FS_SYSTEM_FLAGS. Make that behavior the
default.
 1.201 17-Oct-2023  bouyer Enable genfb in DOM0 kernels
 1.200 04-Oct-2023  rin igc(4): Added to kernel config files for tested platforms

I.e., aarch64, amd64, and evbppc/DHT, at the moment.

Please feel free to add to other config files, and report us back
if you find problems :)
 1.199 05-Aug-2023  riastradh xen/x86: Enable heartbeat checks.
 1.198 09-Feb-2023  abs Adjust _all_ cinclude of *.local files

- Ensure always at end
- Use tab rather than spaces
- Add consistent comment
"Pull in optional local configuration - always at end"

The only functional change is that a local file which tried to
override an existing setting (eg with "no foo") would have failed
in some cases before, but now will work
 1.197 07-Aug-2022  simonb branches: 1.197.4;
UFS/LFS dirhash:
- Enable UFS_DIRHASH if the architecture or kernel model specific config
file can use 128MB of RAM or more.
- Remove experimental tag from UFS_DIRHASH; it's been with RUMP kernel
and by a number of NetBSD developers for years.
- Add LFS_DIRHASH if LFS was enabled.
- Be somewhat consistent with FS options order.
 1.196 24-May-2022  bouyer PR kern/56853: add a dummy acpi_md_vbios_reset variable so that we
can again enable vga at pci for Xen.
Note that this only works in BIOS mode, not UEFI mode.
 1.195 24-May-2022  bouyer Looks like we finally can enable MSI/MSI-X on Xen
Should fix PR kern/56793 and PR kern/55667
 1.194 24-Sep-2021  manu Move XEN3_DOM0 as close as possible to GENERIC.
Document why some options are disabled
Set NO_PCI_MSI_MSIX to work around crashes reported in multiple PR
 1.193 29-Jun-2021  nia Remove uscanner(4) driver

This exists for compatibility with a Linux interface which was apparently
deprecated in Linux 2.6. There are various mailing list threads going
back to 2004 where the usefulness of this driver is discussed, but
the conclusion is that scanner software has all moved to using ugen(4)
instead, and enabling this driver will not help you scan things.
 1.192 05-Mar-2021  gdt branches: 1.192.4;
XEN3_DOM0: Approach GENERIC

When processed to remove comments, blank lines, normalize whitespace,
and sort/uniq (one line was previously duplicated), this file is
identical to the previous version. It has been reorganized to reduce
diffs to GENERIC, and many missing lines from GENERIC have been added
but commented out.
 1.191 04-Mar-2021  gdt XEN3_DOM0: Move closer to GENERIC (NFC)

This is another step in making XEN3_DOM0 closer to GENERIC. It is
just reordering lines, adding commented out lines, and adding a few
comments. (Test-booted with no dmesg change.)

This pass is showing cases where there are substantive and likely
undesired changes (e.g., UFS_ACL is not defined in XEN3_DOM0). Often
I added them but commented them out to preserve the NFC property of
this commit. My plan is to finish the easy NFC stuff first before
addressing functional changes.
 1.190 03-Mar-2021  gdt XEN3_DOM0: Move closer to GENERIC (NFC)

This commit reorders some lines, and brings in commented lines from
GENERIC to reduce the diff. It also brings in two agp lines,
commented out, and with a warning that they are intentionally omitted.
 1.189 02-Mar-2021  gdt XEN3_DOM0: Fix pckbc console attachment logic

Copy PCKBD_CNATTACH_MAY_FAIL lines from GENERIC to XEN3_DOM0.

GENERIC defines PCKBD_CNATTACH_MAY_FAIL, which means that an attempt
to activate console input on pckbc will fail if there is no keyboard
present. This is a problem on semi-modern machines that have pckbc
silicon but not ports, and thus almost always have a USB keyboard
also. What I suspect are bugs in console attachment logic lead to
attempting to attach a ukbd while there already is a console keyboard,
and with DIAGNOSTIC this is (properly) fatal, so XEN3_DOM0 blows up
with a USB keyboard in current, and probably not in 9.

Live tested on a machine that previously paniced on boot.
 1.188 02-Mar-2021  gdt XEN3_DOM0: Sync VERBOSE with GENERIC

Copy the *VERBOSE option block from GENERIC, and prune the scattered
verbose options in XEN3_DOM0, surely dating from a time they were
copied from an earlier GENERIC. This amounts to adding PCIVERBOSE and
SCSIVERBOSE, and the diff from GENERIC to DOM0 boots is markedly
reduced.
 1.187 01-Mar-2021  gdt amd64/conf/XEN3_DOM0: Add comment

This commit merely adds a comment explaining how XEN3_DOM0 ought to
relate to GENERIC.
 1.186 20-Jan-2021  nia remove compat_ossaudio from kernel modules

this is only useful with compat_linux and gets autoloaded when
compat_linux is loaded, so there's no reason to bake it into kernels
any more.
 1.185 27-Sep-2020  roy branches: 1.185.2;
vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.184 16-Aug-2020  jdolecek make COMPAT_LINUX option disabled by default

leave the option enabled only in amd64/i386 ALL kernels to make
sure it continues to be compilable also when included in kernel
 1.183 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.182 28-Jul-2020  jdolecek remove NO_PCI_MSI_MSIX again, enabling MSI for Xen Dom0 by default
 1.181 26-May-2020  jdolecek put back NO_PCI_MSI_MSIX, need to fix MSI issues reported in PR port-xen/55285
first
 1.180 22-May-2020  jdolecek remove NO_PCI_MSI_MSIX option, MSI is supported for XenPV Dom0
 1.179 16-May-2020  maya Remove uyap, USB YAP phone firmware loader.

And the associated ezload EZ-USB code, which is only used by uyap.
It could theoretically be used by other drivers, but none of them are
in tree.

I suspect that this device isn't in use, as phone technology has improved
a lot since 2001 when uyap(4) was added to the tree.

Proposed with no objections on netbsd-users on 13 April 2020
 1.178 13-May-2020  bouyer MULTIPROCESSOR for dom0 should be safe now. Enable it.
 1.177 25-Apr-2020  bouyer Disable -g, which got enabled by mistake in the bouyer-xenpvh merge
 1.176 25-Apr-2020  bouyer Merge the bouyer-xenpvh branch, bringing in Xen PV drivers support under HVM
guests in GENERIC.
Xen support can be disabled at runtime with
boot -c
disable hypervisor
 1.175 09-Feb-2020  jmcneill branches: 1.175.4;
Retire azalia(4).
 1.174 29-Jan-2020  maya remove urio(4), a driver for the Rio500 MP3 player.

At this point it is highly unlikely this 1999 device still has users,
but it still comes up in the context of maxv's USB-fuzzing (and any device
could pretend to be a urio(4)), so it's best to get rid of it.

Renamed all major entries to obsolete, as was done in previous removals.

This still requires an update to sanitizers, but they're located in
"external", perhaps it should be first committed upstream?

Proposed on tech-kern a month ago.
 1.173 25-Jan-2020  thorpej Retire "le* at pci?" from the shipped kernel configs:
- If the config had both an le@pci and a pcn, simply remove le@pci
(pcn would match at a higher priority anyway).
- If the config had le@pci enabled, but no pcn, change le@pci to pcn.
- If the config had le@pci commented out, but no pcn, change le@pci
to pcn and leave it commented out.

The pcn driver supports more chips than le@pci and does DMA directly
to/from mbufs rather than memory copies.
 1.172 20-Jan-2020  thorpej Remove FDDI support.
 1.171 19-Jan-2020  thorpej Remove HIPPI support and the esh(4) driver that uses it. There have not
been any users of HIPPI for some time, and it is unlikely to be resurrected.
 1.170 01-Jan-2020  ryo branches: 1.170.2;
add aq(4)
 1.169 21-Aug-2019  maxv No USER_LDT on Xen.
 1.168 09-Aug-2019  rin xhci(4) is considered stable enough. So, remove misleading comments.

XXX
pullup to netbsd-9
 1.167 06-May-2019  sevan branches: 1.167.2;
Use filesystems.config to reduce duplication
 1.166 11-Feb-2019  cherry We reorganise definitions for XEN source support as follows:

XEN - common sources required for baseline XEN support.
XENPV - sources required for support of XEN in PV mode.
XENPVHVM - sources required for support for XEN in HVM mode.
XENPVH - sources required for support for XEN in PVH mode.
 1.165 06-Feb-2019  rin Add ure(4) to kernel config files. Also add PHY drivers where necessary.
 1.164 02-Feb-2019  cherry Re-enable ixg(4) on NetBSD/xen dom0

Namespace conflicts have been resolved.

Note that driver still has an incorrect us of __asm() gnu primitives
via

#if __FreeBSD_version < 800000
...
#endif

Since __FreeBSD_version is undefined and thus equates to 0 and thus
satisfies the inequality.

Needs fixing by driver maintainer.
 1.163 02-Feb-2019  cherry Summary: Disable ixg(4) until the linuxist mb() API re-definition
within the XEN amd64 dom0 build is resolved.

Detail:
The xen public headers >= 0x00030201 depend on a linuxism - a memory
barrier "API" namely mb(), rmb() and wmb(). These are made accessible
to NetBSD code via the interface
sys/external/bsd/common/include/asm/barrier.h

Currently the ixg(4) driver uses an identical API by defining them
(incorrectly) to inline assembler macro definitions in
sys/dev/pci/ixgbe/ixgbe_osdep.h

This will result in the dom0 builds failing to build due to this
redefinition of the macros. We therefore disable the driver in
NetBSD/amd64 dom0 in order to facilitate smoothly moving the XEN
kernel builds to the new XEN source level API (RELEASE-4.11.1).

The fix for this is trivial, but needs the attention of the driver
maintainer.
 1.162 25-Dec-2018  mlelstv Make ipmi driver available to other platforms.
Add ACPI attachment.
 1.161 22-Dec-2018  cherry This change modifies the mainbus(4) entry point for all x86 sub-archs
in the following way:

i) It provides a unified entry point in
x86/x86/mainbus.c:mainbus_attach()
ii) It carves out the preliminary bus attachment sequence that is
common to all sub-archs into
x86/x86/mainbus.c: x86_cpubus_attach()
iii) It consolidates the remaining pathways as internal callee
functions so that these may be called piecemeal if required. A
special usecase of this is XEN PVHVM which may need to call the
native configure path, the xen configure path, or both.
iv) It moves the driver private data structures from
i386/i386_mainbus.c to an x86/ level one. This allows for other
sub-arch's to do similar, if needed. (They do not at the moment).
v) For dom0 kernels, it enables 'acpi0 at mainbus?' and
'acpi0 at hypervisorbus'. This serves two purposes:
a) To demonstrate the possibility of dynamic configuration tree
traversal ordering changes.
b) To allow for the common acpi_check(self, "acpibus") call in
x86/mainbus.c to not barf when it is called from the dom0 attach
path. We allow for the acpi0 device to be a child of mainbus with
the changes to amd64/conf/XEN3_DOM0 and i386/conf/XEN3PAE_DOM0
without actually probing further in the code. This path will later
be pursued in a PVHVM boot codepath.

There should be no operative changes with this change. If there are,
please complain loudly.
 1.160 12-Dec-2018  maxv Remove references to "lmc" in the kernel configurations.
 1.159 24-Nov-2018  bouyer Add mpii(4), a driver for LSI Megaraid Fusion controllers.
Ported from OpenBSD. This driver is MP-safe.
Note that the earlier fusion controllers (Megaraid 2208, codenamed Thunderbold)
are also supported by mfi(4). mpii will take precedence if both drivers
are enabled.
Tested on a
mfii0 at pci6 dev 0 function 0: "PERC H740P Adapter ", firmware 50.3.0-1512, 819
2MB cache
mfii0: interrupting at ioapic2 pin 2
scsibus0 at mfii0: 64 targets, 8 luns per target
scsibus0: waiting 2 seconds for devices to settle...
sd0 at scsibus0 target 0 lun 0: <DELL, PERC H740P Adp, 5.03> disk fixed
sd0: fabricating a geometry
sd0: 99 GB, 102399 cyl, 64 head, 32 sec, 512 bytes/sect x 209714688 sectors
sd0: tagged queueing
sd1 at scsibus0 target 1 lun 0: <DELL, PERC H740P Adp, 5.03> disk fixed
sd1: fabricating a geometry
sd1: 22254 GB, 22788608 cyl, 64 head, 32 sec, 512 bytes/sect x 46671069696 sectors
sd1: fabricating a geometry

It supports bioctl(8) ioctls, as well as sensors for the BBU and logical
drives.

Sponsored by LIP6.
 1.158 23-Oct-2018  jdolecek remove the 'wd* at umass?' for the non-standardized and rare (extinct?)
In-System Design ATA protocol over Bulk-Only devices from most kernels,
leave only in i386/amd64 ALL; it's unmaintained and likely currently broken,
lack of test hardware makes it impossible to support
 1.157 06-Sep-2018  maxv Retire the 'midway' driver. Discussed on tech-net@ recently and also three
years ago, part of removing the network ATM code.
 1.156 25-Aug-2018  rin Add (commented out) mue(4) to where appropriate.
Also add MII/PHY drivers for USB NICs if missing.
 1.155 14-Aug-2018  maxv Enable L2TP on all x86 configurations, not just native amd64.
 1.154 01-Aug-2018  maxv Unreference IPF/PF from the x86 config files (amd64, i386, xen), and enable
NPF instead when wanted.
 1.153 23-Jun-2018  jakllsch branches: 1.153.2;
Add acpiecdt* at acpi?.
 1.152 22-Jun-2018  darcy PR port-xen/50446
With approval from bouyer@ and acceptance, sometimes grudgingly, from
others I have removed the AGP lines from the XEN3_DOM0 config. I have
left a note in the PR suggesting that if it ever gets a proper fix that
those lines can be considered for re-inclusion.
 1.151 07-Jun-2018  thorpej Revert changes that pinned-down i2c parent specs. The i2c subsystem
has been enhanced to make this unnecessary.
 1.150 15-May-2018  thorpej Fully specifiy the location of indirectly-configured I2C devices. In
particular, the parent spec must not be wild-carded, as doing so doesn't
work well on systems where more than one I2C bus is present.

N.B. The x86 platforms are sort of a mess, here... legacy indirect
config and ACPI direct config sort of smashed together with the
same config file directives.
 1.149 17-Feb-2018  sevan branches: 1.149.2;
With the introduction of ddb.dumpstack which is enabled by default, we no longer
need to explicitly set DDB_COMMANDONENTER to run a trace.
 1.148 05-Feb-2018  bouyer Follow GENERIC and enable xhci(4) by default. PR port-xen/52978
 1.147 27-Jan-2018  pgoyette Update amdzentemp(4) attachment info. Also for ALL, remove duplicate
entry for amdtemp(4).
 1.146 25-Jan-2018  christos add amdzentemp
 1.145 23-Jan-2018  sevan Alternate buffer queue strategies no longer considered experimental, update
description.

Discussed on tech-kern
http://mail-index.netbsd.org/tech-kern/2018/01/21/msg023002.html
 1.144 13-Jan-2018  christos added commented out AUTOFS pseudo-device entries
 1.143 09-Jan-2018  christos Merge autofs support from: Tomohiro Kusumi
XXX: Does not work yet
 1.142 10-Dec-2017  bouyer Add dwiic, ihidev and ims
 1.141 06-Nov-2017  rin Revive commented out DISKLABEL_EI option to kernel configuration files
that contain FFS_EI option.
 1.140 30-Sep-2017  pgoyette Add commented-out ident lines to the XEN3_DOM{0,U} kernel config files
for consistency with other config files.

OK bouyer@
 1.139 14-Sep-2017  mrg clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.138 10-Aug-2017  maxv Pff, I forgot to revert my change in these files. I committed only the
GENERIC files, and the message was:

Revert my changes, and re-enable COMPAT_NOMID, COMPAT_09 and COMPAT_43.
Several compat options happen to be dependent on the compat_43_* functions,
the availability of which is (wrongfully) controlled with COMPAT_43. Same
for COMPAT_09.
 1.137 28-Jul-2017  maxv After a careful review, and all things considered, disable compat43 by
default on amd64. The use case is limited, the potential for damage too
high, and it is safer to run a BSD4.3 binary on i386 since the kernel does
not have to go through netbsd32 - which may not correctly reproduce i386.
 1.136 22-Jun-2017  khorben Register support for SD card readers with Xen DOM0 kernels

Tested on a Lenovo ThinkPad T440s (amd64)
 1.135 20-Apr-2017  msaitoh branches: 1.135.4;
Add ixg(4). Fixes PR#52180 from Harry Waddell.

XXX pullup to netbsd-7
 1.134 17-Apr-2017  bouyer Disable MULTIPROCESSOR for dom0. The dom0 support code is not MP-safe
(see xen_shm_machdep.c for example, but there are probably others).
 1.133 17-Apr-2017  maya Uncomment MULTIPROCESSOR in dom0 kernels
 1.132 26-Feb-2017  rin Comment out DISKLABEL_RDB as it is too specific for general usage.
(Also add commented out that entry for GENERIC on amd64; I forgot it)
 1.131 26-Feb-2017  maya Remove commented DISKLABEL_EI for strictly little endian architectures

It will never be useful.
 1.130 26-Feb-2017  rin Add DKWEDGE_METHOD_RDB option, which is enabled for x86, commented out for
other platforms by default.
 1.129 19-Feb-2017  rin PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.128 23-Jan-2017  christos PR/51908: Kyle Amon: Allow customization of XEN kernels via .local files.
 1.127 12-Jan-2017  ryo branches: 1.127.2;
white space police
 1.126 26-Dec-2016  cherry xen dom0 SMP is now bootable again.

add the 'options MULTIPROCESSOR' in respective configs, but mark them
experimental - and thus disabled by default.
 1.125 18-Dec-2016  dholland Whitespace.
 1.124 17-Dec-2016  maxv Add MODULAR in Xen kernels.
 1.123 13-Dec-2016  christos wildcard speaker attachments, now that we can handle many of them.
 1.122 10-Dec-2016  christos remove VAUDIOSPEAKER for now, will be done differently.
 1.121 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.120 27-Jul-2016  msaitoh Add ichsmb(4), spdmem(4) and sdtemp(4).
 1.119 14-May-2016  christos branches: 1.119.2;
Turn on MPROTECT on GENERIC and both MPROTECT and ASLR on XEN*
 1.118 01-May-2016  nonaka Added nvme(4) for Non-Volatile Memory Host Controller Interface devices.
Ported from OpenBSD.
 1.117 19-Mar-2016  gdt Disable uscanner in all kernel configs

As discussed on current-users@, SANE uses ugen via libusb and not
uscanner, so users are not well served by having uscanner. Consensus
is that addressing how to adjust permissions for scanners should not
block restoring basic functionionality.

(Compile-tested only, but there are multiple reports of this being the
right approach.)
 1.116 10-Nov-2015  tnn Add "pseudo-device iscsi" to ALL and as a commented out hint in XEN3_*
 1.115 08-Aug-2015  maxv Remove KMEMSTATS.
 1.114 16-Jul-2015  bouyer Uncoment options IPSEC, as requested by Gary Duzan in PR port-amd64/50052
 1.113 17-Feb-2015  nonaka Add iwm(4).
 1.112 16-Nov-2014  manu branches: 1.112.2;
Remove unused extended attributes kernel options

As Masao Uebayashi pointed to me, UFS_EXTATTR_AUTOSTART, LFS_EXTATTR_AUTOSTART
and UFS_EXTATTR_AUTOCREATE are not used anywhere in the code. Remove them
as they have been obsolete for a long time:
UFS_EXTATTR_AUTOSTART was replaced by mount -o extattr
LFS_EXTATTR_AUTOSTART was created to match obsolete UFS_EXTATTR_AUTOSTART
UFS_EXTATTR_AUTOCREATE was replaced by sysctl vfs.ffs.extattr_autocreate
 1.111 12-Nov-2014  manu Support for UFS1 extended attributes in GENERIC and GENERIC-like kernels

This change just brings UFS1 extended attribute *support* in the kernel,
extended attributes are not enabled unless three conditions are met:
1) filesystem is UFS1 (newfs -O1)
2) .attribute/system and .attribute/user directories are created at fs root
3) filesystem is mounted with -o extattr

Some GENERIC kernels are obviously memory constrained, the extended
attributes options were not enabled for them, but just added commented out.
(kernel were considered memory constrained if QUOTA option was disabled)
 1.110 18-Oct-2014  uebayasi Install agp_* drivers where pchb(4) is installed except INSTALL_FLOPPY.

XXX
Config around agp(4) is done in quite wrong direction.
"pchb <- (agpbus) <- agp <- agp_*"
should be:
"pchb <- (pcibus) <- agp_* <- (agpbus) <- agp"
 1.109 11-Oct-2014  uebayasi Don't include std.ath_hal for XEN3_DOMU.
 1.108 19-Sep-2014  christos Add HDAUDIOVERBOSE
 1.107 19-Sep-2014  christos Disable BSDLABEL and MBR DKWEDGE methods again since sysinst does not work
with wedges.
 1.106 23-Aug-2014  dholland Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.105 18-Aug-2014  christos - Enable Wedge support for MBR/BSDLABEL where it was commented out.
- Add apple partition support where it was missing
- Add comments where missing
 1.104 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.103 25-Jul-2014  dholland branches: 1.103.2;
Fix description of DIAGNOSTIC in x86 kernels.
 1.102 16-Jun-2014  dsl Comment out the xhci entries.
The driver really doesn't work well enough to be generally useful.
 1.101 24-Mar-2014  szptvlfn branches: 1.101.2;
fix manual section numbering of sysctl.
thanks wiz@
 1.100 17-Feb-2014  schmonz Add urtw (ok'd by christos).
 1.99 23-Oct-2013  matt Add xhci device
 1.98 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.97 05-Jun-2013  christos branches: 1.97.2;
remove obsolete networking options
 1.96 27-Apr-2013  christos the bogus number police
 1.95 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.94 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.93 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.92 09-Feb-2013  khorben Added wpi(4) to the XEN3_DOM0 kernel for both amd64 and i386
Tested on a Lenovo ThinkPad T60 2007 (amd64)
 1.91 30-Nov-2012  riz Add alc* at pci, re-sort slightly to reduce diffs from GENERIC.
 1.90 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.89 04-Oct-2012  dsl Remove references to VM86 from the amd64 kernel configs.
VM86 mode isn't supported while in long mode.
 1.88 24-Sep-2012  khorben Enable support for synaptics touchpads when running Xen as domain 0; helps
usability on laptops. Fixes PR port-xen/44055.

ok bouyer@ riz@
 1.87 23-Sep-2012  chs add vmt entry to GENERIC.
standardize commented pfsync and npf entries.
 1.86 01-Sep-2012  jakllsch branches: 1.86.2;
Rename RT2500USB driver to ural(4) as it was originally in OpenBSD,
as ural(4) and ral(4) do not actually share any code.

Enable ural(4) in hpcarm WZERO3 kernel too, as it will now build.

Fixes PR#43520.
 1.85 22-Jun-2012  khorben Disable azalia(4) now that hdaudio(4) was switched on

ok bouyer@
 1.84 05-Jun-2012  abs Adjust the WSDISPLAY_COMPAT_USL comment to mention wsconscfg, to at least
give a hint that its not just for third party compat. No functional change.
 1.83 19-Apr-2012  bouyer Add mpii(4), a driver for LSI Logic Fusion-MPT Message Passing Interface II
SAS controllers. Ported from OpenBSD.
 1.82 13-Apr-2012  cegger Replace amdtempbus with amdnb_miscbus.
This allows us to have independent drivers on the same device (northbridge f3)
each coming with a certain functionality/feature.
This way we do not need to mess with amdtemp(4) to utilize other features.
 1.81 10-Mar-2012  joerg P1003_1B_SEMAPHORE is no longer optional.
 1.80 25-Feb-2012  bouyer Also comment out ACPIVERBOSE and MPVERBOSE
 1.79 25-Feb-2012  bouyer Also comment out MPDEBUG
 1.78 25-Feb-2012  bouyer Comment out options DEBUG from Xen kernel; also comment out
makeoptions DEBUG="-g" where it was still enabled.
 1.77 13-Jan-2012  cegger branches: 1.77.2;
Support CPU microcode loading via cpuctl(8).
Implemented and enabled via CPU_UCODE kernel config option
for x86 and Xen Dom0.
Tested on different AMD machines with different
CPU families.

ok wiz@ for the manpages
ok releng@
ok core@ via releng@
 1.76 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.75 22-Nov-2011  tls branches: 1.75.2;

The rnd pseudo-device is not really optional, because it is in the same
source file as the entropy-pool code itself. Move it to std. This
will be cleaned up more when I split the sources up as they should be.

This fixes build breaks on several ports. Thanks to Havard Eidnes for
pointing them out.
 1.74 25-Oct-2011  jakllsch branches: 1.74.2;
Per existing x86 GENERIC kernels, add:
#options BUFQ_READPRIO
options BUFQ_PRIOCSCAN
to Xen kernels.
 1.73 03-Oct-2011  jmcneill remove iic, I fixed the i2c code
 1.72 03-Oct-2011  mbalmer Enable an iic(4) device to prevent a linker warning.
 1.71 18-Aug-2011  jakllsch Attach amdtemp(4) at pchb(4) instead of in place of pchb(4).

Should fix PR#45268.
 1.70 23-Jul-2011  jakllsch Enable or note aubtfwl(4) wherever ubt(4) is enabled or noted.
 1.69 20-Jul-2011  jakllsch Add urndis(4).
 1.68 28-May-2011  ryo many whitespace cleanup.
 1.67 29-Apr-2011  jym Enable balloon(4) for Xen kernels.

ok bouyer@; shortly discussed on port-xen@.
 1.66 18-Apr-2011  jym Large rewrite of the balloon driver. This one:

- turns balloon into a driver that attaches to xenbus(4). This allows to
disable the functionality either at compile time or boot time via
userconf(4). Driver can implement detach or pmf(9) hooks if deemed
necessary.

- keeps Cherry's locking model, but simplify it a bit. There is now
only one target value serialized inside balloon, we do not feedback
alternative value to Xenstore (clients are not expected to see its value
evolve behind their back, and can't do much about that either)

- implements min threshold; this is an admin-settable value that tells
driver to "not balloon below this threshold." This can be used by domain
to keep memory reservations, useful if activity is expected in the near
future.

- in addition to min threshold, the driver implements internally a
safeguard value (uvmexp.freemin + 1MiB), so that admin cannot
inadvertently set min to a very low value forcing domain into heavy
memory pressure and swapping.

- create the sysctl(8) kern.xen.balloon tree. 4 nodes are actually present
(values are in KiB):
- min: (rw) an admin-settable value that prevents ballooning below this
mark
- max: (ro) the maximum size for reservation, as set by xm(1) mem-max.
- current: (ro) the current reservation for domain.
- target: (rw) the targetted reservation for domain.

- fix a few limitations here and there, most notably the max_reservation
hypercall, and KiB vs pages representations at interfaces.

The driver is still turned off by default. Enabling it would need more
approval, especially from bouyer@, cherry@ and cegger@.

FWIW: tested it two days long, from amd64 dom0 (with dom0 ballooning
enabled for xend), and bunch of domUs. Did not notice anything suspicious.

XXX it still has one big limitation: it cannot hotplug memory pages in
uvm(9) if they were not present beforehand. Example: ballooning above
physmem will give more pages to domain but it won't use it to serve
allocations, unless we teach uvm(9) how to handle the extra pages.
 1.65 06-Mar-2011  bouyer merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.
 1.64 24-Feb-2011  jruoho Move PowerNow! to the cpufeaturebus.
 1.63 24-Feb-2011  jruoho Add cpufeaturebus and est(4) for Xen.
 1.62 23-Feb-2011  jruoho Move ENHANCED_SPEEDSTEP, or henceforth est(4), to the cpufeaturebus.
 1.61 27-Nov-2010  christos branches: 1.61.2; 1.61.4;
add ihphy
 1.60 23-Nov-2010  hannken Remove unused count from pseudo-device md.
 1.59 13-Nov-2010  jnemeth Add new et(4)/etphy(4) devices.
 1.58 06-Nov-2010  jakllsch Enable siisata(4) in Xen dom0 kernels.
 1.57 12-Aug-2010  haad dd dm driver to XEN configs because they do not have modules working yet.
This will enable using LVM by default on XEN DOM0 hostings running NetBSD.

Change suggested by Sam Fourman.
 1.56 06-Jul-2010  cherry The Xen balloon driver enables growing and shrinking
PV domains on the fly, by collaborating with UVM and the hypervisor
 1.55 26-Jun-2010  bouyer Sync DKWEDGE options with GENERIC
 1.54 22-May-2010  plunky add btmagic(4) where other Bluetooth drivers are listed
 1.53 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.52 07-Mar-2010  plunky branches: 1.52.2;
add uhso(4) device where appropriate
- follow the lead of other USB driver declarations wrt commented out
- (cross-)build tested all these kernels
 1.51 06-Mar-2010  cnst remove aiboost(4) from GENERICs, since it cannot win in autoconf(9) over aibs(4); ok pgoyette
 1.50 21-Feb-2010  cnst New wbsio(4) driver for Winbond Super I/O attachment of lm(4) on any port.

http://mail-index.netbsd.org/tech-kern/2010/02/17/msg007338.html

Reviewed by <pgoyette>, <tech-kern>.
 1.49 09-Feb-2010  cnst New aibs(4) driver for ASUSTeK AI Booster (ACPI ATK0110) hardware monitor
with limit support.

http://thread.gmane.org/gmane.os.netbsd.devel.kernel/35654

Reviewed by <pgoyette>, <jruoho> and <tech-kern>.
 1.48 17-Dec-2009  jym branches: 1.48.2;
Compile in PaX support for Xen x86 kernels (dom0 and domU).

ok bouyer@. Compiled and tested by me under i386. Only compile tested for
amd64.
 1.47 05-Dec-2009  pooka Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.46 07-Sep-2009  jmcneill Switch on hdaudio(4)
 1.45 07-Sep-2009  jmcneill Refer to hdaudio as 'High Definition Audio', not
'Intel High Definition Audio' as many vendors implement the HD audio spec.
 1.44 06-Sep-2009  sborrill hdaudio(4) is a standards-compliant driver for Intel High Definition Audio.
It will replace azalia(4) after testing.

To use, comment out azalia in your kernel configuration and uncomment the
hdaudio and hdafg lines so it reads:

# Intel High Definition Audio
hdaudio* at pci? dev ? function ?
hdafg* at hdaudiobus?

You should also:
cd /dev
sh MAKEDEV audio
 1.43 05-Aug-2009  jym Add Intel SpeedStep and AMD PowerNow! support in Xen dom0. MSR operations
are now compiled in by default.

Note that MSR support in Xen depends on its version. rdmsr() should always
succeed, but wrmsr() to certain registers can end in a NOOP. In that case,
the error will be logged (see xm dmesg).

Setting CPU frequency (SpeedStep) requires Xen 3.3 with the option
cpufreq="dom0-kernel" passed down to hypervisor during boot.

Compiled and tested for SpeedStep under i386 for XEN3_DOM0 and XEN3PAE_DOM0
by jym@. amd64 was tested by Joel Carnat.

See also http://mail-index.netbsd.org/port-xen/2009/08/02/msg005213.html .

Commit requested by bouyer@.
 1.42 20-Apr-2009  cegger add age(4)
 1.41 20-Apr-2009  cegger add ale(4)
 1.40 25-Mar-2009  cegger catch up with i386 xen kernels:
enable cgd by default
 1.39 06-Mar-2009  cegger add options COMPAT_50
 1.38 06-Mar-2009  cegger add age(4) and atphy(4)
 1.37 05-Mar-2009  bouyer Add pciback device to XEN3 dom0 kernels
 1.36 04-Mar-2009  nisimura comment out NFS_BOOT_BOOTSTATIC. It will be useful when a valid set of
NFS_BOOTSTATICs are specfied.
 1.35 24-Nov-2008  ad branches: 1.35.4;
Remove softdep, pass 1. We are focused on improving journalling.

Proposed on tech-kern@.
 1.34 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.33 21-Oct-2008  cegger branches: 1.33.2; 1.33.4; 1.33.8;
catch up with GENERIC
- add verbose options (commented out)
- add descriptive comments
- sort them alphabetically
 1.32 19-Oct-2008  joerg Add u3g entries in kernels that have ugensa as well.
 1.31 11-Oct-2008  bouyer jme(4), a driver for JMicron Technologies JME250 Gigabit Ethernet and
JME260 Fast Ethernet PCI Express controllers.
Written with a lot of cut-n-paste from the FreeBSD jme(4) driver.
No support for jumbo ethernet frames yet (but should come soon).
Thanks to JMicron Technologies for providing me sample boards and
documentation for this work.
 1.30 07-Oct-2008  pgoyette Move all platforms to new dbCool driver in preparation for removal of
chip-specific drivers
 1.29 30-Sep-2008  jmcneill Remove esl(4)
 1.28 17-Sep-2008  cegger Add amdtemp(4) to Xen Dom0 kernels.
 1.27 09-Sep-2008  ober Adding iwn(4) to GENERIC
 1.26 25-Aug-2008  cegger GENERIC: add auacer(4) which is already in XEN3_DOM0
XEN3_DOM0: add azalia(4) which is already in GENERIC
 1.25 21-Aug-2008  bouyer Enable ipmi(4) by default in GENERIC and related kernels.
 1.24 10-Aug-2008  cegger Add accept filters per request from port-xen:
http://mail-index.netbsd.org/port-xen/2008/08/10/msg004087.html

pseudo-device entries were copied from sys/arch/i386/conf/GENERIC, rev. 1.904
 1.23 03-Aug-2008  joerg Reduce diff to GENERIC for compat options.
 1.22 03-Aug-2008  joerg Remove SYSV IPC options as they have been replaced with sysctls.
 1.21 31-Jul-2008  cegger Add "options WAPBL" to Xen configs
 1.20 05-Jun-2008  cegger branches: 1.20.4;
add pckbc at acpi
add pcppi at acpi
 1.19 05-Jun-2008  cegger add aiboost at acpi
 1.18 26-May-2008  ad Disable OSI networking.
 1.17 18-May-2008  cegger acpidalb(4): Driver for PNP0C32 Hotkeys aka "Direct Application Launch Buttons".
"awesome" jmcneill
 1.16 01-May-2008  cegger branches: 1.16.2;
hpqlb(4): driver for HP Quick Launch buttons - found on HP Pavilion Notebooks
 1.15 21-Apr-2008  cegger branches: 1.15.2;
add acpitz at acpi
 1.14 29-Mar-2008  cube branches: 1.14.2;
Add and enable lii(4) in amd64 configurations, too, as it is very likely
the hw is used on amd64-capable otherboards, although it is not confirmed
yet.
 1.13 27-Mar-2008  tnn Revert for DOM0 as well at request of Christoph Egger.
I guess this bootstatic stuff is supposed to play nicely with dhcp,
but it still doesn't for me. I suspect it's due to misdetecting the bootdev.
 1.12 27-Mar-2008  tnn Comment out NFS_BOOT_BOOTSTATIC. There no use having it in the default
kernel as it needs manual configuration anyway. Also, if it's enabled
but no static options given, then the kernel will happily configure the
interface as INADDY_ANY and not even try to use DHCP.
 1.11 01-Mar-2008  bouyer Add wscons options, pointed out by Jonathan A. Kollasch on port-xen@
 1.10 29-Feb-2008  jmmv Remove GENERIC.local from the repository

Make all the kernels that currently include their corresponding GENERIC.local
file use the cinclude directive instead of include. This way config(1) will
not complain if the file cannot be found.

After doing this, remove the GENERIC.local files from the repository so that
the user will not see modified files during updates, and local changes to
them cannot end up in the repository by mistake.

Discussed in tech-kern@ earlier this month. No strong objections.
 1.9 16-Feb-2008  bouyer branches: 1.9.2; 1.9.6;
Sync with GENERIC, add options ACPI_SCANPCI and MPBIOS_SCANPCI,
as well as commented out ACPI_ACTIVATE_DEV and ACPICA_PEDANTIC.
Should fix PR kern/37996.
 1.8 02-Feb-2008  joerg amd64 kernels should use amd64 GENERIC.local.
 1.7 07-Jan-2008  martti branches: 1.7.2;
Fixed option indentation, it should be

option<space><tab>
makeoption<space><tab>
 1.6 31-Dec-2007  ad Remove systrace. Ok core@.
 1.5 17-Dec-2007  riz Add drvctl(4)
 1.4 07-Dec-2007  xtraeme branches: 1.4.2; 1.4.4; 1.4.8;
Enable arcmsr(4).
 1.3 06-Dec-2007  bouyer Remove MAXPHYS=32768 (coming from a too large cut-n-paste), it's not needed
for dom0 kernels.
 1.2 22-Nov-2007  bouyer branches: 1.2.2; 1.2.4; 1.2.6;
Pull up the bouyer-xenamd64 branch to HEAD. This brings in amd64 support
to NetBSD/Xen, both Dom0 and DomU.
 1.1 16-Nov-2007  bouyer branches: 1.1.2;
file XEN3_DOM0 was initially added on branch bouyer-xenamd64.
 1.1.2.2 19-Nov-2007  bouyer Get rid of arch/xenamd64, step 1: empty xenamd64/conf
- move xenamd64/conf/std.xen to amd64/conf/
- define arch to amd64 amd64/conf/std.xen, and i386 in xen/conf/std.xen
(machine is xen)
- enclose content of amd64/conf/files.amd64 and i386/conf/files.i386 in
ifndef xen/endif, so it can be transparently inclued for xen kernels
- support MACHINE_ARCH=x86_64 in xen/conf/Makefile*
 1.1.2.1 16-Nov-2007  bouyer Initial domain0 support for xenamd64. The kernel boots multiuser, but
xen tools have not been tried yet.
In this process, cleanup some more the page table bootstrap, and properly
handle event counters for soft interrupts.
 1.2.6.2 26-Dec-2007  ad Sync with head.
 1.2.6.1 08-Dec-2007  ad Sync with head.
 1.2.4.2 03-Dec-2007  ad Sync with HEAD.
 1.2.4.1 22-Nov-2007  ad file XEN3_DOM0 was added on branch vmlocking on 2007-12-03 19:02:44 +0000
 1.2.2.3 09-Dec-2007  jmcneill Sync with HEAD.
 1.2.2.2 27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.2.2.1 22-Nov-2007  joerg file XEN3_DOM0 was added on branch jmcneill-pm on 2007-11-27 19:35:29 +0000
 1.4.8.2 08-Jan-2008  bouyer Sync with HEAD
 1.4.8.1 02-Jan-2008  bouyer Sync with HEAD
 1.4.4.4 18-Feb-2008  mjf Sync with HEAD.
 1.4.4.3 27-Dec-2007  mjf Sync with HEAD.
 1.4.4.2 08-Dec-2007  mjf Sync with HEAD.
 1.4.4.1 07-Dec-2007  mjf file XEN3_DOM0 was added on branch mjf-devfs on 2007-12-08 18:16:27 +0000
 1.4.2.6 17-Mar-2008  yamt sync with head.
 1.4.2.5 27-Feb-2008  yamt sync with head.
 1.4.2.4 04-Feb-2008  yamt sync with head.
 1.4.2.3 21-Jan-2008  yamt sync with head
 1.4.2.2 07-Dec-2007  yamt sync with head
 1.4.2.1 07-Dec-2007  yamt file XEN3_DOM0 was added on branch yamt-lazymbuf on 2007-12-07 17:24:01 +0000
 1.7.2.3 23-Mar-2008  matt sync with HEAD
 1.7.2.2 09-Jan-2008  matt sync with HEAD
 1.7.2.1 07-Jan-2008  matt file XEN3_DOM0 was added on branch matt-armv6 on 2008-01-09 01:44:50 +0000
 1.9.6.6 17-Jan-2009  mjf Sync with HEAD.
 1.9.6.5 05-Oct-2008  mjf Sync with HEAD.
 1.9.6.4 28-Sep-2008  mjf Sync with HEAD.
 1.9.6.3 05-Jun-2008  mjf Sync with HEAD.

Also fix build.
 1.9.6.2 02-Jun-2008  mjf Sync with HEAD.
 1.9.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.9.2.1 24-Mar-2008  keiichi sync with head.
 1.14.2.3 17-Jun-2008  yamt sync with head.
 1.14.2.2 04-Jun-2008  yamt sync with head
 1.14.2.1 18-May-2008  yamt sync with head.
 1.15.2.7 09-Oct-2010  yamt sync with head
 1.15.2.6 11-Aug-2010  yamt sync with head.
 1.15.2.5 11-Mar-2010  yamt sync with head
 1.15.2.4 16-Sep-2009  yamt sync with head
 1.15.2.3 19-Aug-2009  yamt sync with head.
 1.15.2.2 04-May-2009  yamt sync with head.
 1.15.2.1 16-May-2008  yamt sync with head.
 1.16.2.4 10-Oct-2008  skrll Sync with HEAD.
 1.16.2.3 24-Sep-2008  wrstuden Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.
 1.16.2.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.16.2.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.20.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.20.4.1 19-Oct-2008  haad Sync with HEAD.
 1.33.8.1 21-Apr-2010  matt sync to netbsd-5
 1.33.4.7 19-Jun-2013  bouyer Pullup the following revisions via patch, requested by msaitoh in ticket #1850:
sys/dev/pci/if_wm.c 1.201, 1.203-1.204,
1.207-1.212, 1.215,
1.217-1.218, 1.220-1.223,
1.228, 1.232-245
sys/dev/pci/if_wmreg.h 1.40-1.45, 1.47-1.48
sys/dev/pci/if_wmvar.h 1.11-1.13
sys/dev/pci/pcidevs 1.1074, 1.1077, 1.1117
sys/dev/pci/pcidevs.h regen
sys/dev/pci/pcidevs_data.h regen
sys/dev/mii/igphyreg.h 1.6
sys/dev/mii/ihphy.c 1.1-1.2
sys/dev/mii/ihphyreg.h 1.1
sys/dev/mii/inbmphyreg.h 1.3
sys/dev/mii/files.mii 1.47 via patch
sys/dev/mii/miidevs 1.97 and 1.100
sys/dev/mii/miidevs.h regen
sys/dev/mii/miidevs_data.h regen
sys/arch/i386/conf/ALL 1.280
sys/arch/i386/conf/GENERIC 1.1001
sys/arch/i386/conf/INSTALL_FLOPPY 1.11
sys/arch/i386/conf/XEN2_DOM0 patch
sys/arch/amd64/conf/GENERIC 1.293
sys/arch/amd64/conf/XEN3_DOM0 1.61
share/man/man4/wm.4 1.21-1.24

Apply almost all fixes and improvements from netbsd-6 except for
the rev. 1.196's iqdrops' change.

- Add the detach code.
- Add code for WOL, ASF, IPMI and Intel AMT. WOL is disabled by default
- Add Yet another workaround for ICH8.
- 82576 is dual port, so check the FUNCID and increment the MAC address for
the 2nd port.
- Fix the names of 82577L[MC] LAN controllers (for mobile).
- Fix CTRL_EXT_SWDPIN() and CTRL_EXT_SWDPIO() macros. The bit order of the
SW definable pin is not 6543 but 3654!!!
- Rewrite the code to read MAC address from eeprom.
- Add 82580 support.
- 82571 quirk. Only 82571 shares port 0 of EEMNGCTL_CFGDONE.
- The document says that the TDH register must be set after
TCL.EN is set on 82575 and newer devices.
- Fix some register names. No functional change.
- Omit U+00AE "REGISTERED SIGN" in a product name due to its non-ASCII nature.
- Stop wm(4) from needlessly resetting when you add or delete a vlan(4).
- Fix MAC address check on 8257[156] and 80003 case. Some cards have non 0xffff
pointer but those don't use alternative MAC address in reality. So we check
whether the broadcast bit is set or not like Intel's e1000 driver.
Fixes PR kern/44072 reported by Jean-Yves Moulin.
- Add PCH2(and 82579) support. Fixes PR#46487
- Add yet another 82567V support.
- Add ICH10+HANKSVILL support.
- Add support Intel I350 Ethernet.
- Make vlan and all ip/ip6 checksum offload work for the I350.
- Fix compile error with WM_DEBUG.
- Fix a bug that PHY isn't set to low-power mode on PCH and PCH2.
- Add WM_DEBUG_NVM. If WM_DEBUG_NVM is enabled, dump the FLASH ROM data.
- Skip 64bit BAR correctly.
- Fix RAL_TABSIZE for ICH8, 82576, 82580 and I350.
- Use 82580(and I350) specific PHY read/write functions. Fixes PR#47542.
- Style fix. Fix typo in comment. Fix comments. Add comments.
 1.33.4.6 21-Nov-2010  riz Pull up following revision(s) (requested by bouyer in ticket #1419):
sys/arch/i386/conf/XEN2_DOM0: patch
sys/arch/amd64/conf/XEN3_DOM0: revision 1.55
Sync DKWEDGE options with GENERIC
 1.33.4.5 21-Nov-2010  riz Pull up following revision(s) (requested by plunky in ticket #1407):
sys/dev/bluetooth/btdev.h: revision 1.9
sys/arch/iyonix/conf/GENERIC: revision 1.60
sys/arch/sparc64/conf/GENERIC: revision 1.129
sys/dev/usb/hid.c: revision 1.30
sys/dev/usb/hid.h: revision 1.13
sys/arch/i386/conf/GENERIC: revision 1.983
usr.sbin/btdevctl/print.c: revision 1.10
sys/arch/evbarm/conf/MPCSA_GENERIC: revision 1.16
sys/arch/alpha/conf/GENERIC: revision 1.337
sys/dev/bluetooth/files.bluetooth: revision 1.14
sys/arch/evbarm/conf/GUMSTIX: revision 1.49
sys/dev/usb/usbdevs: revision 1.550
sys/arch/evbppc/conf/OPENBLOCKS266_OPT: revision 1.14
sys/arch/hpcsh/conf/GENERIC: revision 1.91
sys/dev/bluetooth/btmagic.c: revision 1.1
distrib/sets/lists/man/mi: revision 1.1210
sys/arch/amd64/conf/GENERIC: revision 1.279
sys/arch/i386/conf/ALL: revision 1.258
sys/arch/amd64/conf/XEN3_DOM0: revision 1.54
sys/arch/hpcarm/conf/JORNADA720: revision 1.78
sys/dev/usb/hid.c: revision 1.29
share/man/man4/btmagic.4: revision 1.1
hid_get_data() does not work if the size of data is less than
a byte and crosses a byte boundary, and it always returns a
sign-extended value.
fix this by using the algorithm from libusbhid to read bytes,
and provide a hid_get_udata() function to return unsigned data
values.
while here, const args
update DPRINTF to reflect actual function name
add Apple Magic Mouse product-id
regen for Magic Mouse id
allow for vendor-id and product-id properties, passing them
through to child devices
add Magic Mouse driver and manpage btmagic(4)
additionally query the "PnP Information" service record to discover
any USB Forum vendor-id and product-id values and store them in the
property list if found.
add btmagic(4) where other Bluetooth drivers are listed
 1.33.4.4 15-Feb-2010  sborrill Pull up the following revisions(s) (requested by tron in ticket #1306):
sys/arch/i386/conf/XEN2_DOM0 patch
sys/arch/i386/conf/XEN2_DOMU patch
sys/arch/amd64/conf/XEN3_DOM0 patch
sys/arch/amd64/conf/XEN3_DOM0 patch

Enable cgd(4) support on all amd64 and i386 XEN kernels.
 1.33.4.3 03-Oct-2009  snj Pull up following revision(s) (requested by bouyer in ticket #1054):
sys/arch/amd64/conf/XEN3_DOM0: revision 1.37
sys/arch/i386/conf/XEN3_DOM0: revision 1.12
Add pciback device to XEN3 dom0 kernels
 1.33.4.2 26-Sep-2009  snj Pull up following revision(s) (requested by jmcneill in ticket #946):
distrib/sets/lists/man/mi: revision 1.1155
doc/CHANGES: revision 1.1285
etc/MAKEDEV.tmpl: revision 1.128
share/man/man4/Makefile: revision 1.498 via patch
share/man/man4/hdaudio.4: revision 1.1-1.3
share/man/man8/MAKEDEV.8: revision 1.36
sys/arch/amd64/conf/GENERIC: revision 1.250-1.251
sys/arch/amd64/conf/XEN3_DOM0: revision 1.44-1.45
sys/arch/i386/conf/ALL: revision 1.206-1.207
sys/arch/i386/conf/GENERIC: revision 1.942-1.943
sys/arch/i386/conf/XEN3_DOM0: patch
sys/conf/majors: revision 1.47 via patch
sys/dev/pci/hdaudio/files.hdaudio: revision 1.1-1.2
sys/dev/pci/hdaudio/hdaudio.c: revision 1.1-1.4
sys/dev/pci/hdaudio/hdaudio_afg.c: revisions 1.1-1.14
sys/dev/pci/hdaudio/hdaudio_mixer.h: revisions 1.1-1.3
sys/dev/pci/hdaudio/hdaudio_pci.c: revisions 1.1-1.2
sys/dev/pci/hdaudio/hdaudioio.h: revisions 1.1-1.2
sys/dev/pci/hdaudio/hdaudioreg.h: revisions 1.1-1.3
sys/dev/pci/hdaudio/hdaudiovar.h: revisions 1.1-1.4
sys/dev/pci/files.pci: revisions 1.319 and 1.322 via patch
hdaudio(4) is a standards-compliant driver for High Definition Audio.
It will replace azalia(4) after testing.
To use, comment out azalia in your kernel configuration and uncomment the
hdaudio and hdafg lines so it reads:
hdaudio* at pci? dev ? function ?
hdafg* at hdaudiobus?
You should also:
cd /dev
sh MAKEDEV audio
 1.33.4.1 03-May-2009  snj Pull up following revision(s) (requested by cegger in ticket #735):
sys/dev/pci/if_age.c: revisions 1.1-1.28
sys/dev/pci/if_agereg.h: revisions 1.1-1.2
sys/dev/pci/if_ale.c: revisions 1.1-1.3
sys/dev/pci/if_alereg.h: revisions 1.1-1.2
sys/dev/pci/files.pci: revisions 1.310-1.313
sys/dev/mii/atphy.c: revisions 1.1-1.5
sys/dev/mii/files.mii: revision 1.42
share/man/man4/age.4: revisions 1.1-1.3
share/man/man4/ale.4: revisions 1.1-1.2
share/man/man4/atphy.4: revisions 1.1-1.2
share/man/man4/Makefile: revisions 1.486, 1.489
distrib/sets/lists/man/mi: revisions 1.1118, 1.1132
sys/arch/i386/conf/GENERIC: revisions 1.928, 1.933
sys/arch/i386/conf/XEN2_DOM0: revisions 1.57, 1.60
sys/arch/amd64/conf/GENERIC: revisions 1.239, 1.241
sys/arch/amd64/conf/XEN3_DOM0: revisions 1.38, 1.42
Add the age(4) and ale(4) drivers for Attansic L1 and Atheros
AR8121/AR8113/AR8114 devices respectively.
 1.33.2.2 28-Apr-2009  skrll Sync with HEAD.
 1.33.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.35.4.7 27-Aug-2011  jym Sync with HEAD. Most notably: uvm/pmap work done by rmind@, and MP Xen
work of cherry@.

No regression observed on suspend/restore.
 1.35.4.6 02-May-2011  jym Sync with head.
 1.35.4.5 29-Mar-2011  jym More sync fixes. And add the mbr_gpt files.
 1.35.4.4 28-Mar-2011  jym Cure sync hiccups. Code with compile errors is not really useful, heh.
 1.35.4.3 28-Mar-2011  jym Sync with HEAD. TODO before merge:
- shortcut for suspend code in sysmon, when powerd(8) is not running.
Borrow ``xs_watch'' thread context?
- bug hunting in xbd + xennet resume. Rings are currently thrashed upon
resume, so current implementation force flush them on suspend. It's not
really needed.
 1.35.4.2 01-Nov-2009  jym Sync with HEAD.
 1.35.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.48.2.3 09-Nov-2010  uebayasi Sync with HEAD.
 1.48.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.48.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.52.2.5 31-May-2011  rmind sync with head
 1.52.2.4 21-Apr-2011  rmind sync with head
 1.52.2.3 05-Mar-2011  rmind sync with head
 1.52.2.2 03-Jul-2010  rmind sync with head
 1.52.2.1 30-May-2010  rmind sync with head
 1.61.4.2 05-Mar-2011  bouyer Sync with HEAD
 1.61.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.61.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.74.2.5 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.74.2.4 16-Jan-2013  yamt sync with (a bit old) head
 1.74.2.3 30-Oct-2012  yamt sync with head
 1.74.2.2 23-May-2012  yamt sync with head.
 1.74.2.1 17-Apr-2012  yamt sync with head
 1.75.2.4 29-Apr-2012  mrg sync to latest -current.
 1.75.2.3 11-Mar-2012  mrg sync to latest -current
 1.75.2.2 04-Mar-2012  mrg sync to latest -current.
 1.75.2.1 18-Feb-2012  mrg merge to -current.
 1.77.2.9 11-Feb-2013  riz Pull up following revision(s) (requested by khorben in ticket #815):
sys/arch/amd64/conf/XEN3_DOM0: revision 1.92
sys/arch/i386/conf/XEN3_DOM0: revision 1.72
Added wpi(4) to the XEN3_DOM0 kernel for both amd64 and i386
Tested on a Lenovo ThinkPad T60 2007 (amd64)
 1.77.2.8 01-Dec-2012  msaitoh Pull up following revision(s) (requested by riz in ticket #730):
sys/arch/amd64/conf/XEN3_DOM0: revision 1.91
Add alc* at pci, re-sort slightly to reduce diffs from GENERIC.
 1.77.2.7 17-Oct-2012  riz Pull up following revision(s) (requested by khorben in ticket #572):
sys/arch/i386/conf/XEN3_DOM0: revision 1.70
sys/arch/amd64/conf/XEN3_DOM0: revision 1.88
Enable support for synaptics touchpads when running Xen as domain 0; helps
usability on laptops. Fixes PR port-xen/44055.
ok bouyer@ riz@
 1.77.2.6 15-Aug-2012  sborrill Pull up the following revisions(s) (requested by martin in ticket #502):
sys/arch/cobalt/conf/GENERIC: patch
sys/arch/i386/conf/GENERIC: patch
sys/arch/i386/conf/XEN3_DOM0: patch
sys/arch/i386/conf/XEN3_DOMU: patch
sys/arch/mvmeppc/conf/GENERIC: patch
sys/arch/shark/conf/GENERIC: patch
sys/arch/sparc64/conf/GENERIC: patch
sys/arch/sparc64/conf/GENERIC.DEBUG: patch
sys/arch/zaurus/conf/GENERIC: patch

Switch off DIAGNOSTIC and/or DEBUG on release kernels.
Enable DIAGNOSTIC in DEBUG kernels to allow for option
being switched off in GENERIC.
 1.77.2.5 03-Jul-2012  jdc Pull up revision 1.85 via patch (requested by khorben in ticket #383).

Disable azalia(4) now that hdaudio(4) was switched on

ok bouyer@
 1.77.2.4 12-Jun-2012  riz Pull up following revision(s) (requested by abs in ticket #311):
sys/arch/netwinder/conf/GENERIC: revision 1.112
sys/arch/i386/conf/GENERIC: revision 1.1074
sys/arch/atari/conf/MILAN.in: revision 1.26
sys/arch/zaurus/conf/GENERIC: revision 1.54
sys/arch/shark/conf/GENERIC: revision 1.101
sys/arch/hpcmips/conf/MPC303: revision 1.60
sys/arch/i386/conf/XEN3_DOM0: revision 1.67
sys/arch/evbarm/conf/MPCSA_GENERIC: revision 1.29
sys/arch/vax/conf/GENERIC: revision 1.181
sys/arch/sparc/conf/KRUPS: revision 1.59
sys/arch/evbarm/conf/BEAGLEBOARD: revision 1.27
sys/arch/i386/conf/INSTALL_FLOPPY: revision 1.16
sys/arch/prep/conf/GENERIC: revision 1.163
sys/arch/hpcmips/conf/GENERIC: revision 1.216
sys/arch/sparc/conf/TADPOLE3GX: revision 1.56
sys/arch/shark/conf/INSTALL: revision 1.50
sys/arch/next68k/conf/GENERIC: revision 1.127
sys/arch/evbppc/conf/VIRTEX_GSRD2: revision 1.16
sys/arch/evbppc/conf/VIRTEX_DFC: revision 1.17
sys/arch/evbppc/conf/EXPLORA451: revision 1.48
sys/arch/bebox/conf/INSTALL: revision 1.54
sys/arch/next68k/conf/SLAB: revision 1.46
sys/arch/i386/conf/GENERIC_TINY: revision 1.132
sys/arch/bebox/conf/GENERIC: revision 1.131
sys/arch/amd64/conf/XEN3_DOM0: revision 1.84
sys/arch/amd64/conf/GENERIC: revision 1.356
sys/arch/evbarm/conf/MMNET_GENERIC: revision 1.6
share/man/man4/wscons.4: revision 1.31
sys/arch/hpcmips/conf/TX3912: revision 1.79
sys/arch/evbarm/conf/ARMADILLO9: revision 1.35
sys/arch/hpcsh/conf/GENERIC: revision 1.97
sys/arch/i386/conf/ALL: revision 1.339
sys/arch/hpcmips/conf/TX3922: revision 1.93
sys/arch/cats/conf/INSTALL: revision 1.82
sys/arch/sparc64/conf/GENERIC: revision 1.151
sys/arch/i386/conf/INSTALL_TINY: revision 1.135
sys/arch/evbppc/conf/VIRTEX_GSRD1: revision 1.15
sys/arch/evbarm/conf/TS7200: revision 1.49
sys/arch/hpcmips/conf/VR41XX: revision 1.55
sys/arch/hp700/conf/GENERIC: revision 1.115
sys/arch/cats/conf/GENERIC: revision 1.140
Mention wsconscfg(8) needs WSDISPLAY_COMPAT_USL
If a port is going to have wscons for virtual terminals then it really make=
s
sense to enable WSDISPLAY_COMPAT_USL so the system can switch between the
virtual terminals...
Adjust the WSDISPLAY_COMPAT_USL comment to mention wsconscfg, to at least
give a hint that its not just for third party compat. No functional change.
 1.77.2.3 23-Apr-2012  riz Pull up following revision(s) (requested by bouyer in ticket #193):
sys/arch/i386/conf/GENERIC: revision 1.1072
sys/dev/pci/mpii.c: revision 1.1
sys/arch/i386/conf/XEN3_DOM0: revision 1.66
sys/dev/pci/files.pci: revision 1.357
share/man/man4/Makefile: revision 1.584
distrib/sets/lists/man/mi: revision 1.1387
share/man/man4/mpii.4: revision 1.1
sys/arch/amd64/conf/GENERIC: revision 1.354
sys/arch/amd64/conf/XEN3_DOM0: revision 1.83
sys/arch/i386/conf/ALL: revision 1.337
Add mpii(4), a driver for LSI Logic Fusion-MPT Message Passing Interface II
SAS controllers. Ported from OpenBSD.
 1.77.2.2 25-Feb-2012  sborrill Remainder of pullup request:

Pull up the following revisions(s) (requested by bouyer in ticket #52):
sys/arch/amd64/conf/XEN3_DOM0: revision 1.79-1.80
sys/arch/i386/conf/XEN3_DOM0: revision 1.62-1.63

Comment out MPDEBUG, ACPIVERBOSE and MPVERBOSE.
 1.77.2.1 25-Feb-2012  sborrill Pull up the following revisions(s) (requested by bouyer in ticket #52):
sys/arch/amd64/conf/XEN3_DOM0: revision 1.78
sys/arch/amd64/conf/XEN3_DOMU: revision 1.37
sys/arch/i386/conf/XEN3_DOM0: revision 1.61
sys/arch/i386/conf/XEN3_DOMU: revision 1.42

Xen is stable enough now to remove debug messages in default kernel.
Comment out options DEBUG from Xen kernel; also comment out makeoptions
DEBUG="-g" where it was still enabled.
 1.86.2.5 03-Dec-2017  jdolecek update from HEAD
 1.86.2.4 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.86.2.3 23-Jun-2013  tls resync from head
 1.86.2.2 25-Feb-2013  tls resync with head
 1.86.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.97.2.2 18-May-2014  rmind sync with head
 1.97.2.1 28-Aug-2013  rmind sync with head
 1.101.2.1 10-Aug-2014  tls Rebase.
 1.103.2.9 08-Jul-2017  snj Pull up following revision(s) (requested by khorben in ticket #1445):
sys/arch/amd64/conf/XEN3_DOM0: revision 1.136
sys/arch/i386/conf/XEN3_DOM0: revision 1.113
sys/arch/xen/conf/files.xen: revision 1.148
Register support for SD card readers with Xen DOM0 kernels
Tested on a Lenovo ThinkPad T440s (amd64)
 1.103.2.8 13-May-2017  snj Pull up following revision(s) (requested by msaitoh in ticket #1408):
sys/arch/amd64/conf/XEN3_DOM0: revision 1.135 via patch
Add ixg(4). Fixes PR#52180 from Harry Waddell.
 1.103.2.7 18-Apr-2017  snj Pull up following revision(s) (requested by bouyer in ticket #1367):
sys/arch/amd64/conf/XEN3_DOM0: revision 1.134
sys/arch/i386/conf/XEN3_DOM0: revision 1.112
Be more explicit about the status of dom0 SMP support.
 1.103.2.6 17-Apr-2017  snj Pull up following revision(s) (requested by khorben in ticket #1367):
sys/arch/amd64/conf/XEN3_DOM0: revision 1.126
sys/arch/i386/conf/XEN3_DOM0: revision 1.104
sys/arch/xen/x86/xen_pmap.c: revision 1.25
In the MP case,
do not attempt to pmap_tlb_shootdown() after a pmap_kenter_ma() during
boot. pmap_tlb_shootdown() assumes post boot. Instead invalidate the
entry on the local CPU only.
XXX: to DTRT, probably this assumption needs re-examination.
XXX: The tradeoff is a (predicted) single word size comparison
penalty, so perhaps a decision needs performance stats.
xen dom0 SMP is now bootable again.
--
add the 'options MULTIPROCESSOR' in respective configs, but mark them
experimental - and thus disabled by default.
 1.103.2.5 09-Dec-2016  snj Pull up following revision(s) (requested by msaitoh in ticket #1297):
sys/arch/amd64/conf/ALL: revision 1.37
sys/arch/amd64/conf/GENERIC: revision 1.436
sys/arch/amd64/conf/XEN3_DOM0: revision 1.120
sys/arch/i386/conf/ALL: revision 1.400
sys/arch/i386/conf/GENERIC: revision 1.1138
sys/arch/i386/conf/XEN3_DOM0: revision 1.99
Add sdtemp(4)
--
Add ichsmb(4), spdmem(4) and sdtemp(4).
 1.103.2.4 22-Jul-2015  snj branches: 1.103.2.4.4;
Pull up following revision(s) (requested by bouyer in ticket #884):
sys/arch/amd64/conf/XEN3_DOM0: revision 1.114
sys/arch/amd64/conf/XEN3_DOMU: revision 1.62
sys/arch/i386/conf/XEN3_DOM0: revision 1.96
sys/arch/i386/conf/XEN3_DOMU: revision 1.68
Uncoment options IPSEC, as requested by Gary Duzan in PR port-amd64/50052
 1.103.2.3 18-Nov-2014  snj Pull up following revision(s) (requested by manu in ticket #251):
sys/arch/acorn26/conf/GENERIC: revision 1.81
sys/arch/acorn32/conf/GENERIC: revision 1.116
sys/arch/alpha/conf/GENERIC: revision 1.362
sys/arch/amd64/conf/ALL: revision 1.23
sys/arch/amd64/conf/GENERIC: revision 1.404
sys/arch/amd64/conf/XEN3_DOM0: revision 1.112
sys/arch/amd64/conf/XEN3_DOMU: revision 1.60
sys/arch/amiga/conf/GENERIC.in: revision 1.129
sys/arch/amiga/conf/GENERIC: revision 1.311
sys/arch/amigappc/conf/GENERIC: revision 1.24
sys/arch/arc/conf/GENERIC: revision 1.184
sys/arch/bebox/conf/GENERIC: revision 1.145
sys/arch/cats/conf/GENERIC: revision 1.155
sys/arch/cesfic/conf/GENERIC: revision 1.65
sys/arch/cobalt/conf/GENERIC: revision 1.147
sys/arch/dreamcast/conf/GENERIC: revision 1.121
sys/arch/emips/conf/GENERIC: revision 1.15
sys/arch/epoc32/conf/GENERIC: revision 1.8
sys/arch/ews4800mips/conf/GENERIC: revision 1.51
sys/arch/hp300/conf/GENERIC: revision 1.190
sys/arch/hpcmips/conf/GENERIC: revision 1.229
sys/arch/hpcsh/conf/GENERIC: revision 1.106
sys/arch/hppa/conf/GENERIC: revision 1.6
sys/arch/i386/conf/ALL: revision 1.389
sys/arch/i386/conf/GENERIC: revision 1.1118
sys/arch/i386/conf/XEN3_DOM0: revision 1.93
sys/arch/i386/conf/XEN3_DOMU: revision 1.65
sys/arch/ibmnws/conf/GENERIC: revision 1.46
sys/arch/iyonix/conf/GENERIC: revision 1.88
sys/arch/landisk/conf/GENERIC: revision 1.45
sys/arch/luna68k/conf/GENERIC: revision 1.119
sys/arch/mac68k/conf/GENERIC: revision 1.220
sys/arch/macppc/conf/GENERIC: revision 1.320
sys/arch/macppc/conf/MAMBO: revision 1.24
sys/arch/macppc/conf/POWERMAC_G5: revision 1.25
sys/arch/mipsco/conf/GENERIC: revision 1.88
sys/arch/mmeye/conf/GENERIC: revision 1.120
sys/arch/mvme68k/conf/GENERIC: revision 1.94
sys/arch/mvmeppc/conf/GENERIC: revision 1.24
sys/arch/netwinder/conf/GENERIC: revision 1.126
sys/arch/news68k/conf/GENERIC: revision 1.125
sys/arch/newsmips/conf/GENERIC: revision 1.129
sys/arch/next68k/conf/GENERIC: revision 1.139
sys/arch/ofppc/conf/GENERIC: revision 1.157
sys/arch/pmax/conf/GENERIC64: revision 1.21
sys/arch/pmax/conf/GENERIC: revision 1.185
sys/arch/prep/conf/GENERIC: revision 1.174
sys/arch/rs6000/conf/GENERIC: revision 1.33
sys/arch/sandpoint/conf/GENERIC: revision 1.88
sys/arch/sbmips/conf/GENERIC: revision 1.101
sys/arch/sgimips/conf/GENERIC32_IP12: revision 1.28
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.104
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.106
sys/arch/shark/conf/GENERIC: revision 1.121
sys/arch/sparc/conf/GENERIC: revision 1.248
sys/arch/sparc/conf/TADPOLE3GX: revision 1.65
sys/arch/sparc64/conf/GENERIC: revision 1.177
sys/arch/sparc64/conf/NONPLUS64: revision 1.44
sys/arch/sun2/conf/GENERIC: revision 1.94
sys/arch/sun3/conf/GENERIC: revision 1.171
sys/arch/vax/conf/GENERIC: revision 1.193
sys/arch/vax/conf/VAX780: revision 1.19
sys/arch/x68k/conf/GENERIC: revision 1.179
sys/arch/zaurus/conf/GENERIC: revision 1.65
sys/ufs/files.ufs: revision 1.38
Remove unused extended attributes kernel options

As Masao Uebayashi pointed to me, UFS_EXTATTR_AUTOSTART, LFS_EXTATTR_AUTOSTART
and UFS_EXTATTR_AUTOCREATE are not used anywhere in the code. Remove them
as they have been obsolete for a long time:
UFS_EXTATTR_AUTOSTART was replaced by mount -o extattr
LFS_EXTATTR_AUTOSTART was created to match obsolete UFS_EXTATTR_AUTOSTART
UFS_EXTATTR_AUTOCREATE was replaced by sysctl vfs.ffs.extattr_autocreate
 1.103.2.2 14-Nov-2014  martin Pull up following revision(s) (requested by manu in ticket #232):
sys/arch/next68k/conf/GENERIC: revision 1.138
sys/arch/cobalt/conf/GENERIC: revision 1.146
sys/arch/mvme68k/conf/GENERIC: revision 1.93
sys/arch/vax/conf/VAX780: revision 1.18
sys/arch/newsmips/conf/GENERIC: revision 1.128
sys/arch/luna68k/conf/GENERIC: revision 1.118
sys/arch/sbmips/conf/GENERIC: revision 1.100
sys/arch/pmax/conf/GENERIC: revision 1.184
sys/arch/alpha/conf/GENERIC: revision 1.361
sys/arch/sparc64/conf/GENERIC: revision 1.176
sys/arch/sun3/conf/GENERIC: revision 1.170
sys/arch/shark/conf/GENERIC: revision 1.120
sys/arch/landisk/conf/GENERIC: revision 1.44
sys/arch/bebox/conf/GENERIC: revision 1.144
sys/arch/sparc64/conf/NONPLUS64: revision 1.43
sys/arch/sandpoint/conf/GENERIC: revision 1.87
sys/arch/emips/conf/GENERIC: revision 1.14
sys/arch/amd64/conf/XEN3_DOM0: revision 1.111
sys/arch/dreamcast/conf/GENERIC: revision 1.120
sys/arch/cesfic/conf/GENERIC: revision 1.64
sys/arch/mmeye/conf/GENERIC: revision 1.119
sys/arch/epoc32/conf/GENERIC: revision 1.7
sys/arch/x68k/conf/GENERIC: revision 1.178
sys/arch/iyonix/conf/GENERIC: revision 1.87
sys/arch/sun2/conf/GENERIC: revision 1.93
sys/arch/ews4800mips/conf/GENERIC: revision 1.50
sys/arch/amd64/conf/XEN3_DOMU: revision 1.59
sys/arch/acorn26/conf/GENERIC: revision 1.80
sys/arch/acorn32/conf/GENERIC: revision 1.115
sys/arch/macppc/conf/POWERMAC_G5: revision 1.24
sys/arch/i386/conf/GENERIC: revision 1.1117
sys/arch/arc/conf/GENERIC: revision 1.183
sys/arch/cats/conf/GENERIC: revision 1.154
sys/arch/amiga/conf/GENERIC.in: revision 1.128
sys/arch/zaurus/conf/GENERIC: revision 1.64
sys/arch/netwinder/conf/GENERIC: revision 1.125
sys/arch/hppa/conf/GENERIC: revision 1.5
sys/arch/mvmeppc/conf/GENERIC: revision 1.23
sys/arch/macppc/conf/GENERIC: revision 1.319
sys/arch/amiga/conf/GENERIC: revision 1.310
sys/arch/pmax/conf/GENERIC64: revision 1.20
sys/arch/macppc/conf/MAMBO: revision 1.23
sys/arch/sgimips/conf/GENERIC32_IP12: revision 1.27
sys/arch/amigappc/conf/GENERIC: revision 1.23
sys/arch/amd64/conf/GENERIC: revision 1.403
sys/arch/ofppc/conf/GENERIC: revision 1.156
sys/arch/mac68k/conf/GENERIC: revision 1.219
sys/arch/i386/conf/XEN3_DOMU: revision 1.64
sys/arch/mipsco/conf/GENERIC: revision 1.87
sys/arch/hp300/conf/GENERIC: revision 1.189
sys/arch/vax/conf/GENERIC: revision 1.192
sys/arch/news68k/conf/GENERIC: revision 1.124
sys/arch/ibmnws/conf/GENERIC: revision 1.45
sys/arch/hpcsh/conf/GENERIC: revision 1.105
sys/arch/sparc/conf/TADPOLE3GX: revision 1.64
sys/arch/i386/conf/XEN3_DOM0: revision 1.92
sys/arch/sparc/conf/GENERIC: revision 1.247
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.105
sys/arch/prep/conf/GENERIC: revision 1.173
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.103
sys/arch/rs6000/conf/GENERIC: revision 1.32
sys/arch/hpcmips/conf/GENERIC: revision 1.228
Support for UFS1 extended attributes in GENERIC and GENERIC-like kernels
This change just brings UFS1 extended attribute *support* in the kernel,
extended attributes are not enabled unless three conditions are met:
1) filesystem is UFS1 (newfs -O1)
2) .attribute/system and .attribute/user directories are created at fs root
3) filesystem is mounted with -o extattr
Some GENERIC kernels are obviously memory constrained, the extended
attributes options were not enabled for them, but just added commented out.
(kernel were considered memory constrained if QUOTA option was disabled)
 1.103.2.1 10-Oct-2014  snj Apply patch (requested by bouyer/martin in ticket #116):
Disable DIAGNOSTIC and/or DEBUG.
 1.103.2.4.4.1 18-Jan-2017  skrll Sync with netbsd-5
 1.112.2.9 28-Aug-2017  skrll Sync with HEAD
 1.112.2.8 05-Feb-2017  skrll Sync with HEAD
 1.112.2.7 05-Oct-2016  skrll Sync with HEAD
 1.112.2.6 29-May-2016  skrll Sync with HEAD
 1.112.2.5 22-Apr-2016  skrll Sync with HEAD
 1.112.2.4 19-Mar-2016  skrll Sync with HEAD
 1.112.2.3 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.112.2.2 22-Sep-2015  skrll Sync with HEAD
 1.112.2.1 06-Apr-2015  skrll Sync with HEAD
 1.119.2.4 26-Apr-2017  pgoyette Sync with HEAD
 1.119.2.3 20-Mar-2017  pgoyette Sync with HEAD
 1.119.2.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.119.2.1 06-Aug-2016  pgoyette Sync with HEAD
 1.127.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.135.4.8 07-Dec-2018  martin Fixup pullups from ticket #1129:

sys/arch/amd64/conf/XEN3_DOM0 rev 1.159
src/sys/arch/i386/conf/XEN3PAE_DOM0 rev 1.8 (via patch)

Add mffii(4)
 1.135.4.7 18-Apr-2018  martin Requested by skrll in ticket #60:
sys/arch/amd64/conf/GENERIC
sys/arch/amd64/conf/XEN3_DOM0
sys/arch/amd64/conf/XEN3_DOMU
sys/arch/cobalt/conf/GENERIC
sys/arch/evbarm/conf/BEAGLEBONE
sys/arch/evbarm/conf/BEAGLEBOARD
sys/arch/evbarm/conf/BEAGLEBOARDXM
sys/arch/evbarm/conf/GENERIC.common
sys/arch/i386/conf/GENERIC
sys/arch/i386/conf/XEN3_DOM0
sys/arch/i386/conf/XEN3_DOMU
sys/arch/mvmeppc/conf/GENERIC
sys/arch/shark/conf/GENERIC
sys/arch/sparc64/conf/GENERIC
sys/arch/zaurus/conf/GENERIC

Remove option DIAGNOSTIC.
 1.135.4.6 05-Feb-2018  martin Pull up following revision(s) (requested by bouyer in ticket #533):
sys/arch/i386/conf/XEN3_DOM0: revision 1.126
sys/arch/amd64/conf/XEN3_DOM0: revision 1.148
Follow GENERIC and enable xhci(4) by default. PR port-xen/52978
 1.135.4.5 05-Feb-2018  martin Pull up following revision(s) (requested by pgoyette in ticket #524):

distrib/sets/lists/man/mi 1.1574
distrib/sets/lists/modules/md.amd64 1.73
distrib/sets/lists/modules/md.i386 1.76
share/man/man4/amdtemp.4 1.11
share/man/man4/man4.x86/Makefile 1.17
share/man/man4/man4.x86/amdsmn.4 1.1-1.3
share/man/man4/man4.x86/amdzentemp.4 1.1-1.6
sys/arch/amd64/conf/ALL 1.79,1.80
sys/arch/amd64/conf/GENERIC 1.482,1.484
sys/arch/amd64/conf/XEN3_DOM0 1.146,1.147
sys/arch/x86/pci/amdsmn.c 1.1-1.2
sys/arch/x86/pci/amdsmn.h 1.1
sys/arch/x86/pci/amdzentemp.c 1.1-1.7
sys/arch/x86/pci/files.pci 1.22,1.23
sys/modules/amdzentemp/amdzentemp.ioconf 1.2


Add amdzentemp from FreeBSD via Ian Clark.

man pages for amdsmn and amdzentemp.

Some clean-up on the HISTORY and AUTHORS sections, and addition of a BUGS
section to document the fact that we don't yet handle the required temp
offset, nor do we expose the available thermal-trip value.

Add missing article 'a'

KNF: Put back the blank line following the empty variable declarations
Put back the variable declaration, too, and mark it __diagused
Otherwise a DIAGNOSTIC kernel will complain about the variable being
undeclared.

Correct placement of __diagused attribute.

Modularize the amdsmn(4) driver, and update dependency for amdzentemp(4),
Create amdsmn(4) amd amdzentemp(4) modules for X86.
 1.135.4.4 26-Jan-2018  martin Pull up following revision(s) (requested by sevan in ticket #510):
sys/arch/sun3/conf/GENERIC3X: revision 1.130
sys/arch/sparc64/conf/GENERIC: revision 1.203
sys/arch/news68k/conf/LIBERO: revision 1.66
sys/arch/amiga/conf/DRACO: revision 1.185
sys/arch/evbarm/conf/MV2120: revision 1.35
sys/arch/x68k/conf/GENERIC: revision 1.187
sys/arch/rs6000/conf/GENERIC: revision 1.39
sys/arch/news68k/conf/GENERIC_TINY: revision 1.86
sys/arch/i386/conf/XEN3_DOMU: revision 1.88
sys/arch/iyonix/conf/GENERIC: revision 1.97
sys/arch/evbarm64/conf/A64EMUL: revision 1.11
sys/arch/mvme68k/conf/GENERIC: revision 1.98
sys/arch/acorn32/conf/GENERIC: revision 1.124
sys/arch/i386/conf/XEN3_DOM0: revision 1.125
sys/arch/cobalt/conf/INSTALL: revision 1.65
sys/arch/macppc/conf/GENERIC_601: revision 1.16
sys/arch/hppa/conf/GENERIC: revision 1.17
sys/arch/amiga/conf/GENERIC.in: revision 1.137
sys/arch/sgimips/conf/GENERIC32_IP12: revision 1.33
sys/arch/netwinder/conf/GENERIC: revision 1.134
sys/arch/amd64/conf/XEN3_DOMU: revision 1.83
sys/arch/mac68k/conf/GENERIC: revision 1.225
sys/arch/arc/conf/RPC44: revision 1.54
sys/arch/mipsco/conf/GENERIC: revision 1.92
sys/arch/cats/conf/GENERIC: revision 1.166
sys/arch/amd64/conf/XEN3_DOM0: revision 1.145
sys/arch/amigappc/conf/GENERIC: revision 1.33
sys/arch/sun3/conf/GENERIC: revision 1.176
sys/arch/news68k/conf/GENERIC: revision 1.130
sys/arch/hpcsh/conf/GENERIC: revision 1.110
sys/arch/hp300/conf/GENERIC: revision 1.198
sys/arch/atari/conf/GENERIC.in: revision 1.115
sys/arch/sparc/conf/MRCOFFEE: revision 1.54
sys/arch/evbppc/conf/EXPLORA451: revision 1.62
sys/arch/cesfic/conf/GENERIC: revision 1.69
sys/arch/vax/conf/GENERIC: revision 1.204
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.115
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.112
sys/arch/sparc/conf/GENERIC: revision 1.258
sys/arch/next68k/conf/GENERIC: revision 1.145
sys/arch/evbarm/conf/MMNET_GENERIC: revision 1.34
sys/arch/prep/conf/GENERIC: revision 1.185
sys/arch/amiga/conf/INSTALL: revision 1.129
sys/arch/newsmips/conf/GENERIC: revision 1.133
sys/arch/cobalt/conf/GENERIC: revision 1.156
sys/arch/sun2/conf/GENERIC: revision 1.99
sys/arch/luna68k/conf/INSTALL: revision 1.25
sys/arch/amigappc/conf/NULL: revision 1.53
sys/arch/acorn26/conf/GENERIC: revision 1.85
sys/arch/vax/conf/VAX780: revision 1.25
sys/arch/luna68k/conf/GENERIC: revision 1.125
sys/arch/ews4800mips/conf/GENERIC: revision 1.56
sys/arch/macppc/conf/POWERMAC_G5: revision 1.29
sys/arch/arc/conf/GENERIC: revision 1.189
sys/arch/macppc/conf/MAMBO: revision 1.27
sys/arch/acorn32/conf/EB7500ATX: revision 1.64
sys/arch/pmax/conf/GENERIC: revision 1.196
sys/arch/pmax/conf/GENERIC64: revision 1.28
sys/arch/amiga/conf/GENERIC: revision 1.319
sys/arch/evbarm/conf/MPCSA_GENERIC: revision 1.55
sys/arch/macppc/conf/GENERIC: revision 1.339
sys/arch/emips/conf/GENERIC: revision 1.21
sys/arch/sandpoint/conf/GENERIC: revision 1.97
sys/arch/landisk/conf/GENERIC: revision 1.58
sys/arch/bebox/conf/GENERIC: revision 1.157
sys/arch/alpha/conf/GENERIC: revision 1.379
Alternate buffer queue strategies no longer considered experimental, update
description.
Discussed on tech-kern
http://mail-index.netbsd.org/tech-kern/2018/01/21/msg023002.html
 1.135.4.3 29-Aug-2017  martin Requested by skrll in ticket #60:
sys/arch/amd64/conf/GENERIC
sys/arch/amd64/conf/XEN3_DOM0
sys/arch/amd64/conf/XEN3_DOMU
sys/arch/cobalt/conf/GENERIC
sys/arch/evbarm/conf/BEAGLEBONE
sys/arch/evbarm/conf/BEAGLEBOARD
sys/arch/evbarm/conf/BEAGLEBOARDXM
sys/arch/evbarm/conf/GENERIC.common
sys/arch/i386/conf/GENERIC
sys/arch/i386/conf/XEN3_DOM0
sys/arch/i386/conf/XEN3_DOMU
sys/arch/mvmeppc/conf/GENERIC
sys/arch/shark/conf/GENERIC
sys/arch/sparc64/conf/GENERIC
sys/arch/zaurus/conf/GENERIC


Re-enable option DIAGNOSTIC for now, will remove it again later.
 1.135.4.2 05-Jul-2017  martin Remove options DIAGNOSTIC/DEBUG and PAX debug options.
Requested by snj in #60.
 1.135.4.1 30-Jun-2017  snj Pull up following revision(s) (requested by khorben in ticket #62):
sys/arch/amd64/conf/XEN3_DOM0: revision 1.136
sys/arch/i386/conf/XEN3_DOM0: revision 1.113
sys/arch/xen/conf/files.xen: revision 1.148
Register support for SD card readers with Xen DOM0 kernels
Tested on a Lenovo ThinkPad T440s (amd64)
 1.149.2.6 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.149.2.5 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.149.2.4 30-Sep-2018  pgoyette Ssync with HEAD
 1.149.2.3 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.149.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.149.2.1 21-May-2018  pgoyette Sync with HEAD
 1.153.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.153.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.153.2.1 10-Jun-2019  christos Sync with HEAD
 1.167.2.3 07-Jul-2020  martin Pull up following revision(s) (requested by jmcneill in ticket #980):

sys/dev/pci/if_aq.c: revision 1.4
sys/dev/pci/if_aq.c: revision 1.5
sys/arch/amd64/conf/GENERIC: revision 1.553
sys/dev/pci/files.pci: revision 1.419
sys/arch/amd64/conf/XEN3_DOM0: revision 1.170
sys/dev/pci/if_aq.c: revision 1.9
share/man/man4/Makefile: revision 1.693
sys/dev/pci/pcidevs: revision 1.1411
share/man/man4/aq.4: revision 1.1
share/man/man4/aq.4: revision 1.3
sys/arch/i386/conf/ALL: revision 1.479
share/man/man4/aq.4: revision 1.4
sys/dev/pci/if_aq.c: revision 1.10
sys/dev/pci/files.pci: revision 1.421
sys/dev/pci/if_aq.c: revision 1.11
sys/dev/pci/if_aq.c: revision 1.12
sys/dev/pci/if_aq.c: revision 1.13
sys/dev/pci/if_aq.c: revision 1.14
sys/dev/pci/if_aq.c: revision 1.15
sys/dev/pci/if_aq.c: revision 1.16
sys/dev/pci/pcidevs: revision 1.1408
sys/arch/amd64/conf/ALL: revision 1.135
sys/net/ethertypes.h: revision 1.19
sys/arch/i386/conf/GENERIC: revision 1.1218
distrib/sets/lists/man/mi: revision 1.1668
sys/dev/pci/if_aq.c: revision 1.1
sys/dev/pci/if_aq.c: revision 1.2
sys/dev/pci/pcidevs: revision 1.1395
sys/dev/pci/if_aq.c: revision 1.3
sys/arch/evbarm/conf/GENERIC64: revision 1.125

Add the ETHERTYPE_QINQ for 802.1ad VLAN stacking

add Aquantia AQC 10G network adapters
add support Aquantia AQC seriese 10G network adapters.

this driver is based on the FreeBSD version https://github.com/Aquantia/aqtion-freebsd ,
but drastically rewritten for NetBSD.

add aq(4)

Add Aquantia AQC100, AQC100S and D100.

add support VLAN HW filter

set/clear IFF_OACTIVE flag only on txring 0

make counters per queue

support internal PHY temperature sensor

Found by kUBSan:
- Use unsigned to avoid undefined behavior in aq_hw_init().
- Cast to unsigned to avoid undefined behavior in aq_set_mac_addr().

fix descriptions of register map in comment

return the ifmedia active status correctly even while the link is not up after attach.
pointed out by msaitoh@. thanks.

On FIBRE devices, there are times when linkstat interrupt doesn't occur?
reported from Andrius V. thanks.
- use polling instead of linkstat interrupt when FIBRE
- add AQ_FORCE_POLL_LINKSTAT options (not by default)

sort product table, and tabify

add support AQC100S and D100.
not tested, but they are probably the same as the AQC100.
 1.167.2.2 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.167.2.1 09-Aug-2019  martin Pull up following revision(s) (requested by rin in ticket #35):

sys/arch/amd64/conf/ALL: revision 1.121
sys/arch/i386/conf/XEN3PAE_DOM0: revision 1.14
sys/arch/amd64/conf/XEN3_DOM0: revision 1.168
sys/arch/i386/conf/GENERIC: revision 1.1210
sys/arch/amd64/conf/GENERIC: revision 1.534

xhci(4) is considered stable enough. So, remove misleading comments.

XXX
pullup to netbsd-9
 1.170.2.2 29-Feb-2020  ad Sync with head.
 1.170.2.1 25-Jan-2020  ad Sync with head.
 1.175.4.2 16-Apr-2020  bouyer Reorganise sources to make it possible to include Xen PVHVM support in
native kernels. Among others:
- move xen/include/amd64/hypercall.h to amd64/include/xen and
xen/include/i386/hypercall.h to i386/include/xen
- exclude some native files from the build for xenpv
- add xen to "machine" config statement for amd64 and i386
- split arch/xen/conf/files.xen to arch/xen/conf/files.xen (for pv drivers)
and arch/xen/conf/files.xen.pv (for full pv support)
- add GENERIC_XENHVM kernel config which includes GENERIC and add Xen PV
drivers.
 1.175.4.1 12-Apr-2020  bouyer no MULTIPROCESSOR so NO_PREEMTION
 1.185.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.192.4.1 01-Aug-2021  thorpej Sync with HEAD.
 1.197.4.3 18-Oct-2023  martin Pull up following revision(s) (requested by bouyer in ticket #428):

sys/arch/xen/xen/xen_machdep.c: revision 1.28
sys/arch/x86/pci/pci_machdep.c: revision 1.97
sys/arch/xen/xen/genfb_xen.c: revision 1.1
sys/arch/xen/xen/genfb_xen.c: revision 1.2
sys/arch/xen/include/hypervisor.h: revision 1.59
sys/arch/i386/conf/XEN3PAE_DOM0: revision 1.41 (patch)
sys/arch/x86/x86/genfb_machdep.c: revision 1.22
sys/arch/xen/x86/consinit.c: revision 1.18
sys/arch/xen/x86/autoconf.c: revision 1.26
sys/external/mit/xen-include-public/dist/xen/include/public/platform.h: revision 1.2
sys/arch/xen/conf/files.xen: revision 1.188
sys/arch/x86/x86/consinit.c: revision 1.37
sys/arch/xen/conf/files.xen: revision 1.189
sys/arch/x86/x86/consinit.c: revision 1.38
sys/external/mit/xen-include-public/dist/xen/include/public/xen.h: revision 1.2
sys/arch/x86/include/genfb_machdep.h: revision 1.7
sys/arch/xen/x86/pvh_consinit.c: revision 1.5
sys/arch/xen/x86/pvh_consinit.c: revision 1.6
sys/arch/amd64/conf/XEN3_DOM0: revision 1.201

Move the pvh_xencons so xen_machdep.c as early_xencons, so it can be
used in the future as early ouput for plain PV guests too.

Support non-VGA framebuffers for Xen dom0. This is mandatory for graphic
console on EFI-only hardware.

Add a xen_genfb_getbtinfo() function which will return a btinfo_framebuffer
structure, filled in with parameters provided by Xen

when runing as a Xen dom0, call xen_genfb_getbtinfo() instead of
lookup_bootinfo(BTINFO_FRAMEBUFFER) when adding properties to the
PCI graphic device (when genfb is attached) and in x86_genfb_init()
when genfb is used as console.

x86/x86/consinit.c: If running as a Xen dom0, use xen_genfb_getbtinfo()
to check if we have a genfb console

xen/x86/consinit.c: support genfb as possible console

xen/x86/consinit.c: use the hypervior IO as console until a better one
is found. If the hypervisor is using a serial port for boot messages,
we'll get NetBSD's boot message on the serial port too until
the real console takes over.

xen/x86/autoconf.c: rework device_register() to be closer to the x86 version.
Especially make sure that device_pci_register() is called.

Make sure to always fall back to xen_early_console, even for dom0

Enable genfb in DOM0 kernels

Add ext_lfb_base to dom0_vga_console_info, from recent Xen. We know if it's
present or not by checking dom0.info_size

Add XENPF_get_dom0_console, which gets a dom0_vga_console_info stucture
from the hypervisor. To be used by PVH dom0 kernels.

XENPVH option is not used. Fix consinit.c to use XENPVHVM as intended
and XENPVH from defflag
for a dom0 PVH, the dom0_vga_console_info structure has to be retrieved
using a platform hypercall; do so in the XENPVHVM case.

Now genfb works in a PVH dom0 running on Xen 4.18 (Xen 4.15 doesn't support
this platoform op, so no way to make it work here).
 1.197.4.2 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.197.4.1 08-Oct-2023  martin Pull up following revision(s) (requested by rin in ticket #393):

sys/dev/pci/igc/if_igc.c up to 1.3
sys/dev/pci/igc/if_igc.h up to 1.2
sys/dev/pci/igc/igc_api.c up to 1.2
sys/dev/pci/igc/igc_api.h up to 1.2
sys/dev/pci/igc/igc_base.c up to 1.2
sys/dev/pci/igc/igc_base.h up to 1.2
sys/dev/pci/igc/igc_defines.h up to 1.2
sys/dev/pci/igc/igc_evcnt.h up to 1.1
sys/dev/pci/igc/igc_hw.h up to 1.2
sys/dev/pci/igc/igc_i225.c up to 1.2
sys/dev/pci/igc/igc_i225.h up to 1.2
sys/dev/pci/igc/igc_mac.c up to 1.2
sys/dev/pci/igc/igc_mac.h up to 1.2
sys/dev/pci/igc/igc_nvm.c up to 1.2
sys/dev/pci/igc/igc_nvm.h up to 1.2
sys/dev/pci/igc/igc_phy.c up to 1.2
sys/dev/pci/igc/igc_phy.h up to 1.2
sys/dev/pci/igc/igc_regs.h up to 1.2
distrib/sets/lists/man/mi: revision 1.1766
sys/arch/amd64/conf/GENERIC: revision 1.606
sys/arch/evbppc/conf/DHT: revision 1.5
sys/arch/evbarm/conf/GENERIC64: revision 1.213
share/man/man4/Makefile: revision 1.733
sys/arch/amd64/conf/ALL: revision 1.181
share/man/man4/igc.4: revision 1.1
sys/dev/pci/files.pci: revision 1.447
sys/arch/amd64/conf/XEN3_DOM0: revision 1.200
doc/CHANGES (apply patch)

Add igc(4) for Intel I225/I226 series ethernet devices
 1.203.2.1 02-Aug-2025  perseant Sync with HEAD
 1.106 22-May-2025  bad make XEN3 configs include XEN3.local instead of GENERIC.local

The XEN device tree is not compatible with the non-XEN device tree.

This means that one can't enable in GENERIC.local many devices that are
commented out in GENERIC. E.g,

vio9p* at virtio?
i915drm* at drm?
qat* at pci? dev ? function ?
audio* at audiobus?

Switch to including XEN3.local instead of GENERIC.local to have a common
file for local XEN3 specific configuration.

See https://mail-index.netbsd.org/tech-kern/2024/08/11/msg029672.html for
the discussion.

Note that GENERIC.local was added to most arches only in February 2023:
https://mail-index.netbsd.org/source-changes/2023/02/12/msg143277.html

Addresses: PR port-xen/59438: GENERIC content can't be in GENERIC.local because
of XEN3_DOM* kernels

Should probably be pulled up to -10 and -9.
 1.105 02-Apr-2024  charlotte branches: 1.105.2;
Mention DKWEDGE_METHOD_TOS in several kernel config files
 1.104 29-Jan-2024  christos PR/57889: Ricardo Branco: ext2fs does not have user immutable and append
file flags, only system ones. Restrict those to the superuser. Before
the behavior was controlled by EXT2FS_SYSTEM_FLAGS. Make that behavior the
default.
 1.103 05-Aug-2023  riastradh xen/x86: Enable heartbeat checks.
 1.102 22-Jul-2023  riastradh amd64/XEN3_DOMU: Pass -g to build debug data like GENERIC.

Needed for CTF data by dtrace when MKDEBUG=no MKDEBUGKERNEL=no.

XXX pullup-10
 1.101 21-Jul-2023  riastradh amd64/XEN3_DOMU: Enable KDTRACE_HOOKS.

XXX pullup-10
 1.100 09-Feb-2023  abs Adjust _all_ cinclude of *.local files

- Ensure always at end
- Use tab rather than spaces
- Add consistent comment
"Pull in optional local configuration - always at end"

The only functional change is that a local file which tried to
override an existing setting (eg with "no foo") would have failed
in some cases before, but now will work
 1.99 07-Aug-2022  simonb branches: 1.99.4;
UFS/LFS dirhash:
- Enable UFS_DIRHASH if the architecture or kernel model specific config
file can use 128MB of RAM or more.
- Remove experimental tag from UFS_DIRHASH; it's been with RUMP kernel
and by a number of NetBSD developers for years.
- Add LFS_DIRHASH if LFS was enabled.
- Be somewhat consistent with FS options order.
 1.98 29-Nov-2021  jdolecek enable UFS_ACL option for XEN3_DOMU, it's useful for e.g. running Samba in DomU

idea from Matthias Petermann via current-users@
 1.97 20-Jan-2021  nia remove compat_ossaudio from kernel modules

this is only useful with compat_linux and gets autoloaded when
compat_linux is loaded, so there's no reason to bake it into kernels
any more.
 1.96 27-Sep-2020  roy branches: 1.96.2;
vether: Add to kernel configurations

It's only enabled if the kernel enabled bridge AND tap.
Otherwise it's commented out.
 1.95 16-Aug-2020  jdolecek make COMPAT_LINUX option disabled by default

leave the option enabled only in amd64/i386 ALL kernels to make
sure it continues to be compilable also when included in kernel
 1.94 01-Aug-2020  maxv Remove references to BRIDGE_IPF, it is now compiled in by default.
 1.93 25-Apr-2020  bouyer Disable -g, which got enabled by mistake in the bouyer-xenpvh merge
 1.92 25-Apr-2020  bouyer Merge the bouyer-xenpvh branch, bringing in Xen PV drivers support under HVM
guests in GENERIC.
Xen support can be disabled at runtime with
boot -c
disable hypervisor
 1.91 15-Apr-2020  jdolecek remove MAXPHYS override, xbd(4) was changed to work with 64k transfers
 1.90 21-Aug-2019  maxv branches: 1.90.6;
No USER_LDT on Xen.
 1.89 06-May-2019  sevan branches: 1.89.2;
Use filesystems.config to reduce duplication
 1.88 11-Feb-2019  cherry We reorganise definitions for XEN source support as follows:

XEN - common sources required for baseline XEN support.
XENPV - sources required for support of XEN in PV mode.
XENPVHVM - sources required for support for XEN in HVM mode.
XENPVH - sources required for support for XEN in PVH mode.
 1.87 14-Aug-2018  maxv Enable L2TP on all x86 configurations, not just native amd64.
 1.86 01-Aug-2018  maxv Unreference IPF/PF from the x86 config files (amd64, i386, xen), and enable
NPF instead when wanted.
 1.85 17-Jul-2018  bouyer Put back trace in DDB_COMMANDONENTER; in seems that the sysctl is not
functionnal early in boot.
 1.84 17-Feb-2018  sevan branches: 1.84.2; 1.84.4;
With the introduction of ddb.dumpstack which is enabled by default, we no longer
need to explicitly set DDB_COMMANDONENTER to run a trace.
 1.83 23-Jan-2018  sevan Alternate buffer queue strategies no longer considered experimental, update
description.

Discussed on tech-kern
http://mail-index.netbsd.org/tech-kern/2018/01/21/msg023002.html
 1.82 13-Jan-2018  christos added commented out AUTOFS pseudo-device entries
 1.81 09-Jan-2018  christos Merge autofs support from: Tomohiro Kusumi
XXX: Does not work yet
 1.80 06-Nov-2017  rin Revive commented out DISKLABEL_EI option to kernel configuration files
that contain FFS_EI option.
 1.79 30-Sep-2017  pgoyette Add commented-out ident lines to the XEN3_DOM{0,U} kernel config files
for consistency with other config files.

OK bouyer@
 1.78 14-Sep-2017  mrg clean up COMPAT_* options for native netbsd code:
- new series of files that are useful for saying "i want everything
since netbsd 1.4", etc.
- use the fact COMPAT_* options have future dependancies to remove
many redundant options.

removes about 3000 lines total across kernel configuration files.
tested about 30 random kernels in the changed list.
 1.77 10-Aug-2017  maxv Pff, I forgot to revert my change in these files. I committed only the
GENERIC files, and the message was:

Revert my changes, and re-enable COMPAT_NOMID, COMPAT_09 and COMPAT_43.
Several compat options happen to be dependent on the compat_43_* functions,
the availability of which is (wrongfully) controlled with COMPAT_43. Same
for COMPAT_09.
 1.76 28-Jul-2017  maxv After a careful review, and all things considered, disable compat43 by
default on amd64. The use case is limited, the potential for damage too
high, and it is safer to run a BSD4.3 binary on i386 since the kernel does
not have to go through netbsd32 - which may not correctly reproduce i386.
 1.75 21-May-2017  pgoyette branches: 1.75.2;
Remove unnecessary SYSMON_* options.
 1.74 11-May-2017  sborrill Add commented out carp and mpls pseudo-devices to be consistent with
GENERIC
 1.73 26-Feb-2017  rin branches: 1.73.4;
Comment out DISKLABEL_RDB as it is too specific for general usage.
(Also add commented out that entry for GENERIC on amd64; I forgot it)
 1.72 26-Feb-2017  maya Remove commented DISKLABEL_EI for strictly little endian architectures

It will never be useful.
 1.71 26-Feb-2017  rin Add DKWEDGE_METHOD_RDB option, which is enabled for x86, commented out for
other platforms by default.
 1.70 19-Feb-2017  rin PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
 1.69 23-Jan-2017  christos PR/51908: Kyle Amon: Allow customization of XEN kernels via .local files.
 1.68 12-Jan-2017  ryo branches: 1.68.2;
white space police
 1.67 18-Dec-2016  dholland Whitespace.
 1.66 17-Dec-2016  maxv Add MODULAR in Xen kernels.
 1.65 14-May-2016  christos branches: 1.65.2;
Turn on MPROTECT on GENERIC and both MPROTECT and ASLR on XEN*
 1.64 10-Nov-2015  tnn Add "pseudo-device iscsi" to ALL and as a commented out hint in XEN3_*
 1.63 12-Aug-2015  maxv Remove KMEMSTATS.
 1.62 16-Jul-2015  bouyer Uncoment options IPSEC, as requested by Gary Duzan in PR port-amd64/50052
 1.61 05-May-2015  pgoyette For non-modular XEN3_DOMU kernels, include sysmon and all of its
subcomponents. While the wdog and envsys subcomponents aren't
terribly useful in DOMU environment, this restores functionality
to previous (pre-modularized sysmon) state.
 1.60 16-Nov-2014  manu branches: 1.60.2;
Remove unused extended attributes kernel options

As Masao Uebayashi pointed to me, UFS_EXTATTR_AUTOSTART, LFS_EXTATTR_AUTOSTART
and UFS_EXTATTR_AUTOCREATE are not used anywhere in the code. Remove them
as they have been obsolete for a long time:
UFS_EXTATTR_AUTOSTART was replaced by mount -o extattr
LFS_EXTATTR_AUTOSTART was created to match obsolete UFS_EXTATTR_AUTOSTART
UFS_EXTATTR_AUTOCREATE was replaced by sysctl vfs.ffs.extattr_autocreate
 1.59 12-Nov-2014  manu Support for UFS1 extended attributes in GENERIC and GENERIC-like kernels

This change just brings UFS1 extended attribute *support* in the kernel,
extended attributes are not enabled unless three conditions are met:
1) filesystem is UFS1 (newfs -O1)
2) .attribute/system and .attribute/user directories are created at fs root
3) filesystem is mounted with -o extattr

Some GENERIC kernels are obviously memory constrained, the extended
attributes options were not enabled for them, but just added commented out.
(kernel were considered memory constrained if QUOTA option was disabled)
 1.58 19-Sep-2014  christos Disable BSDLABEL and MBR DKWEDGE methods again since sysinst does not work
with wedges.
 1.57 23-Aug-2014  dholland Systematize (and in many cases, fix) the comments on options COMPAT_NN.

There are quite a few configs that are missing some COMPAT_NN options
in ways that don't make sense; this should probably get cleaned up
too, but for the time being I've not added or removed anything.
 1.56 18-Aug-2014  christos - Enable Wedge support for MBR/BSDLABEL where it was commented out.
- Add apple partition support where it was missing
- Add comments where missing
 1.55 16-Aug-2014  apb Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
 1.54 25-Jul-2014  dholland branches: 1.54.2;
Fix description of DIAGNOSTIC in x86 kernels.
 1.53 24-Mar-2014  szptvlfn branches: 1.53.2;
fix manual section numbering of sysctl.
thanks wiz@
 1.52 16-Mar-2014  jakllsch Disable xpci(4) PCI passthrough in XEN3_DOMU kernels by popular demand.
 1.51 15-Mar-2014  jakllsch Enable PCI support in amd64 XEN3_DOMU config to match i386 XEN3_DOMU config.
 1.50 30-Jun-2013  rmind G/C PFIL_HOOKS from the kernel configs.
 1.49 05-Jun-2013  christos branches: 1.49.2;
remove obsolete networking options
 1.48 27-Apr-2013  christos the bogus number police
 1.47 27-Apr-2013  christos remove confusing numeric locators where they are unused.
 1.46 17-Apr-2013  riz Sync DKWEDGE options with XEN3_DOM0.
 1.45 02-Mar-2013  christos Under FAST_IPSEC, IPSEC_ESP is mandatory; GC it.
 1.44 01-Mar-2013  joerg Retire OSI network stack. OK core@
 1.43 24-Jan-2013  bouyer Put back 32k MAXPHYS, reverting
http://mail-index.netbsd.org/source-changes/2013/01/19/msg040666.html

64k MAXPHYS breaks at last iso9660, as shown by periodic anita runs at
http://www-soc.lip6.fr/~bouyer/NetBSD-tests/xen/
 1.42 19-Jan-2013  jakllsch xbd has been able to cope with any value of MAXPHYS since
src/sys/arch/xen/xen/xbd_xenbus.c 1.56
 1.41 17-Oct-2012  apb Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
 1.40 04-Oct-2012  dsl Remove references to VM86 from the amd64 kernel configs.
VM86 mode isn't supported while in long mode.
 1.39 23-Sep-2012  chs add vmt entry to GENERIC.
standardize commented pfsync and npf entries.
 1.38 10-Mar-2012  joerg branches: 1.38.2;
P1003_1B_SEMAPHORE is no longer optional.
 1.37 25-Feb-2012  bouyer Comment out options DEBUG from Xen kernel; also comment out
makeoptions DEBUG="-g" where it was still enabled.
 1.36 30-Jan-2012  cherry branches: 1.36.2;
switch on NetBSD/Xen MULTIPROCESSOR support for domUs as default, for wider testing
 1.35 19-Dec-2011  cherry Add knob to turn MULTIPROCESSOR build on for XEN
 1.34 18-Dec-2011  dholland WABPL is no longer considered experimental (has not been for some time)
so update its comment in config files.
 1.33 22-Nov-2011  tls branches: 1.33.2;

The rnd pseudo-device is not really optional, because it is in the same
source file as the entropy-pool code itself. Move it to std. This
will be cleaned up more when I split the sources up as they should be.

This fixes build breaks on several ports. Thanks to Havard Eidnes for
pointing them out.
 1.32 10-Nov-2011  riz Add pseudo-device drvctl. (Already exists in i386 domU config)
 1.31 25-Oct-2011  jakllsch branches: 1.31.2;
Per existing x86 GENERIC kernels, add:
#options BUFQ_READPRIO
options BUFQ_PRIOCSCAN
to Xen kernels.
 1.30 28-May-2011  ryo branches: 1.30.2;
many whitespace cleanup.
 1.29 29-Apr-2011  jym Enable balloon(4) for Xen kernels.

ok bouyer@; shortly discussed on port-xen@.
 1.28 18-Apr-2011  jym Large rewrite of the balloon driver. This one:

- turns balloon into a driver that attaches to xenbus(4). This allows to
disable the functionality either at compile time or boot time via
userconf(4). Driver can implement detach or pmf(9) hooks if deemed
necessary.

- keeps Cherry's locking model, but simplify it a bit. There is now
only one target value serialized inside balloon, we do not feedback
alternative value to Xenstore (clients are not expected to see its value
evolve behind their back, and can't do much about that either)

- implements min threshold; this is an admin-settable value that tells
driver to "not balloon below this threshold." This can be used by domain
to keep memory reservations, useful if activity is expected in the near
future.

- in addition to min threshold, the driver implements internally a
safeguard value (uvmexp.freemin + 1MiB), so that admin cannot
inadvertently set min to a very low value forcing domain into heavy
memory pressure and swapping.

- create the sysctl(8) kern.xen.balloon tree. 4 nodes are actually present
(values are in KiB):
- min: (rw) an admin-settable value that prevents ballooning below this
mark
- max: (ro) the maximum size for reservation, as set by xm(1) mem-max.
- current: (ro) the current reservation for domain.
- target: (rw) the targetted reservation for domain.

- fix a few limitations here and there, most notably the max_reservation
hypercall, and KiB vs pages representations at interfaces.

The driver is still turned off by default. Enabling it would need more
approval, especially from bouyer@, cherry@ and cegger@.

FWIW: tested it two days long, from amd64 dom0 (with dom0 ballooning
enabled for xend), and bunch of domUs. Did not notice anything suspicious.

XXX it still has one big limitation: it cannot hotplug memory pages in
uvm(9) if they were not present beforehand. Example: ballooning above
physmem will give more pages to domain but it won't use it to serve
allocations, unless we teach uvm(9) how to handle the extra pages.
 1.27 06-Mar-2011  bouyer merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.
 1.26 23-Nov-2010  hannken branches: 1.26.2; 1.26.4;
Remove unused count from pseudo-device md.
 1.25 12-Aug-2010  haad dd dm driver to XEN configs because they do not have modules working yet.
This will enable using LVM by default on XEN DOM0 hostings running NetBSD.

Change suggested by Sam Fourman.
 1.24 06-Jul-2010  cherry The Xen balloon driver enables growing and shrinking
PV domains on the fly, by collaborating with UVM and the hypervisor
 1.23 08-May-2010  mrg enable IPFILTER_COMPAT in all kernels that have ipfilter already.
canonicalise several of the ipf option segments in various files
(this mostly means adding commented out IPFILTER_DEFAULT_BLOCK,
or adding commented or uncommented IPFILTER_LOG or IPFILTER_LOOKUP
option statements.)

i built about 20 of these kernels to check, but not all of them.
 1.22 16-Apr-2010  pooka Remove unused count (invariably "4") from pseudo-device fss.
 1.21 17-Dec-2009  jym branches: 1.21.2; 1.21.4;
Compile in PaX support for Xen x86 kernels (dom0 and domU).

ok bouyer@. Compiled and tested by me under i386. Only compile tested for
amd64.
 1.20 05-Dec-2009  pooka Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs. User functionality remains the same.
 1.19 25-Mar-2009  cegger catch up with i386 xen kernels:
enable cgd by default
 1.18 06-Mar-2009  cegger add options COMPAT_50
 1.17 04-Mar-2009  nisimura comment out NFS_BOOT_BOOTSTATIC. It will be useful when a valid set of
NFS_BOOTSTATICs are specfied.
 1.16 13-Feb-2009  bouyer Add commented out PCI pass-through support:
#xpci* at xenbus ? #Xen3 PCI front end driver
#pci* at xpci ?
 1.15 24-Nov-2008  ad branches: 1.15.4;
Remove softdep, pass 1. We are focused on improving journalling.

Proposed on tech-kern@.
 1.14 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.13 10-Aug-2008  cegger branches: 1.13.2; 1.13.4; 1.13.8;
Add accept filters per request from port-xen:
http://mail-index.netbsd.org/port-xen/2008/08/10/msg004087.html

pseudo-device entries were copied from sys/arch/i386/conf/GENERIC, rev. 1.904
 1.12 03-Aug-2008  joerg Reduce diff to GENERIC for compat options.
 1.11 03-Aug-2008  joerg Remove SYSV IPC options as they have been replaced with sysctls.
 1.10 31-Jul-2008  cegger Add "options WAPBL" to Xen configs
 1.9 26-May-2008  ad branches: 1.9.4;
Disable OSI networking.
 1.8 27-Mar-2008  tnn branches: 1.8.2; 1.8.4; 1.8.6;
Revert previous for DOMU kernels. They use a custom xennet bootstatic
callback for cmdline configuration. Keep for DOM0 kernels.
 1.7 27-Mar-2008  tnn Comment out NFS_BOOT_BOOTSTATIC. There no use having it in the default
kernel as it needs manual configuration anyway. Also, if it's enabled
but no static options given, then the kernel will happily configure the
interface as INADDY_ANY and not even try to use DHCP.
 1.6 29-Feb-2008  jmmv Remove GENERIC.local from the repository

Make all the kernels that currently include their corresponding GENERIC.local
file use the cinclude directive instead of include. This way config(1) will
not complain if the file cannot be found.

After doing this, remove the GENERIC.local files from the repository so that
the user will not see modified files during updates, and local changes to
them cannot end up in the repository by mistake.

Discussed in tech-kern@ earlier this month. No strong objections.
 1.5 02-Feb-2008  joerg branches: 1.5.2; 1.5.6;
amd64 kernels should use amd64 GENERIC.local.
 1.4 07-Jan-2008  martti branches: 1.4.2;
Fixed option indentation, it should be

option<space><tab>
makeoption<space><tab>
 1.3 31-Dec-2007  ad Remove systrace. Ok core@.
 1.2 22-Nov-2007  bouyer branches: 1.2.2; 1.2.4; 1.2.8; 1.2.12;
Pull up the bouyer-xenamd64 branch to HEAD. This brings in amd64 support
to NetBSD/Xen, both Dom0 and DomU.
 1.1 17-Oct-2007  bouyer branches: 1.1.2; 1.1.4;
file XEN3_DOMU was initially added on branch bouyer-xenamd64.
 1.1.4.2 18-Feb-2008  mjf Sync with HEAD.
 1.1.4.1 08-Dec-2007  mjf Sync with HEAD.
 1.1.2.2 19-Nov-2007  bouyer Get rid of arch/xenamd64, step 1: empty xenamd64/conf
- move xenamd64/conf/std.xen to amd64/conf/
- define arch to amd64 amd64/conf/std.xen, and i386 in xen/conf/std.xen
(machine is xen)
- enclose content of amd64/conf/files.amd64 and i386/conf/files.i386 in
ifndef xen/endif, so it can be transparently inclued for xen kernels
- support MACHINE_ARCH=x86_64 in xen/conf/Makefile*
 1.1.2.1 17-Oct-2007  bouyer amd64 (aka x86-64) support for Xen. Based on the OpenBSD port done by
Mathieu Ropert in 2006.
DomU-only for now. An INSTALL_XEN3_DOMU kernel with a ramdisk will boot to
sysinst if you're lucky. Often it panics because a runable LWP has
a NULL stack (really, it's all of l->l_addr which is has been zeroed out
while the process was on the queue !)
TODO:
- bug fixes :)
- Most of the xpq_* functions should be shared with xen/i386
- The xen/i386 assembly bootstrap code should be remplaced with the C
version in xenamd64/amd64/xpmap.c
- see if a config(5) trick could allow to merge xenamd64 back to xen or amd64.
 1.2.12.2 08-Jan-2008  bouyer Sync with HEAD
 1.2.12.1 02-Jan-2008  bouyer Sync with HEAD
 1.2.8.5 17-Mar-2008  yamt sync with head.
 1.2.8.4 04-Feb-2008  yamt sync with head.
 1.2.8.3 21-Jan-2008  yamt sync with head
 1.2.8.2 07-Dec-2007  yamt sync with head
 1.2.8.1 22-Nov-2007  yamt file XEN3_DOMU was added on branch yamt-lazymbuf on 2007-12-07 17:24:02 +0000
 1.2.4.2 03-Dec-2007  ad Sync with HEAD.
 1.2.4.1 22-Nov-2007  ad file XEN3_DOMU was added on branch vmlocking on 2007-12-03 19:02:45 +0000
 1.2.2.2 27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.2.2.1 22-Nov-2007  joerg file XEN3_DOMU was added on branch jmcneill-pm on 2007-11-27 19:35:30 +0000
 1.4.2.3 23-Mar-2008  matt sync with HEAD
 1.4.2.2 09-Jan-2008  matt sync with HEAD
 1.4.2.1 07-Jan-2008  matt file XEN3_DOMU was added on branch matt-armv6 on 2008-01-09 01:44:51 +0000
 1.5.6.4 17-Jan-2009  mjf Sync with HEAD.
 1.5.6.3 28-Sep-2008  mjf Sync with HEAD.
 1.5.6.2 02-Jun-2008  mjf Sync with HEAD.
 1.5.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.5.2.1 24-Mar-2008  keiichi sync with head.
 1.8.6.2 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.8.6.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.8.4.4 09-Oct-2010  yamt sync with head
 1.8.4.3 11-Aug-2010  yamt sync with head.
 1.8.4.2 11-Mar-2010  yamt sync with head
 1.8.4.1 04-May-2009  yamt sync with head.
 1.8.2.1 04-Jun-2008  yamt sync with head
 1.9.4.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.9.4.1 19-Oct-2008  haad Sync with HEAD.
 1.13.8.1 21-Apr-2010  matt sync to netbsd-5
 1.13.4.4 09-Jun-2013  msaitoh Apply patch (requested by sborrill in ticket #1858):
sys/arch/amd64/conf/XEN3_DOMU
sys/arch/i386/conf/Attic/XEN2_DOMU
Add wedge support in DOMU kernels.
 1.13.4.3 13-Jan-2013  bouyer apply patch(s) (requested by sborrill in ticket #1834):
sys/arch/i386/conf/XEN2_DOMU: patch
sys/arch/amd64/conf/XEN3_DOMU: patch
Add drvctl to Xen DOMU kernels
 1.13.4.2 15-Feb-2010  sborrill Pull up the following revisions(s) (requested by tron in ticket #1306):
sys/arch/i386/conf/XEN2_DOM0 patch
sys/arch/i386/conf/XEN2_DOMU patch
sys/arch/amd64/conf/XEN3_DOM0 patch
sys/arch/amd64/conf/XEN3_DOM0 patch

Enable cgd(4) support on all amd64 and i386 XEN kernels.
 1.13.4.1 03-Oct-2009  snj Pull up following revision(s) (requested by bouyer in ticket #1054):
sys/arch/amd64/conf/XEN3_DOMU: revision 1.16
sys/arch/i386/conf/XEN3_DOMU: revision 1.12
Add commented out PCI pass-through support:
 1.13.2.3 28-Apr-2009  skrll Sync with HEAD.
 1.13.2.2 03-Mar-2009  skrll Sync with HEAD.
 1.13.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.15.4.7 27-Aug-2011  jym Sync with HEAD. Most notably: uvm/pmap work done by rmind@, and MP Xen
work of cherry@.

No regression observed on suspend/restore.
 1.15.4.6 02-May-2011  jym Sync with head.
 1.15.4.5 29-Mar-2011  jym More sync fixes. And add the mbr_gpt files.
 1.15.4.4 28-Mar-2011  jym Cure sync hiccups. Code with compile errors is not really useful, heh.
 1.15.4.3 28-Mar-2011  jym Sync with HEAD. TODO before merge:
- shortcut for suspend code in sysmon, when powerd(8) is not running.
Borrow ``xs_watch'' thread context?
- bug hunting in xbd + xennet resume. Rings are currently thrashed upon
resume, so current implementation force flush them on suspend. It's not
really needed.
 1.15.4.2 01-Nov-2009  jym Sync with HEAD.
 1.15.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.21.4.4 31-May-2011  rmind sync with head
 1.21.4.3 21-Apr-2011  rmind sync with head
 1.21.4.2 05-Mar-2011  rmind sync with head
 1.21.4.1 30-May-2010  rmind sync with head
 1.21.2.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.21.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.26.4.1 08-Feb-2011  bouyer Add QUOTA2 where QUOTA is enabled (and QUOTA2 commented out where QUOTA
is commented out)
 1.26.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.30.2.1 03-Jun-2011  cherry Initial import of xen MP sources, with kernel and userspace tests.
- this is a source priview.
- boots to single user.
- spurious interrupt and pmap related panics are normal
 1.31.2.4 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.31.2.3 23-Jan-2013  yamt sync with head
 1.31.2.2 30-Oct-2012  yamt sync with head
 1.31.2.1 17-Apr-2012  yamt sync with head
 1.33.2.3 11-Mar-2012  mrg sync to latest -current
 1.33.2.2 04-Mar-2012  mrg sync to latest -current.
 1.33.2.1 18-Feb-2012  mrg merge to -current.
 1.36.2.2 15-Aug-2012  sborrill Pull up the following revisions(s) (requested by martin in ticket #502):
sys/arch/cobalt/conf/GENERIC: patch
sys/arch/i386/conf/GENERIC: patch
sys/arch/i386/conf/XEN3_DOM0: patch
sys/arch/i386/conf/XEN3_DOMU: patch
sys/arch/mvmeppc/conf/GENERIC: patch
sys/arch/shark/conf/GENERIC: patch
sys/arch/sparc64/conf/GENERIC: patch
sys/arch/sparc64/conf/GENERIC.DEBUG: patch
sys/arch/zaurus/conf/GENERIC: patch

Switch off DIAGNOSTIC and/or DEBUG on release kernels.
Enable DIAGNOSTIC in DEBUG kernels to allow for option
being switched off in GENERIC.
 1.36.2.1 25-Feb-2012  sborrill Pull up the following revisions(s) (requested by bouyer in ticket #52):
sys/arch/amd64/conf/XEN3_DOM0: revision 1.78
sys/arch/amd64/conf/XEN3_DOMU: revision 1.37
sys/arch/i386/conf/XEN3_DOM0: revision 1.61
sys/arch/i386/conf/XEN3_DOMU: revision 1.42

Xen is stable enough now to remove debug messages in default kernel.
Comment out options DEBUG from Xen kernel; also comment out makeoptions
DEBUG="-g" where it was still enabled.
 1.38.2.4 03-Dec-2017  jdolecek update from HEAD
 1.38.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.38.2.2 23-Jun-2013  tls resync from head
 1.38.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.49.2.2 18-May-2014  rmind sync with head
 1.49.2.1 28-Aug-2013  rmind sync with head
 1.53.2.1 10-Aug-2014  tls Rebase.
 1.54.2.4 22-Jul-2015  snj Pull up following revision(s) (requested by bouyer in ticket #884):
sys/arch/amd64/conf/XEN3_DOM0: revision 1.114
sys/arch/amd64/conf/XEN3_DOMU: revision 1.62
sys/arch/i386/conf/XEN3_DOM0: revision 1.96
sys/arch/i386/conf/XEN3_DOMU: revision 1.68
Uncoment options IPSEC, as requested by Gary Duzan in PR port-amd64/50052
 1.54.2.3 18-Nov-2014  snj Pull up following revision(s) (requested by manu in ticket #251):
sys/arch/acorn26/conf/GENERIC: revision 1.81
sys/arch/acorn32/conf/GENERIC: revision 1.116
sys/arch/alpha/conf/GENERIC: revision 1.362
sys/arch/amd64/conf/ALL: revision 1.23
sys/arch/amd64/conf/GENERIC: revision 1.404
sys/arch/amd64/conf/XEN3_DOM0: revision 1.112
sys/arch/amd64/conf/XEN3_DOMU: revision 1.60
sys/arch/amiga/conf/GENERIC.in: revision 1.129
sys/arch/amiga/conf/GENERIC: revision 1.311
sys/arch/amigappc/conf/GENERIC: revision 1.24
sys/arch/arc/conf/GENERIC: revision 1.184
sys/arch/bebox/conf/GENERIC: revision 1.145
sys/arch/cats/conf/GENERIC: revision 1.155
sys/arch/cesfic/conf/GENERIC: revision 1.65
sys/arch/cobalt/conf/GENERIC: revision 1.147
sys/arch/dreamcast/conf/GENERIC: revision 1.121
sys/arch/emips/conf/GENERIC: revision 1.15
sys/arch/epoc32/conf/GENERIC: revision 1.8
sys/arch/ews4800mips/conf/GENERIC: revision 1.51
sys/arch/hp300/conf/GENERIC: revision 1.190
sys/arch/hpcmips/conf/GENERIC: revision 1.229
sys/arch/hpcsh/conf/GENERIC: revision 1.106
sys/arch/hppa/conf/GENERIC: revision 1.6
sys/arch/i386/conf/ALL: revision 1.389
sys/arch/i386/conf/GENERIC: revision 1.1118
sys/arch/i386/conf/XEN3_DOM0: revision 1.93
sys/arch/i386/conf/XEN3_DOMU: revision 1.65
sys/arch/ibmnws/conf/GENERIC: revision 1.46
sys/arch/iyonix/conf/GENERIC: revision 1.88
sys/arch/landisk/conf/GENERIC: revision 1.45
sys/arch/luna68k/conf/GENERIC: revision 1.119
sys/arch/mac68k/conf/GENERIC: revision 1.220
sys/arch/macppc/conf/GENERIC: revision 1.320
sys/arch/macppc/conf/MAMBO: revision 1.24
sys/arch/macppc/conf/POWERMAC_G5: revision 1.25
sys/arch/mipsco/conf/GENERIC: revision 1.88
sys/arch/mmeye/conf/GENERIC: revision 1.120
sys/arch/mvme68k/conf/GENERIC: revision 1.94
sys/arch/mvmeppc/conf/GENERIC: revision 1.24
sys/arch/netwinder/conf/GENERIC: revision 1.126
sys/arch/news68k/conf/GENERIC: revision 1.125
sys/arch/newsmips/conf/GENERIC: revision 1.129
sys/arch/next68k/conf/GENERIC: revision 1.139
sys/arch/ofppc/conf/GENERIC: revision 1.157
sys/arch/pmax/conf/GENERIC64: revision 1.21
sys/arch/pmax/conf/GENERIC: revision 1.185
sys/arch/prep/conf/GENERIC: revision 1.174
sys/arch/rs6000/conf/GENERIC: revision 1.33
sys/arch/sandpoint/conf/GENERIC: revision 1.88
sys/arch/sbmips/conf/GENERIC: revision 1.101
sys/arch/sgimips/conf/GENERIC32_IP12: revision 1.28
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.104
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.106
sys/arch/shark/conf/GENERIC: revision 1.121
sys/arch/sparc/conf/GENERIC: revision 1.248
sys/arch/sparc/conf/TADPOLE3GX: revision 1.65
sys/arch/sparc64/conf/GENERIC: revision 1.177
sys/arch/sparc64/conf/NONPLUS64: revision 1.44
sys/arch/sun2/conf/GENERIC: revision 1.94
sys/arch/sun3/conf/GENERIC: revision 1.171
sys/arch/vax/conf/GENERIC: revision 1.193
sys/arch/vax/conf/VAX780: revision 1.19
sys/arch/x68k/conf/GENERIC: revision 1.179
sys/arch/zaurus/conf/GENERIC: revision 1.65
sys/ufs/files.ufs: revision 1.38
Remove unused extended attributes kernel options

As Masao Uebayashi pointed to me, UFS_EXTATTR_AUTOSTART, LFS_EXTATTR_AUTOSTART
and UFS_EXTATTR_AUTOCREATE are not used anywhere in the code. Remove them
as they have been obsolete for a long time:
UFS_EXTATTR_AUTOSTART was replaced by mount -o extattr
LFS_EXTATTR_AUTOSTART was created to match obsolete UFS_EXTATTR_AUTOSTART
UFS_EXTATTR_AUTOCREATE was replaced by sysctl vfs.ffs.extattr_autocreate
 1.54.2.2 14-Nov-2014  martin Pull up following revision(s) (requested by manu in ticket #232):
sys/arch/next68k/conf/GENERIC: revision 1.138
sys/arch/cobalt/conf/GENERIC: revision 1.146
sys/arch/mvme68k/conf/GENERIC: revision 1.93
sys/arch/vax/conf/VAX780: revision 1.18
sys/arch/newsmips/conf/GENERIC: revision 1.128
sys/arch/luna68k/conf/GENERIC: revision 1.118
sys/arch/sbmips/conf/GENERIC: revision 1.100
sys/arch/pmax/conf/GENERIC: revision 1.184
sys/arch/alpha/conf/GENERIC: revision 1.361
sys/arch/sparc64/conf/GENERIC: revision 1.176
sys/arch/sun3/conf/GENERIC: revision 1.170
sys/arch/shark/conf/GENERIC: revision 1.120
sys/arch/landisk/conf/GENERIC: revision 1.44
sys/arch/bebox/conf/GENERIC: revision 1.144
sys/arch/sparc64/conf/NONPLUS64: revision 1.43
sys/arch/sandpoint/conf/GENERIC: revision 1.87
sys/arch/emips/conf/GENERIC: revision 1.14
sys/arch/amd64/conf/XEN3_DOM0: revision 1.111
sys/arch/dreamcast/conf/GENERIC: revision 1.120
sys/arch/cesfic/conf/GENERIC: revision 1.64
sys/arch/mmeye/conf/GENERIC: revision 1.119
sys/arch/epoc32/conf/GENERIC: revision 1.7
sys/arch/x68k/conf/GENERIC: revision 1.178
sys/arch/iyonix/conf/GENERIC: revision 1.87
sys/arch/sun2/conf/GENERIC: revision 1.93
sys/arch/ews4800mips/conf/GENERIC: revision 1.50
sys/arch/amd64/conf/XEN3_DOMU: revision 1.59
sys/arch/acorn26/conf/GENERIC: revision 1.80
sys/arch/acorn32/conf/GENERIC: revision 1.115
sys/arch/macppc/conf/POWERMAC_G5: revision 1.24
sys/arch/i386/conf/GENERIC: revision 1.1117
sys/arch/arc/conf/GENERIC: revision 1.183
sys/arch/cats/conf/GENERIC: revision 1.154
sys/arch/amiga/conf/GENERIC.in: revision 1.128
sys/arch/zaurus/conf/GENERIC: revision 1.64
sys/arch/netwinder/conf/GENERIC: revision 1.125
sys/arch/hppa/conf/GENERIC: revision 1.5
sys/arch/mvmeppc/conf/GENERIC: revision 1.23
sys/arch/macppc/conf/GENERIC: revision 1.319
sys/arch/amiga/conf/GENERIC: revision 1.310
sys/arch/pmax/conf/GENERIC64: revision 1.20
sys/arch/macppc/conf/MAMBO: revision 1.23
sys/arch/sgimips/conf/GENERIC32_IP12: revision 1.27
sys/arch/amigappc/conf/GENERIC: revision 1.23
sys/arch/amd64/conf/GENERIC: revision 1.403
sys/arch/ofppc/conf/GENERIC: revision 1.156
sys/arch/mac68k/conf/GENERIC: revision 1.219
sys/arch/i386/conf/XEN3_DOMU: revision 1.64
sys/arch/mipsco/conf/GENERIC: revision 1.87
sys/arch/hp300/conf/GENERIC: revision 1.189
sys/arch/vax/conf/GENERIC: revision 1.192
sys/arch/news68k/conf/GENERIC: revision 1.124
sys/arch/ibmnws/conf/GENERIC: revision 1.45
sys/arch/hpcsh/conf/GENERIC: revision 1.105
sys/arch/sparc/conf/TADPOLE3GX: revision 1.64
sys/arch/i386/conf/XEN3_DOM0: revision 1.92
sys/arch/sparc/conf/GENERIC: revision 1.247
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.105
sys/arch/prep/conf/GENERIC: revision 1.173
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.103
sys/arch/rs6000/conf/GENERIC: revision 1.32
sys/arch/hpcmips/conf/GENERIC: revision 1.228
Support for UFS1 extended attributes in GENERIC and GENERIC-like kernels
This change just brings UFS1 extended attribute *support* in the kernel,
extended attributes are not enabled unless three conditions are met:
1) filesystem is UFS1 (newfs -O1)
2) .attribute/system and .attribute/user directories are created at fs root
3) filesystem is mounted with -o extattr
Some GENERIC kernels are obviously memory constrained, the extended
attributes options were not enabled for them, but just added commented out.
(kernel were considered memory constrained if QUOTA option was disabled)
 1.54.2.1 10-Oct-2014  snj Apply patch (requested by bouyer/martin in ticket #116):
Disable DIAGNOSTIC and/or DEBUG.
 1.60.2.6 28-Aug-2017  skrll Sync with HEAD
 1.60.2.5 05-Feb-2017  skrll Sync with HEAD
 1.60.2.4 29-May-2016  skrll Sync with HEAD
 1.60.2.3 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.60.2.2 22-Sep-2015  skrll Sync with HEAD
 1.60.2.1 06-Jun-2015  skrll Sync with HEAD
 1.65.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.65.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.68.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.73.4.1 19-May-2017  pgoyette Resolve conflicts from previous merge (all resulting from $NetBSD
keywork expansion)
 1.75.2.4 18-Apr-2018  martin Requested by skrll in ticket #60:
sys/arch/amd64/conf/GENERIC
sys/arch/amd64/conf/XEN3_DOM0
sys/arch/amd64/conf/XEN3_DOMU
sys/arch/cobalt/conf/GENERIC
sys/arch/evbarm/conf/BEAGLEBONE
sys/arch/evbarm/conf/BEAGLEBOARD
sys/arch/evbarm/conf/BEAGLEBOARDXM
sys/arch/evbarm/conf/GENERIC.common
sys/arch/i386/conf/GENERIC
sys/arch/i386/conf/XEN3_DOM0
sys/arch/i386/conf/XEN3_DOMU
sys/arch/mvmeppc/conf/GENERIC
sys/arch/shark/conf/GENERIC
sys/arch/sparc64/conf/GENERIC
sys/arch/zaurus/conf/GENERIC

Remove option DIAGNOSTIC.
 1.75.2.3 26-Jan-2018  martin Pull up following revision(s) (requested by sevan in ticket #510):
sys/arch/sun3/conf/GENERIC3X: revision 1.130
sys/arch/sparc64/conf/GENERIC: revision 1.203
sys/arch/news68k/conf/LIBERO: revision 1.66
sys/arch/amiga/conf/DRACO: revision 1.185
sys/arch/evbarm/conf/MV2120: revision 1.35
sys/arch/x68k/conf/GENERIC: revision 1.187
sys/arch/rs6000/conf/GENERIC: revision 1.39
sys/arch/news68k/conf/GENERIC_TINY: revision 1.86
sys/arch/i386/conf/XEN3_DOMU: revision 1.88
sys/arch/iyonix/conf/GENERIC: revision 1.97
sys/arch/evbarm64/conf/A64EMUL: revision 1.11
sys/arch/mvme68k/conf/GENERIC: revision 1.98
sys/arch/acorn32/conf/GENERIC: revision 1.124
sys/arch/i386/conf/XEN3_DOM0: revision 1.125
sys/arch/cobalt/conf/INSTALL: revision 1.65
sys/arch/macppc/conf/GENERIC_601: revision 1.16
sys/arch/hppa/conf/GENERIC: revision 1.17
sys/arch/amiga/conf/GENERIC.in: revision 1.137
sys/arch/sgimips/conf/GENERIC32_IP12: revision 1.33
sys/arch/netwinder/conf/GENERIC: revision 1.134
sys/arch/amd64/conf/XEN3_DOMU: revision 1.83
sys/arch/mac68k/conf/GENERIC: revision 1.225
sys/arch/arc/conf/RPC44: revision 1.54
sys/arch/mipsco/conf/GENERIC: revision 1.92
sys/arch/cats/conf/GENERIC: revision 1.166
sys/arch/amd64/conf/XEN3_DOM0: revision 1.145
sys/arch/amigappc/conf/GENERIC: revision 1.33
sys/arch/sun3/conf/GENERIC: revision 1.176
sys/arch/news68k/conf/GENERIC: revision 1.130
sys/arch/hpcsh/conf/GENERIC: revision 1.110
sys/arch/hp300/conf/GENERIC: revision 1.198
sys/arch/atari/conf/GENERIC.in: revision 1.115
sys/arch/sparc/conf/MRCOFFEE: revision 1.54
sys/arch/evbppc/conf/EXPLORA451: revision 1.62
sys/arch/cesfic/conf/GENERIC: revision 1.69
sys/arch/vax/conf/GENERIC: revision 1.204
sys/arch/sgimips/conf/GENERIC32_IP3x: revision 1.115
sys/arch/sgimips/conf/GENERIC32_IP2x: revision 1.112
sys/arch/sparc/conf/GENERIC: revision 1.258
sys/arch/next68k/conf/GENERIC: revision 1.145
sys/arch/evbarm/conf/MMNET_GENERIC: revision 1.34
sys/arch/prep/conf/GENERIC: revision 1.185
sys/arch/amiga/conf/INSTALL: revision 1.129
sys/arch/newsmips/conf/GENERIC: revision 1.133
sys/arch/cobalt/conf/GENERIC: revision 1.156
sys/arch/sun2/conf/GENERIC: revision 1.99
sys/arch/luna68k/conf/INSTALL: revision 1.25
sys/arch/amigappc/conf/NULL: revision 1.53
sys/arch/acorn26/conf/GENERIC: revision 1.85
sys/arch/vax/conf/VAX780: revision 1.25
sys/arch/luna68k/conf/GENERIC: revision 1.125
sys/arch/ews4800mips/conf/GENERIC: revision 1.56
sys/arch/macppc/conf/POWERMAC_G5: revision 1.29
sys/arch/arc/conf/GENERIC: revision 1.189
sys/arch/macppc/conf/MAMBO: revision 1.27
sys/arch/acorn32/conf/EB7500ATX: revision 1.64
sys/arch/pmax/conf/GENERIC: revision 1.196
sys/arch/pmax/conf/GENERIC64: revision 1.28
sys/arch/amiga/conf/GENERIC: revision 1.319
sys/arch/evbarm/conf/MPCSA_GENERIC: revision 1.55
sys/arch/macppc/conf/GENERIC: revision 1.339
sys/arch/emips/conf/GENERIC: revision 1.21
sys/arch/sandpoint/conf/GENERIC: revision 1.97
sys/arch/landisk/conf/GENERIC: revision 1.58
sys/arch/bebox/conf/GENERIC: revision 1.157
sys/arch/alpha/conf/GENERIC: revision 1.379
Alternate buffer queue strategies no longer considered experimental, update
description.
Discussed on tech-kern
http://mail-index.netbsd.org/tech-kern/2018/01/21/msg023002.html
 1.75.2.2 29-Aug-2017  martin Requested by skrll in ticket #60:
sys/arch/amd64/conf/GENERIC
sys/arch/amd64/conf/XEN3_DOM0
sys/arch/amd64/conf/XEN3_DOMU
sys/arch/cobalt/conf/GENERIC
sys/arch/evbarm/conf/BEAGLEBONE
sys/arch/evbarm/conf/BEAGLEBOARD
sys/arch/evbarm/conf/BEAGLEBOARDXM
sys/arch/evbarm/conf/GENERIC.common
sys/arch/i386/conf/GENERIC
sys/arch/i386/conf/XEN3_DOM0
sys/arch/i386/conf/XEN3_DOMU
sys/arch/mvmeppc/conf/GENERIC
sys/arch/shark/conf/GENERIC
sys/arch/sparc64/conf/GENERIC
sys/arch/zaurus/conf/GENERIC


Re-enable option DIAGNOSTIC for now, will remove it again later.
 1.75.2.1 05-Jul-2017  martin Remove options DIAGNOSTIC/DEBUG and PAX debug options.
Requested by snj in #60.
 1.84.4.3 21-Apr-2020  martin Sync with HEAD
 1.84.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.84.4.1 10-Jun-2019  christos Sync with HEAD
 1.84.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.84.2.1 28-Jul-2018  pgoyette Sync with HEAD
 1.89.2.1 21-Nov-2019  martin In preparation for the upcoming release, turn off DIAGNOSTIC in most
kernel configs, modules and libc.
 1.90.6.4 22-Apr-2020  bouyer Remove HZ=20, it was to testing only.
 1.90.6.3 20-Apr-2020  bouyer Sync with HEAD
 1.90.6.2 15-Apr-2020  bouyer On amd64, always use the cmpxchg8b version of spllower. All x86_64 host should
have it and we already rely on it in lock stubs.
On i386, always use i686_mutex_spin_exit and cx8_spllower for Xen;
Xen doesn't run on CPUs on CPUs lacking the required instructions anyway.
Skip x86_patch only for XENPV, and adjust for changes in assembly functions.
Tested on Xen PV and PVHVM, and on bare metal core i5.
 1.90.6.1 08-Apr-2020  bouyer Turn on -g by default on the branch
 1.96.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.99.4.2 29-Mar-2025  martin Pull up following revision(s) (requested by sborrill in ticket #1076):

sys/arch/amd64/conf/XEN3_DOMU: revision 1.101
sys/arch/amd64/conf/XEN3_DOMU: revision 1.102

amd64/XEN3_DOMU: Pass -g to build debug data like GENERIC.
Needed for CTF data by dtrace when MKDEBUG=no MKDEBUGKERNEL=no.

amd64/XEN3_DOMU: Enable KDTRACE_HOOKS.
 1.99.4.1 09-Oct-2023  snj Apply patch (requested by martin in ticket #401):
Disable DIAGNOSTIC/DEBUG.
 1.105.2.1 02-Aug-2025  perseant Sync with HEAD
 1.5 25-Apr-2020  bouyer Merge the bouyer-xenpvh branch, bringing in Xen PV drivers support under HVM
guests in GENERIC.
Xen support can be disabled at runtime with
boot -c
disable hypervisor
 1.4 15-Apr-2020  jdolecek remove MAXPHYS override, xbd(4) was changed to work with 64k transfers
 1.3 06-Apr-2020  bouyer branches: 1.3.2;
use conf/filesystems.config, fix missing PTYFS
 1.2 21-Aug-2019  maxv No USER_LDT on Xen.
 1.1 14-Feb-2019  cherry branches: 1.1.4;
Welcome XENPVHVM mode.

It is UP only, has xbd(4) and xennet(4) as PV drivers.

The console is com0 at isa and the native portion is very
rudimentary AT architecture, so is probably suboptimal to
run without PV support.
 1.1.4.4 21-Apr-2020  martin Sync with HEAD
 1.1.4.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 14-Feb-2019  christos file XEN3_PVHVM was added on branch phil-wifi on 2019-06-10 22:05:47 +0000
 1.3.2.4 25-Apr-2020  bouyer Merge GENERIC_XENHVM in GENERIC.
Remove XEN3_PVHVM/XEN3PAE_PVHVM files which have been obsolete for some time
on the branch
 1.3.2.3 20-Apr-2020  bouyer Sync with HEAD
 1.3.2.2 10-Apr-2020  bouyer spllower(): Also check Xen pending events
hypervisor_pvhvm_callback(): exit via Xdoreti, so that pending interrupts
are checked.
disable __HAVE_FAST_SOFTINTS only for XENPV, it now works for PVHVM.
We still have to disable PREEMPTION, until we support MULTIPROCESSOR
 1.3.2.1 08-Apr-2020  bouyer Turn on -g by default on the branch
 1.1 27-Aug-2010  uebayasi branches: 1.1.2;
file XIP was initially added on branch uebayasi-xip.
 1.1.2.2 30-Oct-2010  uebayasi xmd(4) uses a conflicting symbol "md_root_image" with md(4).
Exclude md(4) where xmd(4) is used.

XXX In the long run mdsetimage(8) must die.
 1.1.2.1 27-Aug-2010  uebayasi xmd(4) / XIP config for amd64.
 1.124 02-Jan-2025  imil Trivial bus implementation inspired by OpenBSD's pv(4) to attach devices
that don't need nor rely on a PCI or ISA bus.
 1.123 23-Feb-2024  andvar branches: 1.123.2;
s/optionms/options/ in copy-pasted comment.
 1.122 05-Dec-2023  thorpej Add btvmei + btvmeii and vme to ALL.
 1.121 05-May-2023  manu Add a SELFRELOC kernel option for the sake of documentation clarity.

Instead of telling that x86/boot(8) reloc command needs a kernel able
to self relocate, we can tell it needs a kernel built with the
SELFRELOC option. This keeps the reader from wondering what could
make a kernel able to self relocate.
 1.120 21-Oct-2020  christos branches: 1.120.20;
make process_machdep.c included always since it provides register i/o used by
sys_process_getlwpstatus.c which is always included.
 1.119 20-Oct-2020  christos harmonize process_machdep.c inclusion.
 1.118 19-Oct-2020  christos Arrange so that no options COREDUMP and no options PTRACE work together.
Thanks to Paul Goyette for testing.
 1.117 15-Oct-2020  mgorny Revert "Merge convert_xmm_s87.c into fpu.c"

I am going to add ATF tests for these two functions, and having them
in a separate file will make it more convenient to build and run them
in userspace.
 1.116 25-Apr-2020  bouyer Merge the bouyer-xenpvh branch, bringing in Xen PV drivers support under HVM
guests in GENERIC.
Xen support can be disabled at runtime with
boot -c
disable hypervisor
 1.115 09-Jan-2020  manu branches: 1.115.4;
Rollback multiboot2 for amd64, as requested by core
 1.114 10-Dec-2019  manu branches: 1.114.2;
Add multiboot 2 support to amd64 kernel
 1.113 07-Sep-2019  maxv Merge amd64func.S into cpufunc.S, and clean up.
 1.112 15-Feb-2019  nonaka branches: 1.112.4;
Added Microsoft Hyper-V support. It ported from OpenBSD and FreeBSD.

graphical console is not work on Gen.2 VM yet. To use the serial console,
enter "consdev com,0x3f8,115200" on efiboot.
 1.111 27-Jan-2019  pgoyette Merge the [pgoyette-compat] branch
 1.110 22-Dec-2018  cherry This change modifies the mainbus(4) entry point for all x86 sub-archs
in the following way:

i) It provides a unified entry point in
x86/x86/mainbus.c:mainbus_attach()
ii) It carves out the preliminary bus attachment sequence that is
common to all sub-archs into
x86/x86/mainbus.c: x86_cpubus_attach()
iii) It consolidates the remaining pathways as internal callee
functions so that these may be called piecemeal if required. A
special usecase of this is XEN PVHVM which may need to call the
native configure path, the xen configure path, or both.
iv) It moves the driver private data structures from
i386/i386_mainbus.c to an x86/ level one. This allows for other
sub-arch's to do similar, if needed. (They do not at the moment).
v) For dom0 kernels, it enables 'acpi0 at mainbus?' and
'acpi0 at hypervisorbus'. This serves two purposes:
a) To demonstrate the possibility of dynamic configuration tree
traversal ordering changes.
b) To allow for the common acpi_check(self, "acpibus") call in
x86/mainbus.c to not barf when it is called from the dom0 attach
path. We allow for the acpi0 device to be a child of mainbus with
the changes to amd64/conf/XEN3_DOM0 and i386/conf/XEN3PAE_DOM0
without actually probing further in the code. This path will later
be pursued in a PVHVM boot codepath.

There should be no operative changes with this change. If there are,
please complain loudly.
 1.109 22-Dec-2018  cherry Move mainbus(4) driver files in various x86 sub-archs to name prefixed
versions. This allows us to further modularise them by unifying common
bus probe code in x86/x86/mainbus.c to be introduced next.

This commit has no functional changes. It is done for ease of
visibility of newer diffs in the queue.
 1.108 03-Dec-2018  christos KASLR is in files.kern now.
 1.107 31-Oct-2018  maxv Move the MI parts of KASAN into kern/subr_asan.c. This file includes
machine/asan.h, which contains the MD functions. We use an include rather
than a plain C file, because we want GCC to optimize/inline some functions
into one single block.

The amd64 MD parts of KASAN are moved accordingly.

The naming convention we use is:

kasan_*
a generic kasan object, declared in subr_asan.c
kasan_md_*
an MD kasan object, declared in machine/asan.h, and used
in subr_asan.c
__md_*
an MD object, declared in machine/asan.h, and not used
outside

Overall this makes it easier to add KASAN support on more architectures.

Discussed with several people.
 1.106 20-Aug-2018  maxv Add support for kASan on amd64. Written by me, with some parts inspired
from Siddharth Muralee's initial work. This feature can detect several
kinds of memory bugs, and it's an excellent feature.

It can be enabled by uncommenting these three lines in GENERIC:

#makeoptions KASAN=1 # Kernel Address Sanitizer
#options KASAN
#no options SVS

The kernel is compiled without SVS, without DMAP and without PCPU area.
A shadow area is created at boot time, and it can cover the upper 128TB
of the address space. This area is populated gradually as we allocate
memory. With this design the memory consumption is kept at its lowest
level.

The compiler calls the __asan_* functions each time a memory access is
done. We verify whether this access is legal by looking at the shadow
area.

We declare our own special memcpy/memset/etc functions, because the
compiler's builtins don't add the __asan_* instrumentation.

Initially all the mappings are marked as valid. During dynamic
allocations, we add a redzone, which we mark as invalid. Any access on
it will trigger a kASan error message. Additionally, the compiler adds
a redzone on global variables, and we mark these redzones as invalid too.
The illegal-access detection works with a 1-byte granularity.

For now, we cover three areas:

- global variables
- kmem_alloc-ated areas
- malloc-ated areas

More will come, but that's a good start.
 1.105 13-Jul-2018  maxv Remove the X86PMC code I had written, replaced by tprof. Many defines
become unused in specialreg.h, so remove them. We don't want to add
defines all the time, there are countless PMCs on many generations, and
it's better to just inline the event/unit values.
 1.104 23-May-2018  maxv branches: 1.104.2;
Merge convert_xmm_s87.c into fpu.c. It contains only two functions, that
are used only in fpu.c.
 1.103 22-May-2018  maxv Mmh, don't compile spectre.c on Xen.
 1.102 07-Apr-2018  mrg add an SPECTRE_V2_GCC_MITIGATION option to x86 kernels, that turns
on the GCC spectre v2 mitigation options.

XXX: pullup-8.
XXX: turn on in all kernels.
 1.101 20-Jan-2018  maxv branches: 1.101.2;
Compile amd64_trap.S as a file instead of including it.
 1.100 08-Jan-2018  maxv Since SVS is now defined in files.x86, remove it from files.amd64
and files.i386.
 1.99 08-Jan-2018  martin Now that SVS is defined in file.x86, do not repeat it here
 1.98 07-Jan-2018  maxv Add a new option, SVS (for Separate Virtual Space), that unmaps kernel
pages when running in userland. For now, only the PTE area is unmapped.

Sent on tech-kern@.
 1.97 01-Jan-2018  maxv Compile the prekern entry point only under KASLR.
 1.96 07-Dec-2017  christos Save maxv@ some work and put back the compat_13_sigreturn changes that allow
amd64 to run ancient i386 binaries.
 1.95 02-Dec-2017  maxv Drop COMPAT_13 on amd64, already not enabled. Reduces the number of
critical places.
 1.94 08-Oct-2017  maxv KASLR: add workarounds to compute the bootinfo VAs (use the direct map),
and don't use large pages yet. Both will be fixed later.
 1.93 08-Oct-2017  maxv Add the prekern entry point in the kernel.
 1.92 15-Aug-2017  maxv Merge into x86/.
 1.91 15-Aug-2017  maxv Merge into x86/.
 1.90 01-Aug-2017  maxv Don't include files.svr4 and files.svr4_32.
 1.89 12-Jul-2017  maxv include opt_pmc.h
 1.88 15-Dec-2016  kamil branches: 1.88.8;
Add support for hardware assisted watchpoints/breakpoints API in ptrace(2)

Add new ptrace(2) calls:
- PT_COUNT_WATCHPOINTS - count the number of available hardware watchpoints
- PT_READ_WATCHPOINT - read struct ptrace_watchpoint from the kernel state
- PT_WRITE_WATCHPOINT - write new struct ptrace_watchpoint state, this
includes enabling and disabling watchpoints

The ptrace_watchpoint structure contains MI and MD parts:

typedef struct ptrace_watchpoint {
int pw_index; /* HW Watchpoint ID (count from 0) */
lwpid_t pw_lwpid; /* LWP described */
struct mdpw pw_md; /* MD fields */
} ptrace_watchpoint_t;

For example amd64 defines MD as follows:
struct mdpw {
void *md_address;
int md_condition;
int md_length;
};

These calls are protected with the __HAVE_PTRACE_WATCHPOINTS guard.

Tested on amd64, initial support added for i386 and XEN.

Sponsored by <The NetBSD Foundation>
 1.87 06-Sep-2015  uebayasi branches: 1.87.2;
Define MD start code at the top of files.${MACHINE} relying on config(1)'s
deterministic file output order. No need to define ${MD_OBJS} and its useless,
explicit compile rules.
 1.86 15-Dec-2014  christos fix compat paths.
 1.85 14-Dec-2014  christos add the two new compat files.
 1.84 10-Oct-2014  uebayasi branches: 1.84.2;
Define "machdep" attribute and mark files (in amd64 and x86).
 1.83 20-Feb-2014  pgoyette Since fpu.c is contained in every kernel, and it calls routines in
convert_xmm_s87.c we need to include convert_xmm_s87.c in all kernels.

Fixes building of kernels that do not have COMPAT_NETBSD32 defined.
 1.82 11-Feb-2014  dsl Move sys/arch/amd64/amd64/fpu.c and sys/arch/amd64/include/fpu.h
into sys/arch/x86 in preparation for using the same code for i386.
 1.81 07-Feb-2014  dsl Convert the amd64 build to use x86/cpu_extended_state.h so that the fpu
definitions match those of i386.
Mostly just structure and field renames, in addition:
1) process_xmm_to_s87() and process_s87_to_xmm() moved into
x86/convert_xmm_s87.c so they can be used by amd64's netbsd32 code.
2) The linux signal code simplified to use a structure copy for ths fxsave
data - it matches the hardware definition and won't change.
 1.80 17-Jul-2013  soren A few "isa" files are so tightly integrated into the x86 platform code
as to not really be part of the optional isa bus autoconf machinery.

Allows configuring a kernel like so:

include "arch/amd64/conf/GENERIC"
no isa
 1.79 13-Oct-2012  alnsn branches: 1.79.2; 1.79.8;
Enable sljit in amd64 kernel and modules.
 1.78 04-Oct-2012  dsl Remove references to VM86 from the amd64 kernel configs.
VM86 mode isn't supported while in long mode.
 1.77 27-Sep-2012  alnsn Remove bpf_jit which was ported from FreeBSD recently.

It will soon be replaced with the new bpfjit kernel module.
 1.76 01-Aug-2012  rmind branches: 1.76.2;
Add BPF JIT compiler, currently supporting amd64 and i386. Code obtained
from FreeBSD. Also, make few BPF fixes and simplifications while here.
Note that bpf_jit_enable is false for now.

OK dyoung@, some feedback from matt@
 1.75 07-May-2012  jym Merge i386 and amd64 version of db_memrw.c.

Use this opportunity to skip calculating the VA of the page. Let the CPU
deal with the invalidation itself through invlpg + destination address to
avoid converting between canonical/non canonical forms.
 1.74 06-Nov-2011  christos branches: 1.74.4;
Add compat_svr4 hooks, this does not work yet.
 1.73 12-Jun-2011  rmind branches: 1.73.2;
Welcome to 5.99.53! Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
kernel-lock on some ports). Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.
 1.72 10-Apr-2011  christos branches: 1.72.2;
Merge db_trace for x86. From: Vladimir Kirillov proger at wilab dot org dot ua
 1.71 04-Apr-2011  dyoung Don't need x86_stub.c here, we'll pick it up from files.x86.
 1.70 03-Apr-2011  dyoung Clean up excessive #ifdef'age of NMI trap handling for amd64/i386/xen.
Handle NMI in all Xen kernels.
 1.69 08-Jul-2010  rmind branches: 1.69.2;
Unify i386 and amd64 procfs MD code into x86.
 1.68 16-Jun-2009  bouyer branches: 1.68.2; 1.68.4;
Split mc146818-related functions from clock.c into rtc.c.
Call rtc_set_ymdhms() from xen/xen/clock.c:xen_rtc_set() for xen3 dom0
kernels as the Xen3 hypervisor doesn't write the new date/time to the CMOS
by itself.
Now a XEN3_DOM0 kernel properly updates the CMOS time.
 1.67 21-Apr-2009  nonaka Added SD/MMC support from OpenBSD.
tested on i386, amd64 at current-users ML by pgoyette@.
tested on zaurus by myself.
 1.66 16-Apr-2009  rmind - Add macros to handle (some) trapframe registers for common x86 code.
- Merge i386 and amd64 syscall.c into x86. No functional changes intended.

Proposed on (port-i386 & port-amd64). Unfortunately, I cannot merge these
lists into the single port-x86. :(
 1.65 30-Mar-2009  rmind Merge i386 and amd64 ipifuncs.c into x86. No functional changes intended.
XXX: fpu #ifdefs are ugly (should be revisited at some point).
 1.64 30-Mar-2009  rmind Merge i386 and amd64 vm_machdep.c into x86. No functional changes intended.
Note: some #ifdefs will be removed with macros.
 1.63 30-Mar-2009  rmind Merge/move core_machdep.c into x86, no difference between i386 and amd64.
 1.62 14-Feb-2009  cube Don't set version deep in the source tree if it's older than the one in
conf/files.
 1.61 19-Nov-2008  ad branches: 1.61.4;
Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime
 1.60 11-May-2008  ad branches: 1.60.4; 1.60.6; 1.60.8; 1.60.12;
Simplify x86 identcpu code, and share between i386/amd64.
 1.59 10-Mar-2008  ad branches: 1.59.2; 1.59.4; 1.59.6;
Implement an optimized, preemption-safe asm version of tsc_get_timecount().
The C version needs work to be preemption safe. Cuts the clock cycles
for microtime() from 950 down to 300 on a Pentium D.
 1.58 20-Feb-2008  drochner branches: 1.58.2; 1.58.6;
Since files.wscons et al. are included by ~all ports anyway, include
them in the mi "files" file, and remove include statements from md files.
These shouldn't pull in additional kernel code when not in use, so it
shouldn't do any harm except a risk of namespace collisions which
should be easy to fix.
 1.57 02-Feb-2008  joerg Fix flags: cpu_in_cksum should modify cpu_in_cksum.S, not cpufuncs.S.
 1.56 25-Jan-2008  joerg Refactor in_cksum/in4_cksum/in6_cksum implementations:
- All three functions are included in the kernel by default.
They call a backend function cpu_in_cksum after possibly
computing the checksum of the pseudo header.
- cpu_in_cksum is the core to implement the one-complement sum.
The default implementation is moderate fast on most platforms
and provides a 32bit accumulator with 16bit addends for L32 platforms
and a 64bit accumulator with 32bit addends for L64 platforms.
It handles edge cases like very large mbuf chains (could happen with
native IPv6 in the future) and provides a good base for new native
implementations.
- Modify i386 and amd64 assembly to use the new interface.

This disables the MD implementations on !x86 until the conversion is
done. For Alpha, the portable version is faster.
 1.55 16-Jan-2008  ad Remove options MATH_EMULATE.
 1.54 09-Jan-2008  joerg Add assembler version of in_cksum. Thanks to ad@ for his time as
peep hole optimiser. This is 30% faster than the portable C version
for checksumming 64byte and larger mbufs and as fast as or slightly
faster for shorter mbufs (with a high variance).
 1.53 06-Jan-2008  ad Add MODULAR option. Include kernel linker stuff if MODULAR.
 1.52 26-Dec-2007  joerg Add PHYSMEM_MAX_ADDR and PHYSMEM_MAX_SIZE options. This limit physical
memory based on overall size (useful for debugging to keep core dumps
small) or maximum address (when using devices with bus dma limits).
Contrary to REALBASEMEM and REALEXTMEM, they still use the BIOS memory
map and can therefore deal with fragmented memory.
 1.51 18-Dec-2007  joerg Add new IPI for saving CPU state explicitly, share high-level part of
ACPI wakeup code and teach it how to start the APs again. As a side
effect the CPU_START interface allows choosing between different
bootstrap codes more easily now.
 1.50 09-Dec-2007  jmcneill branches: 1.50.2;
Merge jmcneill-pm branch.
 1.49 22-Nov-2007  bouyer branches: 1.49.2; 1.49.4;
Pull up the bouyer-xenamd64 branch to HEAD. This brings in amd64 support
to NetBSD/Xen, both Dom0 and DomU.
 1.48 26-Oct-2007  xtraeme branches: 1.48.2;
Share pcib(4) and amdpcib(4) between i386 and amd64; one copy is enough.
 1.47 26-Oct-2007  xtraeme - Share pchb(4) between i386 and amd64; one copy is enough for both.
- Move some of the x86 PCI devices into x86/pci/files.pci.
- Add more x86 stuff into x86/conf/files.x86.

ok joerg.
 1.46 18-Oct-2007  yamt merge yamt-x86pmap branch.

- reduce differences between amd64 and i386. notably, share pmap.c
between them. it makes several i386 pmap improvements available to
amd64, including tlb shootdown reduction and bug fixes from Stephan Uphoff.
- implement deferred pmap switching for amd64.
- remove LARGEPAGES option. always use large pages if available.
also, make it work on amd64.
 1.45 17-Oct-2007  garbled Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.44 26-Sep-2007  ad branches: 1.44.2;
x86 changes for pcc and LKMs.

- Replace most inline assembly with proper functions. As a side effect
this reduces the size of amd64 GENERIC by about 120kB, and i386 by a
smaller amount. Nearly all of the inlines did something slow, or something
that does not need to be fast.
- Make curcpu() and curlwp functions proper, unless __GNUC__ && _KERNEL.
In that case make them inlines. Makes curlwp LKM and preemption safe.
- Make bus_space and bus_dma more LKM friendly.
- Share a few more files between the ports.
- Other minor changes.
 1.43 29-Aug-2007  ad branches: 1.43.2;
Merge most x86 changes from the vmlocking branch, except the threaded soft
interrupt stuff. This is mostly comprised of changes to the pmap modules to
work on multiprocessor systems without kernel_lock, and changes to speed up
tlb shootdowns.
 1.42 26-Aug-2007  xtraeme branches: 1.42.2;
Some changes for the ichlpcib driver:

- Moved to x86/pci, so that EM64T systems running NetBSD/amd64 can use it.
- Added support for the TCO on ICH6 or newer chipsets, adapted from
FreeBSD.
- Added timecounter support for the power management timer, adapted from
OpenBSD.
- Plus some misc/cosmetic changes.

Thanks to yukonbob on irc@freenode for testing the TCO part on ICH4-M.
Tested by me with ICH7 too.
 1.41 06-Aug-2007  kiyohara Add support agp_amd64. Imported from FreeBSD.
 1.40 07-Jul-2007  tsutsui branches: 1.40.2; 1.40.4; 1.40.8;
Remove leftover netns stuff.
 1.39 03-Jul-2007  briggs Add (commented-out) support for IPMI on amd64--pretty much copied straight
from i386.
 1.38 17-May-2007  yamt merge yamt-idlelwp branch. asked by core@. some ports still needs work.

from doc/BRANCHES:

idle lwp, and some changes depending on it.

1. separate context switching and thread scheduling.
(cf. gmcgarry_ctxsw)
2. implement idle lwp.
3. clean up related MD/MI interfaces.
4. make scheduler(s) modular.
 1.37 16-Apr-2007  ad branches: 1.37.2;
Share the sysarch stuff between the x86 ports. PR kern/36046.
 1.36 10-Apr-2007  macallan include files.wsfb
 1.35 20-Mar-2007  xtraeme Erm, remove a local change committed accidentally in previous.
 1.34 20-Mar-2007  xtraeme ALL: Enable INTEL_ONDEMAND_CLOCKMOD.
GENERIC: Add INTEL_ONDEMAND_CLOCKMOD disabled by default.
 1.33 08-Mar-2007  njoly branches: 1.33.2; 1.33.4;
High Precision Event Timer driver, following Intel specifications.

Allow attachement at both ACPI (hpet@acpi) and AMD8111 LPC Controller
(hpet@amdpcib).

Requested by xtraeme, and tested by a few users.
 1.32 05-Mar-2007  drochner clean up how cpus and ioapics are attached at the mainbus:
Seperate "cpubus" and "ioapicbus" -- while they share a common "address
space" (the apic id), the kernel doesn't use this fact. There are different
data passed to cpus and apics, which caused some ugly polymorphism. This
also saves the special "submatch" functions needed to distingush cpus
and ioapics for autoconf. (And it makes that "apid" locators wired
in the kernel configuration are honored now; this allows one to dumb down
an mp box to singleprocessor by userconfig.)
Print "apid" locators in the buses "print" function "as everyone does",
so the per-port cpu drivers don't need to do it.
Being here, constify "struct cpu_functions" and g/c the unused MP_PICMODE
flag.
 1.31 09-Feb-2007  ad branches: 1.31.2;
Merge newlock2 to head.
 1.30 18-Dec-2006  christos Attach agp too.
 1.29 10-Sep-2006  plunky branches: 1.29.2; 1.29.4; 1.29.6;
add bluetooth support to amd64 port, built by default in GENERIC kernels
 1.28 04-Sep-2006  perry branches: 1.28.2;
switch to a common clock.c
 1.27 07-Aug-2006  xtraeme * Do not change struct powernow_pst_s (I added another member in my
previous patch) and this MUST be of that size, otherwise the tables
won't be found.

* powernow_k8.c moved into x86/x86, it should work both i386 and amd64.

* Added more DPRINTFs needed to found the first problem.

* Create "machdep.powernow.frequency" again, I can't remember why I
removed frequency... it should work with estd now.

* Do not try to call k[78]_powernow_init() if cpu is not AMD (thanks
to christos).

And more things I can't remember, but this time it will work in
Athlon 64 cpus and it won't crash in EM64T cpus.
 1.26 06-Aug-2006  xtraeme AMD PowerNow!/Cool`n'Quiet driver for NetBSD/amd64,
adapted from OpenBSD.

Tested on a few machines:

http://bigbird.dohd.org:3021/NetBSD/dmesg
http://www.bsd.org.il/netbsd/acpi/dmesg

Thanks to cube, elad and others for testing and fixes.

Enabled by default on GENERIC.
 1.25 10-Jul-2006  fvdl kern/33961: add kgdb support and remove some redundant (and incorrect) register
offset definitions from reg.h
 1.24 09-Jul-2006  christos include files.apm
 1.23 07-Jun-2006  kardel branches: 1.23.2;
convert to timecounters (from branch simonb-timecounters)
 1.22 04-Apr-2006  gdamore branches: 1.22.2;
Convert existing ath users to new Makefile, except for amd64, which needs
the rules due to needing to conditionally postprocess the HAL object file.

Macppc needs a a non-ELF HAL (EABI) object, so take care of that by default
in the atheros include file.
 1.21 12-Feb-2006  tron branches: 1.21.2; 1.21.4; 1.21.6;
Share Intel hardware random number generator support between amd64 and
i386 port. This will benefit EM64T systems using Intel i9xx chipsets.
 1.20 09-Feb-2006  manu Add initial (but unfinished) COMPAT_LINUX32 for amd64. This is good enough so
that the i386 license manager part of amd64 version of Fluent works.

While I'm here, add SysV IPC to COMPAT_LINUX/amd64
 1.19 21-Dec-2005  rjs branches: 1.19.2; 1.19.4; 1.19.6;
Add boilerplate for cardbus support.
 1.18 11-Dec-2005  christos merge ktrace-lwp.
 1.17 12-Jul-2005  sekiya Add config goo for ath. Tested with a PCI card, detected as:

ath0 at pci0 dev 10 function 0
ath0: interrupting at ioapic0 pin 17 (irq 5)
ath0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
ath0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
ath0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36M bps 48Mbps 54Mbps
ath0: mac 5.9 phy 4.3 radio 3.6

Cardbus untested, so it is commented out.
 1.16 15-May-2005  fvdl branches: 1.16.2;
Move linux_trap.c from sys/arch/i386/i386 to sys/arch/x86/x86, and share
it. Remove the amd64 linux_trap.c (which was just a stub with a printf
anyway).
 1.15 15-May-2005  fvdl Fix up COMPAT_LINUX support for amd64. Still a work in progress, not
usable yet ("Hello World" runs, but many other things do not work).
 1.14 30-Aug-2004  drochner remove the (superfluous) definition of "cpu" as an interface attribute
 1.13 30-Aug-2004  drochner Phase out the use of a string as first "attach args" member to control
which bustype should be attached with a specific call to config_found()
(from a "mainbus" or a bus bridge).
Do it for isa/eisa/mca and pci/agp for now. These buses all attach to
an mi interface attribute "isabus", "eisabus" etc., and the autoconf
framework now allows to specify an interface attribute on config_found()
and config_search(), which limits the search of matching config data
to these which attach to that specific attribute.
So we basically have to call config_found_ia(..., "foobus", ...) where
such a bus is attached.
As a consequence, where a "mainbus" or alike also attaches other
devices (eg CPUs) which do not attach to a specific attribute yet,
we need at least pass an attribute name (different from "foobus") so
that the foo bus is not found at these places. This made some minor
changes necessary which are not obviously related to the mentioned buses.
 1.12 18-Apr-2004  fvdl Adapt for new aapic.c location.
 1.11 26-Mar-2004  drochner the whole sigcode business is COMPAT_16 only
 1.10 25-Mar-2004  drochner remove sigcontext-style signal delivery code
 1.9 13-Mar-2004  bjh21 Abstract the interface between pckbc(4), and the pckbd(4) and pms(4)
drivers that attach to it. This allows for other host interface chips
that use the same keyboards and mice, such as the ones in the ARM
IOMD20, ARM7500, and SA-1111. The PC-compatible driver is still
called pckbc(4), and the new abstraction layer is "pckbport", so the
child devices have moved from sys/dev/pckbc to sys/dev/pckbport, which
also contains some code shared between all host controllers. To avoid
incompatibility, pckbdreg.h is still installed in
/usr/include/dev/pckbc.

In theory, this shouldn't cause any behavioural changes in the drivers
concerned. Thy just use rather more function pointers than before. Tested
on i386 and (with a new host driver) acorn32. Compiled on several other
affected architectures.
 1.8 20-Jan-2004  jdolecek cleanup old lpt(4) attachment, and glue ppbus in so that they can coexist:
* lpt device is defined in MI place (dev/ppbus/files.ppbus), dev/ic/lpt.c
is included there too; dev/ic/lpt.c is not included if ppbus is
configured or if there is alternative platform lpt (like for pc532)
* g/c MD lpt definitions and custom puc/upc attachments,
glue moved to conf/files and dev/pci/files.pci respectively; remove
device lpt definition from dev/isa/files.isa
* add ppbus parport attribute, atppc device attachments, adjust plip and lpt
glue
 1.7 06-Oct-2003  fvdl SIGINFO support.
Todo: 32bit compat support (COMPAT_NETBSD32 will not compile right now,
as it won't on other platforms).
 1.6 06-Sep-2003  fvdl Move the bulk of pci_intr_string into a seperate intr_string function. Use
that new function to print the pciide compat interrupt in pciide_machdep.c.
Share pciide_machdep.c between amd64 and i386.
 1.5 20-Aug-2003  fvdl Pass pointers to frames from assembly, do not use the 'frame on stack
as argument passed by value' trick, as gcc 3.3.x makes (valid) assumptions
about the stack that will not be true. Costs 2 instructions per trap/syscall
on i386, 4 per interrupt for MP. One instruction per trap/syscall on amd64,
2 per interrupt for MP. I expect gcc 3.3.1 to make up for this by better
optimization (it'd better..)

While here, make amd64 compile again by using subr_mbr_disk.c
 1.4 27-Jul-2003  thorpej Since everyone uses clock_subr.c (or should, if they don't currently),
list it in conf/files instead of in every port's files.*.
 1.3 11-May-2003  fvdl branches: 1.3.2;
ACPI support. Wakeup code still to be done.
 1.2 03-May-2003  fvdl Add dummy eisa option to ease sharing with i386.
 1.1 26-Apr-2003  fvdl Rename the x86_64 port to amd64, as this is the actual name used for
the processor family now. x86_64 is kept as the MACHINE_ARCH value,
since it's already widely used (by e.g. the toolchain, etc), and
by other operating systems.
 1.3.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.2.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.3 18-Sep-2004  skrll Sync with HEAD.
 1.3.2.2 03-Sep-2004  skrll Sync with HEAD
 1.3.2.1 03-Aug-2004  skrll Sync with HEAD
 1.16.2.10 17-Mar-2008  yamt sync with head.
 1.16.2.9 27-Feb-2008  yamt sync with head.
 1.16.2.8 04-Feb-2008  yamt sync with head.
 1.16.2.7 21-Jan-2008  yamt sync with head
 1.16.2.6 07-Dec-2007  yamt sync with head
 1.16.2.5 27-Oct-2007  yamt sync with head.
 1.16.2.4 03-Sep-2007  yamt sync with head.
 1.16.2.3 26-Feb-2007  yamt sync with head.
 1.16.2.2 30-Dec-2006  yamt sync with head.
 1.16.2.1 21-Jun-2006  yamt sync with head.
 1.19.6.2 30-Apr-2006  kardel include tsc.c into kernel build
 1.19.6.1 22-Apr-2006  simonb Sync with head.
 1.19.4.1 09-Sep-2006  rpaulo sync with head
 1.19.2.1 18-Feb-2006  yamt sync with head.
 1.21.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.21.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.21.2.4 14-Sep-2006  yamt sync with head.
 1.21.2.3 11-Aug-2006  yamt sync with head
 1.21.2.2 26-Jun-2006  yamt sync with head.
 1.21.2.1 11-Apr-2006  yamt sync with head
 1.22.2.1 19-Jun-2006  chap Sync with head.
 1.23.2.1 13-Jul-2006  gdamore Merge from HEAD.
 1.28.2.3 12-Jan-2007  ad Sync with head.
 1.28.2.2 18-Nov-2006  ad Sync with head.
 1.28.2.1 10-Sep-2006  ad Add updated locking primatives.
 1.29.6.1 03-Jun-2008  skrll Sync with netbsd-4.
 1.29.4.1 19-Dec-2007  ghen Pull up following revision(s) (requested by briggs in ticket #989):
sys/arch/amd64/conf/GENERIC: revision 1.151
sys/arch/x86/x86/ipmi.c: revision 1.12
sys/dev/DEVNAMES: revision 1.228
sys/arch/amd64/amd64/bios32.c: revision 1.6
sys/arch/x86/x86/ipmi.c: revision 1.8
sys/arch/amd64/conf/files.amd64: revision 1.39 via patch
sys/arch/amd64/amd64/mainbus.c: revision 1.17
Use PRIx64 for a 64-bit quantity instead of llx in a debug print.
Add (commented-out) support for IPMI on amd64--pretty much copied straight
from i386.
Check for duplicate sensor names in the IPMI table. If a duplicate name
is found, try to make it unique by appending a count (1-99) to the sensor
description (truncating, if necessary).
 1.29.2.1 21-Dec-2006  yamt sync with head.
 1.31.2.4 07-May-2007  yamt sync with head.
 1.31.2.3 15-Apr-2007  yamt sync with head.
 1.31.2.2 12-Mar-2007  rmind Sync with HEAD.
 1.31.2.1 03-Mar-2007  yamt adapt amd64.

XXX changes in identcpu.c is minmum for MONITOR.
XXX identcpu.c should be shared with i386.
 1.33.4.1 11-Jul-2007  mjf Sync with head.
 1.33.2.9 03-Dec-2007  ad Sync with HEAD.
 1.33.2.8 03-Dec-2007  ad Sync with HEAD.
 1.33.2.7 23-Oct-2007  ad Sync with head.
 1.33.2.6 09-Oct-2007  ad Sync with head.
 1.33.2.5 23-Aug-2007  ad Merged x86 cpu.c.
 1.33.2.4 20-Aug-2007  ad Sync with HEAD.
 1.33.2.3 15-Jul-2007  ad Sync with head.
 1.33.2.2 27-May-2007  ad Sync with head.
 1.33.2.1 10-Apr-2007  ad Sync with head.
 1.37.2.2 03-Oct-2007  garbled Sync with HEAD
 1.37.2.1 22-May-2007  matt Update to HEAD.
 1.40.8.8 27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.40.8.7 28-Oct-2007  joerg Sync with HEAD.
 1.40.8.6 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.40.8.5 02-Oct-2007  joerg Sync with HEAD.
 1.40.8.4 10-Sep-2007  joerg Add work-in-progress remerge of i386 changes for the ACPI wakecode
and changes to adopt it to AMD64.
 1.40.8.3 04-Sep-2007  joerg Move common PCI devices on i386 and amd64 into a arch/x86/pci/fils.pci.
 1.40.8.2 03-Sep-2007  jmcneill Sync with HEAD.
 1.40.8.1 09-Aug-2007  jmcneill Sync with HEAD.
 1.40.4.2 03-Sep-2007  skrll Sync with HEAD.
 1.40.4.1 15-Aug-2007  skrll Sync with HEAD.
 1.40.2.1 07-Aug-2007  matt Sync with HEAD.
 1.42.2.3 23-Mar-2008  matt sync with HEAD
 1.42.2.2 09-Jan-2008  matt sync with HEAD
 1.42.2.1 06-Nov-2007  matt sync with HEAD
 1.43.2.3 06-Oct-2007  yamt sync with head.
 1.43.2.2 04-Oct-2007  yamt remove LARGEPAGES option. always use large pages if available.
 1.43.2.1 30-Sep-2007  yamt implement deferred pmap switching for amd64, and make amd64 use
x86 shared pmap code. it makes several i386 pmap improvements available
to amd64, including tlb shootdown reduction and bug fixes from Stephan Uphoff.
 1.44.2.3 19-Nov-2007  bouyer Get rid of arch/xenamd64, step 1: empty xenamd64/conf
- move xenamd64/conf/std.xen to amd64/conf/
- define arch to amd64 amd64/conf/std.xen, and i386 in xen/conf/std.xen
(machine is xen)
- enclose content of amd64/conf/files.amd64 and i386/conf/files.i386 in
ifndef xen/endif, so it can be transparently inclued for xen kernels
- support MACHINE_ARCH=x86_64 in xen/conf/Makefile*
 1.44.2.2 13-Nov-2007  bouyer Sync with HEAD
 1.44.2.1 25-Oct-2007  bouyer Sync with HEAD.
 1.48.2.3 18-Feb-2008  mjf Sync with HEAD.
 1.48.2.2 27-Dec-2007  mjf Sync with HEAD.
 1.48.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.49.4.1 11-Dec-2007  yamt sync with head.
 1.49.2.1 26-Dec-2007  ad Sync with head.
 1.50.2.4 19-Jan-2008  bouyer Sync with HEAD
 1.50.2.3 10-Jan-2008  bouyer Sync with HEAD
 1.50.2.2 08-Jan-2008  bouyer Sync with HEAD
 1.50.2.1 02-Jan-2008  bouyer Sync with HEAD
 1.58.6.3 17-Jan-2009  mjf Sync with HEAD.
 1.58.6.2 02-Jun-2008  mjf Sync with HEAD.
 1.58.6.1 03-Apr-2008  mjf Sync with HEAD.
 1.58.2.1 24-Mar-2008  keiichi sync with head.
 1.59.6.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.59.4.4 11-Aug-2010  yamt sync with head.
 1.59.4.3 20-Jun-2009  yamt sync with head
 1.59.4.2 04-May-2009  yamt sync with head.
 1.59.4.1 16-May-2008  yamt sync with head.
 1.59.2.1 18-May-2008  yamt sync with head.
 1.60.12.1 21-Apr-2010  matt sync to netbsd-5
 1.60.8.2 07-Oct-2009  sborrill Pull up the following revisions(s) (requested by jmcneill in ticket #1044):
distrib/sets/lists/man/mi: patch
share/man/man4/Makefile: patch
sys/arch/amd64/conf/files.amd64: 1.67
sys/arch/i386/conf/files.i386: 1.349
sys/conf/files 1.945
share/man/man4/sdmmc.4: 1.1-1.4
sys/dev/sdmmc/Makefile.sdmmcdevs 1.1
sys/dev/sdmmc/devlist2h.awk 1.1
sys/dev/sdmmc/files.sdmmc 1.1-1.2
sys/dev/sdmmc/ld_sdmmc.c 1.1-1.3
sys/dev/sdmmc/sbt.c 1.1-1.2
sys/dev/sdmmc/sdhc.c 1.1-1.3
sys/dev/sdmmc/sdhcreg.h 1.1
sys/dev/sdmmc/sdhcvar.h 1.1
sys/dev/sdmmc/sdmmc.c 1.1
sys/dev/sdmmc/sdmmc_cis.c 1.1
sys/dev/sdmmc/sdmmc_io.c 1.1
sys/dev/sdmmc/sdmmc_ioreg.h 1.1
sys/dev/sdmmc/sdmmc_mem.c 1.1-1.2
sys/dev/sdmmc/sdmmcchip.h 1.1
sys/dev/sdmmc/sdmmcdevs 1.1
sys/dev/sdmmc/sdmmcdevs.h 1.1-1.2
sys/dev/sdmmc/sdmmcreg.h 1.1-1.3
sys/dev/sdmmc/sdmmcvar.h 1.1

Add sdmmc framework
 1.60.8.1 19-Jun-2009  snj Pull up following revision(s) (requested by bouyer in ticket #816):
sys/arch/amd64/conf/files.amd64: revision 1.68
sys/arch/i386/conf/files.i386: revision 1.350
sys/arch/x86/include/rtc.h: revision 1.1
sys/arch/x86/isa/clock.c: revision 1.33
sys/arch/x86/isa/rtc.c: revision 1.1
sys/arch/xen/conf/files.xen: revision 1.100
sys/arch/xen/xen/clock.c: revision 1.50 via patch
Split mc146818-related functions from clock.c into rtc.c.
Call rtc_set_ymdhms() from xen/xen/clock.c:xen_rtc_set() for xen3 dom0
kernels as the Xen3 hypervisor doesn't write the new date/time to the CMOS
by itself.
Now a XEN3_DOM0 kernel properly updates the CMOS time.
 1.60.6.3 28-Apr-2009  skrll Sync with HEAD.
 1.60.6.2 03-Mar-2009  skrll Sync with HEAD.
 1.60.6.1 19-Jan-2009  skrll Sync with HEAD.
 1.60.4.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.61.4.6 27-Aug-2011  jym Sync with HEAD. Most notably: uvm/pmap work done by rmind@, and MP Xen
work of cherry@.

No regression observed on suspend/restore.
 1.61.4.5 02-May-2011  jym Sync with head.
 1.61.4.4 29-Mar-2011  jym More sync fixes. And add the mbr_gpt files.
 1.61.4.3 01-Nov-2009  jym Sync with HEAD.
 1.61.4.2 23-Jul-2009  jym Sync with HEAD.
 1.61.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.68.4.3 21-Apr-2011  rmind sync with head
 1.68.4.2 05-Mar-2011  rmind sync with head
 1.68.4.1 18-Mar-2010  rmind Unify /dev/{mem,kmem,zero,null} implementations in MI code. Based on patch
from Joerg Sonnenberger, proposed on tech-kern@, in February 2008.

Work and depression still in progress.
 1.68.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.69.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.72.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.73.2.4 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.73.2.3 30-Oct-2012  yamt sync with head
 1.73.2.2 23-May-2012  yamt sync with head.
 1.73.2.1 10-Nov-2011  yamt sync with head
 1.74.4.1 02-Jun-2012  mrg sync to latest -current.
 1.76.2.3 03-Dec-2017  jdolecek update from HEAD
 1.76.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.76.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.79.8.1 23-Jul-2013  riastradh sync with HEAD
 1.79.2.2 18-May-2014  rmind sync with head
 1.79.2.1 28-Aug-2013  rmind sync with head
 1.84.2.4 28-Aug-2017  skrll Sync with HEAD
 1.84.2.3 05-Feb-2017  skrll Sync with HEAD
 1.84.2.2 22-Sep-2015  skrll Sync with HEAD
 1.84.2.1 06-Apr-2015  skrll Sync with HEAD
 1.87.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.88.8.5 09-Mar-2019  martin Pull up following revision(s) via patch (requested by nonaka in ticket #1210):

sys/dev/hyperv/vmbusvar.h: revision 1.1
sys/dev/hyperv/hvs.c: revision 1.1
sys/dev/hyperv/if_hvn.c: revision 1.1
sys/dev/hyperv/vmbusic.c: revision 1.1
sys/arch/x86/x86/lapic.c: revision 1.69
sys/arch/x86/isa/clock.c: revision 1.34
sys/arch/x86/include/intrdefs.h: revision 1.22
sys/arch/i386/conf/GENERIC: revision 1.1201
sys/arch/x86/x86/hyperv.c: revision 1.1
sys/arch/x86/include/cpu.h: revision 1.105
sys/arch/x86/x86/x86_machdep.c: revision 1.124
sys/arch/i386/conf/GENERIC: revision 1.1203
sys/arch/amd64/amd64/genassym.cf: revision 1.74
sys/arch/i386/conf/GENERIC: revision 1.1204
sys/arch/amd64/conf/GENERIC: revision 1.520
sys/arch/x86/x86/hypervreg.h: revision 1.1
sys/arch/amd64/amd64/vector.S: revision 1.69
sys/dev/hyperv/hvshutdown.c: revision 1.1
sys/dev/hyperv/hvshutdown.c: revision 1.2
sys/dev/usb/if_urndisreg.h: file removal
sys/arch/x86/x86/cpu.c: revision 1.167
sys/arch/x86/conf/files.x86: revision 1.107
sys/dev/usb/if_urndis.c: revision 1.20
sys/dev/hyperv/vmbusicreg.h: revision 1.1
sys/dev/hyperv/hvheartbeat.c: revision 1.1
sys/dev/hyperv/vmbusicreg.h: revision 1.2
sys/dev/hyperv/hvheartbeat.c: revision 1.2
sys/dev/hyperv/files.hyperv: revision 1.1
sys/dev/ic/rndisreg.h: revision 1.1
sys/arch/i386/i386/genassym.cf: revision 1.111
sys/dev/ic/rndisreg.h: revision 1.2
sys/dev/hyperv/hyperv_common.c: revision 1.1
sys/dev/hyperv/hvtimesync.c: revision 1.1
sys/dev/hyperv/hypervreg.h: revision 1.1
sys/dev/hyperv/hvtimesync.c: revision 1.2
sys/dev/hyperv/vmbusicvar.h: revision 1.1
sys/dev/hyperv/if_hvnreg.h: revision 1.1
sys/arch/x86/x86/lapic.c: revision 1.70
sys/arch/amd64/amd64/vector.S: revision 1.70
sys/dev/ic/ndisreg.h: revision 1.1
sys/arch/amd64/conf/GENERIC: revision 1.516
sys/dev/hyperv/hypervvar.h: revision 1.1
sys/arch/amd64/conf/GENERIC: revision 1.518
sys/arch/amd64/conf/GENERIC: revision 1.519
sys/arch/i386/conf/files.i386: revision 1.400
sys/dev/acpi/vmbus_acpi.c: revision 1.1
sys/dev/hyperv/vmbus.c: revision 1.1
sys/dev/hyperv/vmbus.c: revision 1.2
sys/arch/x86/x86/intr.c: revision 1.144
sys/arch/i386/i386/vector.S: revision 1.83
sys/arch/amd64/conf/files.amd64: revision 1.112

separate RNDIS definitions from urndis(4) for use with Hyper-V NetVSC.

-

Added Microsoft Hyper-V support. It ported from OpenBSD and FreeBSD.
graphical console is not work on Gen.2 VM yet. To use the serial console,
enter "consdev com,0x3f8,115200" on efiboot.

-

Add __diagused.

-

PR/53984: Partial revert of modify lapic_calibrate_timer() in lapic.c r1.69.

-

Update Hyper-V related drivers description.

-

Remove unused definition.

-

Rename the MODULE_*_HOOK() macros to MODULE_HOOK_*() as briefly
discussed on irc.
NFCI intended.

-

commented out hvkvp entry.

-

fix typo. pointed out by pgoyette@n.o.

-

Use IDTVEC instead of NENTRY for handle_hyperv_hypercall.

-

Rename the MODULE_*_HOOK() macros to MODULE_HOOK_*() as briefly
discussed on irc.
 1.88.8.4 09-Jun-2018  martin Pullup the following revisions, requested by maxv in ticket #865:

sys/arch/amd64/amd64/machdep.c 1.303 (patch)
sys/arch/amd64/conf/GENERIC 1.492 (patch)
sys/arch/amd64/conf/files.amd64 1.103 (patch)
sys/arch/i386/i386/machdep.c 1.806 (patch)
sys/arch/i386/conf/GENERIC 1.1179 (patch)
sys/arch/i386/conf/files.i386 1.393 (patch)
sys/arch/x86/include/cpu.h 1.91 (patch)
sys/arch/x86/include/specialreg.h upto 1.126 (patch)
sys/arch/x86/x86/x86_machdep.c upto 1.115 (patch, adapted)
sys/arch/x86/x86/spectre.c upto 1.19 (patch, adapted,
no IBRS,
SpectreV2 mitigations not
enabled by default)

Backport the hardware SpectreV2 and SpectreV4 mitigations.
 1.88.8.3 11-Apr-2018  martin Pull up following revision(s) (requested by mrg in ticket #731):
sys/arch/i386/conf/files.i386: revision 1.392
sys/arch/i386/conf/GENERIC: revision 1.1175
sys/arch/i386/conf/GENERIC: revision 1.1176
sys/arch/amd64/conf/files.amd64: revision 1.102
sys/arch/i386/conf/GENERIC: revision 1.1177
share/man/man4/options.4: revision 1.485 (patch)
sys/arch/i386/conf/Makefile.i386: revision 1.190
sys/arch/amd64/conf/GENERIC: revision 1.487
sys/arch/amd64/conf/ALL: revision 1.85
sys/arch/amd64/conf/GENERIC: revision 1.488
sys/arch/amd64/conf/GENERIC: revision 1.489
sys/arch/amd64/conf/Makefile.amd64: revision 1.67
sys/arch/i386/conf/ALL: revision 1.437

add an SPECTRE_V2_GCC_MITIGATION option to x86 kernels, that turns
on the GCC spectre v2 mitigation options.
XXX: pullup-8.
XXX: turn on in all kernels.

actually do what the previous change said:
don't turn on the new 'SPECTRE_V2_GCC_MITIGATION' option yet.

turn on GCC spectre v2 mitigation options.
XXX: amd64 ALL doesn't build for me right now
 1.88.8.2 07-Mar-2018  martin Pull up the following revisions (via patch), requested by maxv in ticket #610:

sys/arch/amd64/amd64/amd64_trap.S 1.8,1.10,1.12 (partial),1.13-1.15,
1.19 (partial),1.20,1.21,1.22,1.24
(via patch)
sys/arch/amd64/amd64/locore.S 1.129 (partial),1.132 (via patch)
sys/arch/amd64/amd64/trap.c 1.97 (partial),1.111 (via patch)
sys/arch/amd64/amd64/vector.S 1.54,1.55 (via patch)
sys/arch/amd64/include/frameasm.h 1.21,1.23 (via patch)
sys/arch/x86/x86/cpu.c 1.138 (via patch)
sys/arch/xen/conf/Makefile.xen 1.45 (via patch)

Rename and reorder several things in amd64_trap.S.
Compile amd64_trap.S as a file.
Introduce nmitrap and doubletrap.
Have the CPU clear PSL_D automatically in the syscall entry point.
 1.88.8.1 01-Aug-2017  snj Pull up following revision(s) (requested by maxv in ticket #164):
distrib/sets/lists/base/md.amd64: revision 1.269
distrib/sets/lists/debug/md.amd64: revision 1.97
sys/arch/amd64/conf/GENERIC: revision 1.460
sys/arch/amd64/conf/files.amd64: revision 1.89
sys/arch/i386/conf/GENERIC: revision 1.1157
sys/arch/i386/conf/files.i386: revision 1.379
sys/arch/i386/i386/i386_trap.S: revision 1.7-1.8
sys/arch/i386/include/frameasm.h: revision 1.16
sys/arch/x86/include/sysarch.h: revision 1.12
sys/arch/x86/x86/pmc.c: revision 1.8-1.10
sys/arch/x86/x86/sys_machdep.c: revision 1.36
sys/arch/xen/conf/files.compat: revision 1.26
sys/secmodel/suser/secmodel_suser.c: revision 1.43
sys/sys/kauth.h: revision 1.74
usr.bin/pmc/Makefile: revision 1.5
usr.bin/pmc/pmc.1: revision 1.12-1.13
usr.bin/pmc/pmc.c: revision 1.24-1.25
style
--
style
--
Disable interrupts for T_NMI (inline calltrap). Note that there's still a
way to evade the NMI mode here, if a segment register faults in
INTRFASTEXIT; but we don't care. I didn't test this change, but it seems
fine enough.
--
Make the PMC syscalls privileged.
--
Check argc, and add a message.
--
include opt_pmc.h
--
Build the pmc tool on amd64.
--
Properly handle overflows, and take them into account in userland.
--
Update.
--
Enable PMCs by default.
--
Sort sections. Fix macro usage.
 1.101.2.7 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.101.2.6 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.101.2.5 14-Sep-2018  pgoyette OMG it builds!

Finish rearranging the amd64 MD compat_netbsd32 code.

XXX Other architectures will be dealt with later.
 1.101.2.4 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.101.2.3 28-Jul-2018  pgoyette Sync with HEAD
 1.101.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.101.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.104.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.104.2.1 10-Jun-2019  christos Sync with HEAD
 1.112.4.1 13-May-2023  martin Pull up following revision(s) (requested by manu in ticket #1632):

share/man/man8/man8.x86/boot.8: revision 1.27
sys/arch/i386/stand/efiboot/version: revision 1.3
share/man/man8/man8.x86/boot.8: revision 1.28 (via patch)
share/man/man8/man8.x86/boot.8: revision 1.29 (via patch)
sys/arch/i386/stand/lib/exec.c: revision 1.79
sys/arch/i386/stand/efiboot/efiboot.c: revision 1.13
sys/arch/i386/stand/efiboot/bootx64/efibootx64.c: revision 1.6
sys/arch/i386/stand/efiboot/bootia32/efibootia32.c: revision 1.6
sys/arch/i386/stand/efiboot/boot.c: revision 1.22
sys/arch/amd64/amd64/locore.S: revision 1.219
sys/arch/i386/stand/efiboot/bootia32/startprog32.S: revision 1.3
sys/arch/i386/stand/efiboot/efiboot.h: revision 1.12
sys/arch/amd64/conf/files.amd64: revision 1.121
sys/arch/amd64/conf/std.amd64: revision 1.13
share/man/man8/man8.x86/pxeboot.8: revision 1.6
sys/arch/i386/stand/efiboot/bootx64/startprog64.S: revision 1.4
sys/arch/amd64/amd64/locore.S: revision 1.220
share/man/man8/man8.x86/dosboot.8: revision 1.4
share/man/man4/options.4: revision 1.524

Add reloc keyworkd to let EFI bootstrap load amd64 kernel at any address

EFI bootstrap assumes it can copy the amd64 kernel to its ELF load
address (that is KERNTEXTOFF - KERNBASE = 0x200000), but it can
clash with previous UEFI memory allocation, as described here:
http://mail-index.netbsd.org/tech-kern/2023/04/07/msg028833.html

This change adds a reloc keyword for controling where the EFI
boostrap will copy the kernel image. Possible values are:
default - the default and prior behavior, copy at 0x200000.
none - do not copy and use the kernel image where it was loaded.
address - specify an explicit address where to copy the kernel.

This comes with an amd64 kernel patch that makes it self-relocatable.
It first discover where it was loaded in memory, and if this is
different than the expected 0x200000, hhe the kernel relocates
itself and start over at the right address.

Merge x86 boot options in x86/boot(8) and add undocumented UEFI options

We were supposed to keep the option list in x86/boot(8), x86/dosoot(8)
and x86/pxeboot(8) in sync, but it did not happen, hence it may work
better with all the options in x86/boot(8). Also add the undocumented
UEFI boot options.

Add a SELFRELOC kernel option for the sake of documentation clarity.
Instead of telling that x86/boot(8) reloc command needs a kernel able
to self relocate, we can tell it needs a kernel built with the
SELFRELOC option. This keeps the reader from wondering what could
make a kernel able to self relocate.

Remove XXX todo marker left by mistake

Raise the version for new feature (here reloc command)
Suggested by Masanobu SAITOH
 1.114.2.1 17-Jan-2020  ad Sync with head.
 1.115.4.1 16-Apr-2020  bouyer Reorganise sources to make it possible to include Xen PVHVM support in
native kernels. Among others:
- move xen/include/amd64/hypercall.h to amd64/include/xen and
xen/include/i386/hypercall.h to i386/include/xen
- exclude some native files from the build for xenpv
- add xen to "machine" config statement for amd64 and i386
- split arch/xen/conf/files.xen to arch/xen/conf/files.xen (for pv drivers)
and arch/xen/conf/files.xen.pv (for full pv support)
- add GENERIC_XENHVM kernel config which includes GENERIC and add Xen PV
drivers.
 1.120.20.1 13-May-2023  martin Pull up following revision(s) (requested by manu in ticket #159):

share/man/man8/man8.x86/boot.8: revision 1.27
sys/arch/i386/stand/efiboot/version: revision 1.3
share/man/man8/man8.x86/boot.8: revision 1.28
share/man/man8/man8.x86/boot.8: revision 1.29
sys/arch/i386/stand/lib/exec.c: revision 1.79
sys/arch/i386/stand/efiboot/efiboot.c: revision 1.13
sys/arch/i386/stand/efiboot/bootx64/efibootx64.c: revision 1.6
sys/arch/i386/stand/efiboot/bootia32/efibootia32.c: revision 1.6
sys/arch/i386/stand/efiboot/boot.c: revision 1.22
sys/arch/amd64/amd64/locore.S: revision 1.219
sys/arch/i386/stand/efiboot/bootia32/startprog32.S: revision 1.3
sys/arch/i386/stand/efiboot/efiboot.h: revision 1.12
sys/arch/amd64/conf/files.amd64: revision 1.121
sys/arch/amd64/conf/std.amd64: revision 1.13
share/man/man8/man8.x86/pxeboot.8: revision 1.6
sys/arch/i386/stand/efiboot/bootx64/startprog64.S: revision 1.4
sys/arch/amd64/amd64/locore.S: revision 1.220
share/man/man8/man8.x86/dosboot.8: revision 1.4
share/man/man4/options.4: revision 1.524

Add reloc keyworkd to let EFI bootstrap load amd64 kernel at any address

EFI bootstrap assumes it can copy the amd64 kernel to its ELF load
address (that is KERNTEXTOFF - KERNBASE = 0x200000), but it can
clash with previous UEFI memory allocation, as described here:
http://mail-index.netbsd.org/tech-kern/2023/04/07/msg028833.html

This change adds a reloc keyword for controling where the EFI
boostrap will copy the kernel image. Possible values are:
default - the default and prior behavior, copy at 0x200000.
none - do not copy and use the kernel image where it was loaded.
address - specify an explicit address where to copy the kernel.

This comes with an amd64 kernel patch that makes it self-relocatable.
It first discover where it was loaded in memory, and if this is
different than the expected 0x200000, hhe the kernel relocates
itself and start over at the right address.


Merge x86 boot options in x86/boot(8) and add undocumented UEFI options

We were supposed to keep the option list in x86/boot(8), x86/dosoot(8)
and x86/pxeboot(8) in sync, but it did not happen, hence it may work
better with all the options in x86/boot(8). Also add the undocumented
UEFI boot options.


Add a SELFRELOC kernel option for the sake of documentation clarity.
Instead of telling that x86/boot(8) reloc command needs a kernel able
to self relocate, we can tell it needs a kernel built with the
SELFRELOC option. This keeps the reader from wondering what could
make a kernel able to self relocate.

Remove XXX todo marker left by mistake

Raise the version for new feature (here reloc command)
Suggested by Masanobu SAITOH
 1.123.2.1 02-Aug-2025  perseant Sync with HEAD
 1.31 09-Jan-2020  manu Rollback multiboot2 for amd64, as requested by core
 1.30 15-Dec-2019  manu branches: 1.30.2;
Restore multiboot 2 header in amd64 kernel

The header must appear below 32k offset in the kernel file, but we
have to make sure it does not load at low addresses, otherwise we
break BIOS boot.

.text section used to load at 0x200000, we just load multiboot section
there, and have .text loaded just after.
 1.29 11-Dec-2019  manu Rollback kernel link scrpt change for multiboot

The multiboot section breaks BIOS boot. Rolling back the link script
removes the section, which breaks multiboot but should restore BIOS boot.
 1.28 10-Dec-2019  manu Add multiboot 2 support to amd64 kernel
 1.27 20-Aug-2018  maxv Add support for kASan on amd64. Written by me, with some parts inspired
from Siddharth Muralee's initial work. This feature can detect several
kinds of memory bugs, and it's an excellent feature.

It can be enabled by uncommenting these three lines in GENERIC:

#makeoptions KASAN=1 # Kernel Address Sanitizer
#options KASAN
#no options SVS

The kernel is compiled without SVS, without DMAP and without PCPU area.
A shadow area is created at boot time, and it can cover the upper 128TB
of the address space. This area is populated gradually as we allocate
memory. With this design the memory consumption is kept at its lowest
level.

The compiler calls the __asan_* functions each time a memory access is
done. We verify whether this access is legal by looking at the shadow
area.

We declare our own special memcpy/memset/etc functions, because the
compiler's builtins don't add the __asan_* instrumentation.

Initially all the mappings are marked as valid. During dynamic
allocations, we add a redzone, which we mark as invalid. Any access on
it will trigger a kASan error message. Additionally, the compiler adds
a redzone on global variables, and we mark these redzones as invalid too.
The illegal-access detection works with a 1-byte granularity.

For now, we cover three areas:

- global variables
- kmem_alloc-ated areas
- malloc-ated areas

More will come, but that's a good start.
 1.26 21-Jan-2018  maxv branches: 1.26.2; 1.26.4;
Unmap the kernel from userland in SVS, and leave only the needed
trampolines. As explained below, SVS should now completely mitigate
Meltdown on GENERIC kernels, even though it needs some more tweaking
for GENERIC_KASLR.

Until now the kernel entry points looked like:

FUNC(intr)
pushq $ERR
pushq $TRAPNO
INTRENTRY
... handle interrupt ...
INTRFASTEXIT
END(intr)

With this change they are split and become:

FUNC(handle)
... handle interrupt ...
INTRFASTEXIT
END(handle)

TEXT_USER_BEGIN
FUNC(intr)
pushq $ERR
pushq $TRAPNO
INTRENTRY
jmp handle
END(intr)
TEXT_USER_END

A new section is introduced, .text.user, that contains minimal kernel
entry/exit points. In order to choose what to put in this section, two
macros are introduced, TEXT_USER_BEGIN and TEXT_USER_END.

The section is mapped in userland with normal 4K pages.

In GENERIC, the section is 4K-page-aligned and embedded in .text, which
is mapped with large pages. That is to say, when an interrupt comes in,
the CPU has the user page tables loaded and executes the 'intr' functions
on 4K pages; after calling SVS_ENTER (in INTRENTRY) these 4K pages become
2MB large pages, and remain so when executing in kernel mode.

In GENERIC_KASLR, the section is 4K-page-aligned and independent from the
other kernel texts. The prekern just picks it up and maps it at a random
address.

In GENERIC, SVS should now completely mitigate Meltdown: what we put in
.text.user is not secret.

In GENERIC_KASLR, SVS would have to be improved a bit more: the
'jmp handle' instruction is actually secret, since it leaks the address
of the section we are jumping into. By exploiting Meltdown on Intel, this
theoretically allows a local user to reconstruct the address of the first
text section. But given that our KASLR produces several texts, and that
each section is not correlated with the others, the level of protection
KASLR provides is still good.
 1.25 07-Jan-2018  maxv Implement a real hotpatch feature.

Define a HOTPATCH() macro, that puts a label and additional information
in the new .rodata.hotpatch kernel section. In patch.c, scan the section
and patch what needs to be. Now it is possible to hotpatch the content of
a macro.

SMAP is switched to use this new system; this saves a call+ret in each
kernel entry/exit point.

Many other operating systems do the same.
 1.24 18-Aug-2017  maxv Fill the .text padding with 0xcc (int3), in such a way that any jump into
this area will automatically fault. The alignment within the section is
necessary, in order to fill strictly all of the padding (took me a while
to figure this out); but it does not change the kernel size.

Greatly inspired from FreeBSD, but for some reason they decided not to
apply the alignment.
 1.23 14-Jun-2017  maxv Fix a pretty dumb mistake I made in r1.22: the alignment needs to be in the
bss, otherwise the bootloader will use memory before __kernel_end and give
a wrong start pa to the kernel.

This issue was investigated by Anthony Mallet. Should fix PR/52000.
 1.22 11-Feb-2017  maxv branches: 1.22.6;
Put 2MB alignments between the kernel segments. This way the kernel image
is entirely mapped with large pages, which uniformizes performance and
reduces fluctuation. Sent on port-amd64.
 1.21 12-May-2016  maxv branches: 1.21.2; 1.21.4;
Map the data+bss chunk independently on amd64, and remove the X
permission on it.
 1.20 12-May-2016  maxv Map the rodata segment independently on amd64, and remove the W permission
on it.
 1.19 12-May-2016  maxv Split the {text+rodata} chunk in two separate chunks on x86. The
rodata segment now loses the large page optimization, gets mapped inside
the data segment, and therefore becomes RWX. It may break the build on
Xen.
 1.18 08-May-2016  maxv Define __rodata_start. Will be used soon.
 1.17 07-May-2016  maxv Large pages are supported by default for the text+rodata segments. Apply
the proper alignment for the data segment, so that more pages can benefit
from it. Reduces TLB contention.

kern.ldscript.2MB and largepages.inc are useless.
 1.16 14-Nov-2015  maxv KNF, and fix some comments
 1.15 25-Aug-2015  uebayasi Fix previous; do include assym.h.
 1.14 25-Aug-2015  uebayasi Replace COHERENCY_UNIT in ldscript.
 1.13 22-Aug-2015  uebayasi Don't need to specify OUTPUT_FORMAT/OUTPUT_ARCH in linker scripts.
 1.12 20-Aug-2015  uebayasi Do =0 (zero-fill) only once.
 1.11 20-Aug-2015  uebayasi Simplify this by splitting absolute relocation directives from other
relative, position-independent directives. Since all sections are
relocated in parallel, specifying the address of .text is sufficient.
 1.10 20-Aug-2015  uebayasi Indent.
 1.9 20-Aug-2015  uebayasi Kill trailing whitespaces.
 1.8 02-Nov-2014  uebayasi branches: 1.8.2;
Revert previous per joerg@'s request.

According to him, exposing .data.{read_mostly,cacheline_aligned} is
intentional so that people can easily see which variables are optimized.
 1.7 01-Nov-2014  uebayasi amd64, i386: Don't expose .data.{read_mostly,cacheline_aligned} sections
 1.6 07-May-2014  jakllsch Set the kernel load (physical) address as is already done for i386 kernels.
 1.5 01-Jun-2010  mjf branches: 1.5.8; 1.5.18; 1.5.22; 1.5.32;
Add __cacheline_aligned and __read_mostly annotations.

These annotations help to mitigate false sharing on multiprocessor
systems.

Variables annotated with __cacheline_aligned are placed into the
.data.cacheline_aligned section in the kernel. Each item in this
section is aligned on a cachline boundary - this avoids false
sharing. Highly contended global locks are a good candidate for
__cacheline_aligned annotation.

Variables annotated with __read_mostly are packed together tightly
into a .data.read_mostly section in the kernel. The idea here is that
we can pack infrequently modified data items into a cacheline and
avoid having to purge the cache, which would happen if read mostly
data and write mostly data shared a cachline. Initialisation variables
are a prime candiate for __read_mostly annotations.
 1.4 18-Oct-2007  yamt branches: 1.4.20; 1.4.34; 1.4.40; 1.4.42;
merge yamt-x86pmap branch.

- reduce differences between amd64 and i386. notably, share pmap.c
between them. it makes several i386 pmap improvements available to
amd64, including tlb shootdown reduction and bug fixes from Stephan Uphoff.
- implement deferred pmap switching for amd64.
- remove LARGEPAGES option. always use large pages if available.
also, make it work on amd64.
 1.3 17-Oct-2007  garbled Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.2 12-May-2007  christos branches: 1.2.8; 1.2.10; 1.2.12; 1.2.14;
convert to a very simple kern.ldscript
 1.1 26-Apr-2003  fvdl branches: 1.1.18; 1.1.54; 1.1.56; 1.1.60; 1.1.62; 1.1.68; 1.1.70;
Rename the x86_64 port to amd64, as this is the actual name used for
the processor family now. x86_64 is kept as the MACHINE_ARCH value,
since it's already widely used (by e.g. the toolchain, etc), and
by other operating systems.
 1.1.70.1 17-Nov-2007  skrll Keep .note sections.
 1.1.68.1 22-May-2007  matt Update to HEAD.
 1.1.62.1 11-Jul-2007  mjf Sync with head.
 1.1.60.2 23-Oct-2007  ad Sync with head.
 1.1.60.1 27-May-2007  ad Sync with head.
 1.1.56.1 17-May-2007  yamt sync with head.
 1.1.54.1 16-Sep-2008  bouyer Sync with the following revisions (requested by skrll in ticket #1196):
gnu/dist/gdb removed
gnu/usr.bin/gdb53 removed
distrib/cats/instkernel/Makefile 1.14.6.1
gnu/dist/gdb6/bfd/config.bfd 1.3.6.1
gnu/dist/gdb6/bfd/elfxx-sparc.c 1.1.1.2.6.1
gnu/dist/gdb6/bfd/elfxx-sparc.h 1.1.1.2.6.1
gnu/dist/gdb6/gdb/Makefile.in 1.2.2.1.2.2
gnu/dist/gdb6/gdb/alpha-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/alpha-tdep.h 1.1.1.2.6.1
gnu/dist/gdb6/gdb/alphabsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/alphabsd-nat.h 1.1.2.1
gnu/dist/gdb6/gdb/alphabsd-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/alphabsd-tdep.h 1.1.1.2.6.1
gnu/dist/gdb6/gdb/alphanbsd-nat.c 1.1.2.1
gnu/dist/gdb6/gdb/alphanbsd-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/amd64-nat.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/amd64bsd-nat.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/amd64nbsd-nat.c 1.1.1.2.6.3
gnu/dist/gdb6/gdb/amd64nbsd-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/arm-tdep.h 1.1.1.2.6.1
gnu/dist/gdb6/gdb/armbsd-tdep.c 1.1.2.1
gnu/dist/gdb6/gdb/armnbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/armnbsd-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/configure 1.1.1.2.6.1
gnu/dist/gdb6/gdb/configure.ac 1.1.1.2.6.1
gnu/dist/gdb6/gdb/i386bsd-nat.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/i386nbsd-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/m68kbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/mipsnbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/nbsd-thread.c 1.1.2.3
gnu/dist/gdb6/gdb/ppcnbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/ppcnbsd-tdep.c 1.3.6.1
gnu/dist/gdb6/gdb/sh-tdep.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/shnbsd-nat.c 1.1.1.2.6.3
gnu/dist/gdb6/gdb/shnbsd-tdep.c 1.1.1.2.6.4
gnu/dist/gdb6/gdb/shnbsd-tdep.h 1.1.1.2.6.1
gnu/dist/gdb6/gdb/sparc-nat.c 1.1.1.2.6.1
gnu/dist/gdb6/gdb/sparc64nbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/sparcnbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/tramp-frame.h 1.1.1.2.6.1
gnu/dist/gdb6/gdb/vaxbsd-nat.c 1.1.1.2.6.2
gnu/dist/gdb6/gdb/config/alpha/nbsd.mh 1.1.1.2.6.1
gnu/dist/gdb6/gdb/config/arm/nbsd.mt 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/arm/nbsdelf.mh 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/i386/nbsd64.mh 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/m68k/nbsdelf.mh 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/mips/nbsd.mh 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/powerpc/nbsd.mh 1.1.1.2.6.1
gnu/dist/gdb6/gdb/config/sh/nbsd.mh 1.1.1.1.6.2
gnu/dist/gdb6/gdb/config/sh/tm-nbsd.h 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/sparc/nbsd64.mh 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/sparc/nbsdelf.mh 1.1.1.1.6.1
gnu/dist/gdb6/gdb/config/vax/nbsdelf.mh 1.1.1.1.6.1
gnu/dist/gdb6/opcodes/configure 1.1.1.2.6.1
gnu/dist/gdb6/opcodes/configure.in 1.1.1.2.6.1
gnu/usr.bin/Makefile 1.126.4.1
gnu/usr.bin/gdb6/arch/alpha/config.h 1.3.4.1
gnu/usr.bin/gdb6/arch/alpha/defs.mk 1.2.6.1
gnu/usr.bin/gdb6/arch/alpha/init.c 1.2.6.1
gnu/usr.bin/gdb6/arch/alpha/nm.h 1.2.6.1
gnu/usr.bin/gdb6/arch/arm/defs.mk 1.2.6.2
gnu/usr.bin/gdb6/arch/arm/init.c 1.1.6.1
gnu/usr.bin/gdb6/arch/armeb/config.h 1.1.6.2
gnu/usr.bin/gdb6/arch/armeb/defs.mk 1.1.6.3
gnu/usr.bin/gdb6/arch/armeb/init.c 1.1.6.2
gnu/usr.bin/gdb6/arch/armeb/tm.h 1.1.6.2
gnu/usr.bin/gdb6/arch/armeb/version.c 1.1.6.2
gnu/usr.bin/gdb6/arch/i386/defs.mk 1.4.4.1
gnu/usr.bin/gdb6/arch/i386/init.c 1.3.6.1
gnu/usr.bin/gdb6/arch/m68000/config.h 1.1.6.2
gnu/usr.bin/gdb6/arch/m68000/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/arch/m68000/init.c 1.1.6.2
gnu/usr.bin/gdb6/arch/m68000/tm.h 1.1.6.2
gnu/usr.bin/gdb6/arch/m68000/version.c 1.1.6.2
gnu/usr.bin/gdb6/arch/m68k/defs.mk 1.1.4.1
gnu/usr.bin/gdb6/arch/m68k/init.c 1.1.4.1
gnu/usr.bin/gdb6/arch/mipseb/config.h 1.3.4.1
gnu/usr.bin/gdb6/arch/mipseb/defs.mk 1.2.6.2
gnu/usr.bin/gdb6/arch/mipseb/init.c 1.2.6.2
gnu/usr.bin/gdb6/arch/mipsel/config.h 1.2.6.3
gnu/usr.bin/gdb6/arch/mipsel/defs.mk 1.2.6.3
gnu/usr.bin/gdb6/arch/mipsel/init.c 1.2.6.3
gnu/usr.bin/gdb6/arch/mipsel/tm.h 1.2.6.2
gnu/usr.bin/gdb6/arch/mipsel/version.c 1.2.6.2
gnu/usr.bin/gdb6/arch/powerpc/defs.mk 1.3.6.1
gnu/usr.bin/gdb6/arch/powerpc/init.c 1.3.6.1
gnu/usr.bin/gdb6/arch/sh3eb/config.h 1.2.2.2
gnu/usr.bin/gdb6/arch/sh3eb/defs.mk 1.2.8.3
gnu/usr.bin/gdb6/arch/sh3eb/init.c 1.1.8.3
gnu/usr.bin/gdb6/arch/sh3eb/nm.h 1.1.8.2
gnu/usr.bin/gdb6/arch/sh3eb/tm.h 1.1.8.2
gnu/usr.bin/gdb6/arch/sh3eb/version.c 1.1.8.2
gnu/usr.bin/gdb6/arch/sh3el/config.h 1.2.2.2
gnu/usr.bin/gdb6/arch/sh3el/defs.mk 1.2.8.3
gnu/usr.bin/gdb6/arch/sh3el/init.c 1.1.8.3
gnu/usr.bin/gdb6/arch/sh3el/nm.h 1.1.8.2
gnu/usr.bin/gdb6/arch/sh3el/tm.h 1.1.8.2
gnu/usr.bin/gdb6/arch/sh3el/version.c 1.1.8.2
gnu/usr.bin/gdb6/arch/sparc/defs.mk 1.2.6.1
gnu/usr.bin/gdb6/arch/sparc/init.c 1.1.6.1
gnu/usr.bin/gdb6/arch/sparc64/defs.mk 1.2.6.1
gnu/usr.bin/gdb6/arch/sparc64/init.c 1.1.6.1
gnu/usr.bin/gdb6/arch/vax/config.h 1.1.6.2
gnu/usr.bin/gdb6/arch/vax/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/arch/vax/init.c 1.1.6.2
gnu/usr.bin/gdb6/arch/vax/tm.h 1.1.6.2
gnu/usr.bin/gdb6/arch/vax/version.c 1.1.6.2
gnu/usr.bin/gdb6/arch/x86_64/defs.mk 1.2.6.1
gnu/usr.bin/gdb6/arch/x86_64/init.c 1.1.6.1
gnu/usr.bin/gdb6/bfd/arch/armeb/bfd.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/armeb/bfdver.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/armeb/config.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/armeb/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/m68000/bfd.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/m68000/bfdver.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/m68000/config.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/m68000/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/mipsel/bfd.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/mipsel/bfdver.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/mipsel/config.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/mipsel/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/sh3eb/bfd.h 1.1.8.3
gnu/usr.bin/gdb6/bfd/arch/sh3eb/bfdver.h 1.1.8.2
gnu/usr.bin/gdb6/bfd/arch/sh3eb/config.h 1.1.8.2
gnu/usr.bin/gdb6/bfd/arch/sh3eb/defs.mk 1.1.8.3
gnu/usr.bin/gdb6/bfd/arch/sh3el/bfd.h 1.1.8.3
gnu/usr.bin/gdb6/bfd/arch/sh3el/bfdver.h 1.1.8.2
gnu/usr.bin/gdb6/bfd/arch/sh3el/config.h 1.1.8.2
gnu/usr.bin/gdb6/bfd/arch/sh3el/defs.mk 1.1.8.3
gnu/usr.bin/gdb6/bfd/arch/vax/bfd.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/vax/bfdver.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/vax/config.h 1.1.6.2
gnu/usr.bin/gdb6/bfd/arch/vax/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/gdb/Makefile 1.5.2.1.2.2
gnu/usr.bin/gdb6/gdbtui/Makefile 1.2.6.1
gnu/usr.bin/gdb6/libiberty/arch/armeb/config.h 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/armeb/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/m68000/config.h 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/m68000/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/mipsel/config.h 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/mipsel/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/sh3eb/config.h 1.1.8.2
gnu/usr.bin/gdb6/libiberty/arch/sh3eb/defs.mk 1.1.8.2
gnu/usr.bin/gdb6/libiberty/arch/sh3el/config.h 1.1.8.2
gnu/usr.bin/gdb6/libiberty/arch/sh3el/defs.mk 1.1.8.2
gnu/usr.bin/gdb6/libiberty/arch/vax/config.h 1.1.6.2
gnu/usr.bin/gdb6/libiberty/arch/vax/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/armeb/config.h 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/armeb/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/m68000/config.h 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/m68000/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/mipsel/config.h 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/mipsel/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/sh3eb/config.h 1.1.8.2
gnu/usr.bin/gdb6/opcodes/arch/sh3eb/defs.mk 1.1.8.3
gnu/usr.bin/gdb6/opcodes/arch/sh3el/config.h 1.1.8.2
gnu/usr.bin/gdb6/opcodes/arch/sh3el/defs.mk 1.1.8.3
gnu/usr.bin/gdb6/opcodes/arch/vax/config.h 1.1.6.2
gnu/usr.bin/gdb6/opcodes/arch/vax/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/armeb/config.h 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/armeb/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/m68000/config.h 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/m68000/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/mipsel/config.h 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/mipsel/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/sh3eb/config.h 1.1.8.2
gnu/usr.bin/gdb6/readline/arch/sh3eb/defs.mk 1.1.8.2
gnu/usr.bin/gdb6/readline/arch/sh3el/config.h 1.1.8.2
gnu/usr.bin/gdb6/readline/arch/sh3el/defs.mk 1.1.8.2
gnu/usr.bin/gdb6/readline/arch/vax/config.h 1.1.6.2
gnu/usr.bin/gdb6/readline/arch/vax/defs.mk 1.1.6.2
gnu/usr.bin/gdb6/sim/arch/mipseb/cconfig.h 1.1.2.1
gnu/usr.bin/gdb6/sim/arch/mipseb/config.h 1.1.2.1
gnu/usr.bin/gdb6/sim/arch/mipseb/defs.mk 1.1.2.1
gnu/usr.bin/gdb6/sim/arch/mipsel/cconfig.h 1.1.2.1
gnu/usr.bin/gdb6/sim/arch/mipsel/config.h 1.1.2.1
gnu/usr.bin/gdb6/sim/arch/mipsel/defs.mk 1.1.2.1
lib/libkvm/kvm_sparc64.c 1.10.18.2
lib/libpthread/pthread.c 1.48.6.4
lib/libpthread/pthread_barrier.c 1.6.18.1
lib/libpthread/pthread_cond.c 1.18.12.2
lib/libpthread/pthread_debug.h 1.8.18.1
lib/libpthread/pthread_int.h 1.34.4.5
lib/libpthread/pthread_lock.c 1.14.6.1
lib/libpthread/pthread_mutex.c 1.22.4.2
lib/libpthread/pthread_run.c 1.18.12.4
lib/libpthread/pthread_rwlock.c 1.13.6.2
lib/libpthread/pthread_sa.c 1.37.6.5
lib/libpthread/pthread_sig.c 1.47.4.8
lib/libpthread/pthread_sleep.c 1.7.6.2
lib/libpthread/sem.c 1.9.6.2
lib/libpthread/arch/sh3/pthread_md.h 1.3.6.1
regress/lib/libpthread/resolv/Makefile 1.1.12.1
regress/lib/libpthread/sigrunning/Makefile 1.1.2.1
regress/lib/libpthread/sigrunning/sigrunning.c 1.1.2.1
share/mk/bsd.own.mk 1.489.4.3
sys/arch/amd64/amd64/locore.S 1.18.14.1
sys/arch/amd64/amd64/machdep.c 1.44.2.3.2.1
sys/arch/amd64/conf/kern.ldscript 1.1.70.1
sys/arch/cats/conf/Makefile.cats.inc 1.17.30.1
sys/arch/shark/conf/Makefile.shark.inc 1.6.30.1
sys/arch/sparc64/conf/kern.ldscript 1.7.26.2
sys/arch/sparc64/conf/kern32.ldscript 1.6.26.2
sys/arch/sparc64/include/kcore.h 1.4.92.2
sys/arch/sparc64/sparc64/locore.s 1.232.4.4
sys/arch/sparc64/sparc64/machdep.c 1.193.4.3
sys/arch/sparc64/sparc64/pmap.c 1.184.2.1.2.4
sys/conf/newvers.sh 1.42.26.2
sys/kern/kern_sa.c 1.87.4.11
sys/kern/kern_synch.c 1.173.4.2
sys/sys/savar.h 1.20.10.2
tools/gdb/Makefile 1.9.4.1
tools/gdb/mknative-gdb 1.1.6.1

pullup the wrstuden-fixsa CVS branch to netbsd-4:
toolchain/35540 - GDB 6 support for pthreads.
port-sparc64/37534 - ktrace firefox gives
kernel trap 30: data access expection
GDB changes:
- delete gdb53
- enable gdb6 on all architectures
- add support for amd64 crash dumps
- add support for sparc64 crash dumps
- add support for /proc pid to executable filename for all archs
- enable thread support for all architectures
- add a note section to kernels to all platforms
- support detection/unwinding of signals for most architectures.
- Fix PTHREAD_UCONTEXT_TO_REG / PTHREAD_REG_TO_UCONTEXT on sh3.
- Apply fix from binutils-current so that sparc gdb can be cross built
on a 64bit host.
SA/pthread changes:
Pre-allocate memory needed for event delivery. Eliminates dropped
interrupts under load.
Deliver intra-process signals to running threads
Eliminate some deadlock scenarios
Fix intra-process signal delivery when delivering to a thread waiting
for signals. Makes afs work again!
 1.1.18.2 27-Oct-2007  yamt sync with head.
 1.1.18.1 03-Sep-2007  yamt sync with head.
 1.2.14.1 25-Oct-2007  bouyer Sync with HEAD.
 1.2.12.1 04-Oct-2007  yamt - move etext before rodata. define __data_start at the start of
.data section and use it instead of etext where appropriate.
- put .rodata.* into .rodata section as well.
- pmap_bootstrap: don't assume NBPD_L2 alignment.
- pmap_bootstrap: if DEBUG, print how many large pages and normal pages are
used to map kernel text.
 1.2.10.1 06-Nov-2007  matt sync with HEAD
 1.2.8.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.4.42.1 03-Jul-2010  rmind sync with head
 1.4.40.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.4.34.2 29-Mar-2011  jym More sync fixes. And add the mbr_gpt files.
 1.4.34.1 24-Oct-2010  jym Sync with HEAD
 1.4.20.1 11-Aug-2010  yamt sync with head.
 1.5.32.1 10-Aug-2014  tls Rebase.
 1.5.22.1 18-May-2014  rmind sync with head
 1.5.18.2 03-Dec-2017  jdolecek update from HEAD
 1.5.18.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.8.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.8.2.4 28-Aug-2017  skrll Sync with HEAD
 1.8.2.3 29-May-2016  skrll Sync with HEAD
 1.8.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.8.2.1 22-Sep-2015  skrll Sync with HEAD
 1.21.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.21.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.22.6.3 22-Mar-2018  martin Pull up the following revisions, requested by maxv in ticket #652:

sys/arch/amd64/amd64/amd64_trap.S upto 1.39 (partial, patch)
sys/arch/amd64/amd64/db_machdep.c 1.6 (patch)
sys/arch/amd64/amd64/genassym.cf 1.65,1.66,1.67 (patch)
sys/arch/amd64/amd64/locore.S upto 1.159 (partial, patch)
sys/arch/amd64/amd64/machdep.c 1.299-1.302 (patch)
sys/arch/amd64/amd64/trap.c upto 1.113 (partial, patch)
sys/arch/amd64/amd64/amd64/vector.S upto 1.61 (partial, patch)
sys/arch/amd64/conf/GENERIC 1.477,1.478 (patch)
sys/arch/amd64/conf/kern.ldscript 1.26 (patch)
sys/arch/amd64/include/frameasm.h upto 1.37 (partial, patch)
sys/arch/amd64/include/param.h 1.25 (patch)
sys/arch/amd64/include/pmap.h 1.41,1.43,1.44 (patch)
sys/arch/x86/conf/files.x86 1.91,1.93 (patch)
sys/arch/x86/include/cpu.h 1.88,1.89 (patch)
sys/arch/x86/include/pmap.h 1.75 (patch)
sys/arch/x86/x86/cpu.c 1.144,1.146,1.148,1.149 (patch)
sys/arch/x86/x86/pmap.c upto 1.289 (partial, patch)
sys/arch/x86/x86/vm_machdep.c 1.31,1.32 (patch)
sys/arch/x86/x86/x86_machdep.c 1.104,1.106,1.108 (patch)
sys/arch/x86/x86/svs.c 1.1-1.14
sys/arch/xen/conf/files.compat 1.30 (patch)

Backport SVS. Not enabled yet.
 1.22.6.2 06-Mar-2018  martin Pull up the following revisions, requested by maxv in ticket #603:

amd64/conf/kern.ldscript 1.25 (patch)
amd64/conf/kern.ldscript.Xen 1.14 (patch)
i386/conf/kern.ldscript 1.21 (patch)
i386/conf/kern.ldscript.Xen 1.15 (patch)
x86/include/cpufunc.h 1.24 (patch)
x86/x86/patch.c 1.25 (partial) 1.26 (partial)

Backport x86_hotpatch.
 1.22.6.1 21-Jun-2017  snj Pull up following revision(s) (requested by maxv in ticket #42):
sys/arch/amd64/conf/kern.ldscript: revision 1.23
sys/arch/x86/x86/x86_machdep.c: revision 1.92
Fix a pretty dumb mistake I made in r1.22: the alignment needs to be in the
bss, otherwise the bootloader will use memory before __kernel_end and give
a wrong start pa to the kernel.
This issue was investigated by Anthony Mallet. Should fix PR/52000.
--
Fix a bug introduced in bus_space.c::r1.39. This check too is hard-coded.
Might have had a cumulative effect on PR/52000.
 1.26.4.1 10-Jun-2019  christos Sync with HEAD
 1.26.2.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.30.2.1 17-Jan-2020  ad Sync with head.
 1.12 07-May-2016  maxv Large pages are supported by default for the text+rodata segments. Apply
the proper alignment for the data segment, so that more pages can benefit
from it. Reduces TLB contention.

kern.ldscript.2MB and largepages.inc are useless.
 1.11 25-Aug-2015  uebayasi Fix previous; do include assym.h.
 1.10 25-Aug-2015  uebayasi Replace COHERENCY_UNIT in ldscript.
 1.9 22-Aug-2015  uebayasi Don't need to specify OUTPUT_FORMAT/OUTPUT_ARCH in linker scripts.
 1.8 20-Aug-2015  uebayasi Simplify these by relocating only .text.
 1.7 20-Aug-2015  uebayasi Indent with 2 spaces.
 1.6 20-Aug-2015  uebayasi Kill trailing whitespaces.
 1.5 02-Nov-2014  uebayasi branches: 1.5.2;
Revert previous per joerg@'s request.

According to him, exposing .data.{read_mostly,cacheline_aligned} is
intentional so that people can easily see which variables are optimized.
 1.4 01-Nov-2014  uebayasi amd64, i386: Don't expose .data.{read_mostly,cacheline_aligned} sections
 1.3 01-Jun-2010  mjf branches: 1.3.18;
Add __cacheline_aligned and __read_mostly annotations.

These annotations help to mitigate false sharing on multiprocessor
systems.

Variables annotated with __cacheline_aligned are placed into the
.data.cacheline_aligned section in the kernel. Each item in this
section is aligned on a cachline boundary - this avoids false
sharing. Highly contended global locks are a good candidate for
__cacheline_aligned annotation.

Variables annotated with __read_mostly are packed together tightly
into a .data.read_mostly section in the kernel. The idea here is that
we can pack infrequently modified data items into a cacheline and
avoid having to purge the cache, which would happen if read mostly
data and write mostly data shared a cachline. Initialisation variables
are a prime candiate for __read_mostly annotations.
 1.2 18-Oct-2007  yamt branches: 1.2.2; 1.2.4; 1.2.6; 1.2.10; 1.2.28; 1.2.42; 1.2.48; 1.2.50;
merge yamt-x86pmap branch.

- reduce differences between amd64 and i386. notably, share pmap.c
between them. it makes several i386 pmap improvements available to
amd64, including tlb shootdown reduction and bug fixes from Stephan Uphoff.
- implement deferred pmap switching for amd64.
- remove LARGEPAGES option. always use large pages if available.
also, make it work on amd64.
 1.1 01-Oct-2007  yamt branches: 1.1.2; 1.1.4;
file kern.ldscript.2MB was initially added on branch yamt-x86pmap.
 1.1.4.1 25-Oct-2007  bouyer Sync with HEAD.
 1.1.2.2 04-Oct-2007  yamt - move etext before rodata. define __data_start at the start of
.data section and use it instead of etext where appropriate.
- put .rodata.* into .rodata section as well.
- pmap_bootstrap: don't assume NBPD_L2 alignment.
- pmap_bootstrap: if DEBUG, print how many large pages and normal pages are
used to map kernel text.
 1.1.2.1 01-Oct-2007  yamt - fix LARGEPAGES.
- add amd64 linker script for it.
 1.2.50.1 03-Jul-2010  rmind sync with head
 1.2.48.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.2.42.2 29-Mar-2011  jym More sync fixes. And add the mbr_gpt files.
 1.2.42.1 24-Oct-2010  jym Sync with HEAD
 1.2.28.1 11-Aug-2010  yamt sync with head.
 1.2.10.2 06-Nov-2007  matt sync with HEAD
 1.2.10.1 18-Oct-2007  matt file kern.ldscript.2MB was added on branch matt-armv6 on 2007-11-06 23:14:14 +0000
 1.2.6.2 27-Oct-2007  yamt sync with head.
 1.2.6.1 18-Oct-2007  yamt file kern.ldscript.2MB was added on branch yamt-lazymbuf on 2007-10-27 11:25:09 +0000
 1.2.4.2 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.2.4.1 18-Oct-2007  joerg file kern.ldscript.2MB was added on branch jmcneill-pm on 2007-10-26 15:42:10 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 18-Oct-2007  ad file kern.ldscript.2MB was added on branch vmlocking on 2007-10-23 20:35:37 +0000
 1.3.18.1 03-Dec-2017  jdolecek update from HEAD
 1.5.2.2 29-May-2016  skrll Sync with HEAD
 1.5.2.1 22-Sep-2015  skrll Sync with HEAD
 1.18 24-Jan-2022  maya put .note.Xen into PT_NOTE

this is where grub 2.02 and possibly other things expect
to find it.
Fixes booting with grub2 on prgmr.com.
 1.17 21-May-2020  jdolecek update Xen ldscript to add kASan .ctors section, so that Xen kernel with
enabled KASAN option at least compiles; no promises on it actually working
though
 1.16 24-Jun-2018  maxv Sync the ld scripts:

* Force a PAGE_SIZE alignment of .bss on i386. Normally that's not
required since the bootloader ensures page alignment, but let's be
safe. Same on Xen-i386.

* Fill the .text section padding with int3 instructions on Xen kernels,
to prevent FALLTHROUGHs if a pointer goes crazy, same as native.
 1.15 24-Jun-2018  jdolecek follow change in rev. 1.22 of kern.ldscript and apply same fix for xen
ldscript too, but using just regular PAGE_ALIGN alignment:

"""
Fix a pretty dumb mistake I made in r1.22: the alignment needs to be in the
bss, otherwise the bootloader will use memory before __kernel_end and give
a wrong start pa to the kernel.
"""

this got broke by amd64/locore.S rev. 1.141 which removed an unused variable
which forced the alignment

this fixes ps/bt in ddb to be able to find symbols and hence PR port-xen/53056
 1.14 07-Jan-2018  maxv branches: 1.14.2;
Implement a real hotpatch feature.

Define a HOTPATCH() macro, that puts a label and additional information
in the new .rodata.hotpatch kernel section. In patch.c, scan the section
and patch what needs to be. Now it is possible to hotpatch the content of
a macro.

SMAP is switched to use this new system; this saves a call+ret in each
kernel entry/exit point.

Many other operating systems do the same.
 1.13 02-Aug-2016  maxv branches: 1.13.8;
Align the segments properly, and split text+rodata in two separate segments
on Xen.
 1.12 13-May-2016  maxv branches: 1.12.2;
Xen therefore uses x86/db_memrw.c, as I suspected. Define __rodata_start
in the Xen ld scripts, so that it can compile. We put the __rodata_start
definition right before __data_start, for it to appear as dead code, since
the rodata segment is not yet mapped independently on Xen.
 1.11 12-May-2016  maxv KNF the Xen ld scripts on x86.
 1.10 25-Aug-2015  uebayasi Fix previous; do include assym.h.
 1.9 25-Aug-2015  uebayasi Replace COHERENCY_UNIT in ldscript.
 1.8 22-Aug-2015  uebayasi Don't need to specify OUTPUT_FORMAT/OUTPUT_ARCH in linker scripts.
 1.7 20-Aug-2015  uebayasi Simplify these by relocating only .text.
 1.6 20-Aug-2015  uebayasi Indent with 2 spaces.
 1.5 02-Nov-2014  uebayasi branches: 1.5.2;
Revert previous per joerg@'s request.

According to him, exposing .data.{read_mostly,cacheline_aligned} is
intentional so that people can easily see which variables are optimized.
 1.4 01-Nov-2014  uebayasi amd64, i386: Don't expose .data.{read_mostly,cacheline_aligned} sections
 1.3 01-Jun-2010  mjf branches: 1.3.18;
Add __cacheline_aligned and __read_mostly annotations.

These annotations help to mitigate false sharing on multiprocessor
systems.

Variables annotated with __cacheline_aligned are placed into the
.data.cacheline_aligned section in the kernel. Each item in this
section is aligned on a cachline boundary - this avoids false
sharing. Highly contended global locks are a good candidate for
__cacheline_aligned annotation.

Variables annotated with __read_mostly are packed together tightly
into a .data.read_mostly section in the kernel. The idea here is that
we can pack infrequently modified data items into a cacheline and
avoid having to purge the cache, which would happen if read mostly
data and write mostly data shared a cachline. Initialisation variables
are a prime candiate for __read_mostly annotations.
 1.2 22-Nov-2007  bouyer branches: 1.2.2; 1.2.4; 1.2.8; 1.2.16; 1.2.26; 1.2.40; 1.2.46; 1.2.48;
Pull up the bouyer-xenamd64 branch to HEAD. This brings in amd64 support
to NetBSD/Xen, both Dom0 and DomU.
 1.1 17-Oct-2007  bouyer branches: 1.1.2; 1.1.4;
file kern.ldscript.Xen was initially added on branch bouyer-xenamd64.
 1.1.4.1 08-Dec-2007  mjf Sync with HEAD.
 1.1.2.2 25-Oct-2007  bouyer Finish sync with HEAD. Especially use the new x86 pmap for xenamd64.
For this:
- rename pmap_pte_set() to pmap_pte_testset()
- make pmap_pte_set() a function or macro for non-atomic PTE write
- define and use pmap_pa2pte()/pmap_pte2pa() to read/write PTE entries
- define pmap_pte_flush() which is a nop in x86 case, and flush the
MMUops queue in the Xen case
 1.1.2.1 17-Oct-2007  bouyer amd64 (aka x86-64) support for Xen. Based on the OpenBSD port done by
Mathieu Ropert in 2006.
DomU-only for now. An INSTALL_XEN3_DOMU kernel with a ramdisk will boot to
sysinst if you're lucky. Often it panics because a runable LWP has
a NULL stack (really, it's all of l->l_addr which is has been zeroed out
while the process was on the queue !)
TODO:
- bug fixes :)
- Most of the xpq_* functions should be shared with xen/i386
- The xen/i386 assembly bootstrap code should be remplaced with the C
version in xenamd64/amd64/xpmap.c
- see if a config(5) trick could allow to merge xenamd64 back to xen or amd64.
 1.2.48.1 03-Jul-2010  rmind sync with head
 1.2.46.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.2.40.2 29-Mar-2011  jym More sync fixes. And add the mbr_gpt files.
 1.2.40.1 24-Oct-2010  jym Sync with HEAD
 1.2.26.1 11-Aug-2010  yamt sync with head.
 1.2.16.2 09-Jan-2008  matt sync with HEAD
 1.2.16.1 22-Nov-2007  matt file kern.ldscript.Xen was added on branch matt-armv6 on 2008-01-09 01:44:51 +0000
 1.2.8.2 07-Dec-2007  yamt sync with head
 1.2.8.1 22-Nov-2007  yamt file kern.ldscript.Xen was added on branch yamt-lazymbuf on 2007-12-07 17:24:03 +0000
 1.2.4.2 03-Dec-2007  ad Sync with HEAD.
 1.2.4.1 22-Nov-2007  ad file kern.ldscript.Xen was added on branch vmlocking on 2007-12-03 19:02:47 +0000
 1.2.2.2 27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.2.2.1 22-Nov-2007  joerg file kern.ldscript.Xen was added on branch jmcneill-pm on 2007-11-27 19:35:31 +0000
 1.3.18.1 03-Dec-2017  jdolecek update from HEAD
 1.5.2.3 05-Oct-2016  skrll Sync with HEAD
 1.5.2.2 29-May-2016  skrll Sync with HEAD
 1.5.2.1 22-Sep-2015  skrll Sync with HEAD
 1.12.2.1 06-Aug-2016  pgoyette Sync with HEAD
 1.13.8.1 06-Mar-2018  martin Pull up the following revisions, requested by maxv in ticket #603:

amd64/conf/kern.ldscript 1.25 (patch)
amd64/conf/kern.ldscript.Xen 1.14 (patch)
i386/conf/kern.ldscript 1.21 (patch)
i386/conf/kern.ldscript.Xen 1.15 (patch)
x86/include/cpufunc.h 1.24 (patch)
x86/x86/patch.c 1.25 (partial) 1.26 (partial)

Backport x86_hotpatch.
 1.14.2.1 25-Jun-2018  pgoyette Sync with HEAD
 1.5 21-Jan-2018  maxv Unmap the kernel from userland in SVS, and leave only the needed
trampolines. As explained below, SVS should now completely mitigate
Meltdown on GENERIC kernels, even though it needs some more tweaking
for GENERIC_KASLR.

Until now the kernel entry points looked like:

FUNC(intr)
pushq $ERR
pushq $TRAPNO
INTRENTRY
... handle interrupt ...
INTRFASTEXIT
END(intr)

With this change they are split and become:

FUNC(handle)
... handle interrupt ...
INTRFASTEXIT
END(handle)

TEXT_USER_BEGIN
FUNC(intr)
pushq $ERR
pushq $TRAPNO
INTRENTRY
jmp handle
END(intr)
TEXT_USER_END

A new section is introduced, .text.user, that contains minimal kernel
entry/exit points. In order to choose what to put in this section, two
macros are introduced, TEXT_USER_BEGIN and TEXT_USER_END.

The section is mapped in userland with normal 4K pages.

In GENERIC, the section is 4K-page-aligned and embedded in .text, which
is mapped with large pages. That is to say, when an interrupt comes in,
the CPU has the user page tables loaded and executes the 'intr' functions
on 4K pages; after calling SVS_ENTER (in INTRENTRY) these 4K pages become
2MB large pages, and remain so when executing in kernel mode.

In GENERIC_KASLR, the section is 4K-page-aligned and independent from the
other kernel texts. The prekern just picks it up and maps it at a random
address.

In GENERIC, SVS should now completely mitigate Meltdown: what we put in
.text.user is not secret.

In GENERIC_KASLR, SVS would have to be improved a bit more: the
'jmp handle' instruction is actually secret, since it leaks the address
of the section we are jumping into. By exploiting Meltdown on Intel, this
theoretically allows a local user to reconstruct the address of the first
text section. But given that our KASLR produces several texts, and that
each section is not correlated with the others, the level of protection
KASLR provides is still good.
 1.4 07-Jan-2018  maxv Implement a real hotpatch feature.

Define a HOTPATCH() macro, that puts a label and additional information
in the new .rodata.hotpatch kernel section. In patch.c, scan the section
and patch what needs to be. Now it is possible to hotpatch the content of
a macro.

SMAP is switched to use this new system; this saves a call+ret in each
kernel entry/exit point.

Many other operating systems do the same.
 1.3 14-Nov-2017  maxv branches: 1.3.2;
Split each kernel section into sub-blocks of approximately 2MB. The newly
created sections are named .origname.i, for example:

.text -> { .text .text.0 .text.1 .text.2 .text.3 .text.4 }

Each section is randomized independently by the prekern - and in a random
order obviously. As a result we can get intertwined mappings, of the type:

+-------+-----------+------+---------+-----------+-------+-------+------+-
| text1 | NOTMAPPED | bss0 | rodata1 | NOTMAPPED | data2 | text3 | bss1 |
+-------+-----------+------+---------+-----------+-------+-------+------+-

---------+-
rodata0 | ...
---------+-

The CTF section is dropped completely, because (a) when split it becomes
enormous for some reason (that I don't quite understand, verily), and (b)
the kernel expects only one CTF and can't handle several of them.
 1.2 13-Nov-2017  maxv Use SUBALIGN, to force the alignment at the section level, and remove
the inter-section ALIGN which doesn't do anything since the physical
address of the section is chosen dynamically by the bootloader.
 1.1 09-Nov-2017  maxv Use another ld script for kaslr kernels, in which there are no alignment
directives. They don't matter since the bootloader overwrites them.

But, normally we still need to make sure .data.read_mostly is aligned.
Unfortunately I couldn't find any way to force sh_addralign to be 64, so
I'm leaving the alignment there as a useless reminder.
 1.3.2.2 03-Dec-2017  jdolecek update from HEAD
 1.3.2.1 14-Nov-2017  jdolecek file kern.ldscript.kaslr was added on branch tls-maxphys on 2017-12-03 11:35:47 +0000
 1.5 07-May-2016  maxv Large pages are supported by default for the text+rodata segments. Apply
the proper alignment for the data segment, so that more pages can benefit
from it. Reduces TLB contention.

kern.ldscript.2MB and largepages.inc are useless.
 1.4 21-Aug-2015  uebayasi ${KERN_LDSCRIPT} -> ${KERNLDSCRIPT}
 1.3 07-Jan-2008  martti branches: 1.3.54; 1.3.74;
Fixed option indentation, it should be

option<space><tab>
makeoption<space><tab>
 1.2 18-Oct-2007  yamt branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; 1.2.10; 1.2.16;
merge yamt-x86pmap branch.

- reduce differences between amd64 and i386. notably, share pmap.c
between them. it makes several i386 pmap improvements available to
amd64, including tlb shootdown reduction and bug fixes from Stephan Uphoff.
- implement deferred pmap switching for amd64.
- remove LARGEPAGES option. always use large pages if available.
also, make it work on amd64.
 1.1 01-Oct-2007  yamt branches: 1.1.2; 1.1.4;
file largepages.inc was initially added on branch yamt-x86pmap.
 1.1.4.1 25-Oct-2007  bouyer Sync with HEAD.
 1.1.2.2 04-Oct-2007  yamt remove LARGEPAGES option. always use large pages if available.
 1.1.2.1 01-Oct-2007  yamt - fix LARGEPAGES.
- add amd64 linker script for it.
 1.2.16.1 08-Jan-2008  bouyer Sync with HEAD
 1.2.10.3 09-Jan-2008  matt sync with HEAD
 1.2.10.2 06-Nov-2007  matt sync with HEAD
 1.2.10.1 18-Oct-2007  matt file largepages.inc was added on branch matt-armv6 on 2007-11-06 23:14:15 +0000
 1.2.8.1 18-Feb-2008  mjf Sync with HEAD.
 1.2.6.3 21-Jan-2008  yamt sync with head
 1.2.6.2 27-Oct-2007  yamt sync with head.
 1.2.6.1 18-Oct-2007  yamt file largepages.inc was added on branch yamt-lazymbuf on 2007-10-27 11:25:09 +0000
 1.2.4.2 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.2.4.1 18-Oct-2007  joerg file largepages.inc was added on branch jmcneill-pm on 2007-10-26 15:42:10 +0000
 1.2.2.2 23-Oct-2007  ad Sync with head.
 1.2.2.1 18-Oct-2007  ad file largepages.inc was added on branch vmlocking on 2007-10-23 20:35:38 +0000
 1.3.74.2 29-May-2016  skrll Sync with HEAD
 1.3.74.1 22-Sep-2015  skrll Sync with HEAD
 1.3.54.1 03-Dec-2017  jdolecek update from HEAD
 1.36 25-May-2022  uwe x86: Reserve device major for VirtualBox Guest Additions
 1.35 29-Jun-2021  nia Remove uscanner(4) driver

This exists for compatibility with a Linux interface which was apparently
deprecated in Linux 2.6. There are various mailing list threads going
back to 2004 where the usefulness of this driver is discussed, but
the conclusion is that scanner software has all moved to using ugen(4)
instead, and enabling this driver will not help you scan things.
 1.34 04-Apr-2020  jdolecek branches: 1.34.8;
mark nsmb major obsolete
 1.33 29-Jan-2020  maya remove urio(4), a driver for the Rio500 MP3 player.

At this point it is highly unlikely this 1999 device still has users,
but it still comes up in the context of maxv's USB-fuzzing (and any device
could pretend to be a urio(4)), so it's best to get rid of it.

Renamed all major entries to obsolete, as was done in previous removals.

This still requires an update to sanitizers, but they're located in
"external", perhaps it should be first committed upstream?

Proposed on tech-kern a month ago.
 1.32 28-Jan-2019  dholland branches: 1.32.6;
Systematize handling of removed drivers.

- Every driver that was removed and whose number hasn't already been
reused is now listed with a commented-out "obsolete" line.
- The format of these has been systematized. Future format changes can
probably be safely done with a script.
- This does not include a few cases of assignments that only lasted a
couple days, or stuff from before major reorgs. Some of these may
be included nonetheless, because there was a lot of ground to cover
and therefore not a lot of time to dig into history in detail.

Note that the obsolete listings do not mean the major numbers can
never be reused; that's up to portmasters and/or core. It does mean
that they won't be reused by accident, however, which in some cases
(depending on the driver, how widely used it was, its family of device
nodes, their default permissions, etc.) can be quite dangerous.

Note that some of the things now explicitly listed as obsolete are
really ancient history. My scan went back as far as when the majors
files were added. (But not before that.)
 1.31 27-Jan-2019  dholland Restore satlink's majors entries commented out and marked obsolete.
Otherwise they might accidentally get reused later and cause a
security problem.
 1.30 27-Jan-2019  maxv Remove the satlink driver. It was disabled everywhere, had no man page and
no use either. Spotted by thorpej in PR/21345, ok christos.
 1.29 19-Dec-2018  maxv Remove compat_svr4 and compat_svr4_32, as discussed on tech-kern@ recently,
but also as discussed several times in the past.
 1.28 23-Sep-2018  maxv Remove ISDN from the kernel. It has remained unmaintained for a long time,
is of poor quality, and is now an obstacle to MP-ification. It was removed
ten years ago from FreeBSD for the same reason.

This retires a big user of the mbuf API, and will ease maintenance of the
kernel.
 1.27 12-Jan-2017  ryo branches: 1.27.14; 1.27.16;
white space police
 1.26 08-Dec-2016  nat Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.
 1.25 23-Apr-2015  pgoyette branches: 1.25.2;
Update device dependency information - the sysmon major device now depends on the sysmon module itself, not on the individual components.
 1.24 30-Jun-2011  wiz branches: 1.24.12; 1.24.30;
dependant -> dependent
 1.23 06-Mar-2010  plunky use a MI major number for uhso(4) driver
(requested by mrg)
 1.22 06-Mar-2010  plunky add major device for usho(4) driver
 1.21 12-Nov-2008  ad branches: 1.21.4; 1.21.6;
Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.20 15-Jul-2008  cegger branches: 1.20.2;
Configure /dev/power for domu as in src/sys/arch/i386/conf/majors.i386.
See discussion on port-xen for the details at http://mail-index.netbsd.org/port-xen/2008/06/14/msg003904.html
 1.19 31-Dec-2007  ad branches: 1.19.6; 1.19.10; 1.19.12; 1.19.14; 1.19.16;
Remove systrace. Ok core@.
 1.18 22-Nov-2007  bouyer branches: 1.18.6;
Pull up the bouyer-xenamd64 branch to HEAD. This brings in amd64 support
to NetBSD/Xen, both Dom0 and DomU.
 1.17 09-Jan-2007  cube branches: 1.17.6; 1.17.22; 1.17.24; 1.17.28; 1.17.30;
Remove traces of scd(4), which apparently never actually had a driver in
the tree.
 1.16 24-Nov-2006  wiz s/independant/independent/, from Zafer.
 1.15 11-Dec-2005  christos branches: 1.15.20; 1.15.22;
merge ktrace-lwp.
 1.14 17-Sep-2005  yamt make VMSWAP optional again.
 1.13 31-Jul-2005  yamt revert "defflag VMSWAP" changes for now.
there seems to be far more people who don't want to edit
their kernel config files than i thought.
 1.12 30-Jul-2005  yamt defflag VMSWAP.
 1.11 10-Dec-2003  jmc branches: 1.11.16;
Change reference at bottom from sys/dev/majors to sys/conf/majors to match
reality
 1.10 22-Oct-2003  jdolecek add kttcp major
 1.9 22-Oct-2003  jdolecek add majors for mly, dpti, dpt, twe, joy, radio, cir
 1.8 22-Oct-2003  jdolecek add wsfont major to archs which have the other wscons devices
 1.7 15-Oct-2003  jdolecek add major for nsmb, at #98 to be in sync with i386
 1.6 10-Oct-2003  jdolecek reassing majors for crypto and pf to use the newly defined MI major
range
 1.5 10-Oct-2003  jdolecek update the comment - the space for machine-dependant majors
is reduced to 0-143
follows discussion on tech-kern
 1.4 05-Oct-2003  jdolecek Add some framework for MI assignment of device majors - add sys/dev/majors
which is automatically included during kernel config, and add comments
to individual machine-dependant majors.* files to assign new MI majors
in MI file.

Range 0-191 is reserved for machine-specific assignments, range
192+ are MI assignments.

Follows recent discussion on tech-kern@
 1.3 22-Aug-2003  itojun create /dev/crypto
 1.2 27-Jul-2003  itojun reserve cdev major # for PF. ok'ed by technical-exec
 1.1 26-Apr-2003  fvdl branches: 1.1.2;
Rename the x86_64 port to amd64, as this is the actual name used for
the processor family now. x86_64 is kept as the MACHINE_ARCH value,
since it's already widely used (by e.g. the toolchain, etc), and
by other operating systems.
 1.1.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.1 03-Aug-2004  skrll Sync with HEAD
 1.11.16.5 21-Jan-2008  yamt sync with head
 1.11.16.4 07-Dec-2007  yamt sync with head
 1.11.16.3 26-Feb-2007  yamt sync with head.
 1.11.16.2 30-Dec-2006  yamt sync with head.
 1.11.16.1 21-Jun-2006  yamt sync with head.
 1.15.22.1 10-Dec-2006  yamt sync with head.
 1.15.20.1 12-Jan-2007  ad Sync with head.
 1.17.30.2 18-Feb-2008  mjf Sync with HEAD.
 1.17.30.1 08-Dec-2007  mjf Sync with HEAD.
 1.17.28.1 17-Oct-2007  bouyer amd64 (aka x86-64) support for Xen. Based on the OpenBSD port done by
Mathieu Ropert in 2006.
DomU-only for now. An INSTALL_XEN3_DOMU kernel with a ramdisk will boot to
sysinst if you're lucky. Often it panics because a runable LWP has
a NULL stack (really, it's all of l->l_addr which is has been zeroed out
while the process was on the queue !)
TODO:
- bug fixes :)
- Most of the xpq_* functions should be shared with xen/i386
- The xen/i386 assembly bootstrap code should be remplaced with the C
version in xenamd64/amd64/xpmap.c
- see if a config(5) trick could allow to merge xenamd64 back to xen or amd64.
 1.17.24.1 09-Jan-2008  matt sync with HEAD
 1.17.22.1 27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.17.6.2 03-Dec-2007  ad Sync with HEAD.
 1.17.6.1 03-Dec-2007  ad Sync with HEAD.
 1.18.6.1 02-Jan-2008  bouyer Sync with HEAD
 1.19.16.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.19.16.1 19-Oct-2008  haad Sync with HEAD.
 1.19.14.1 18-Jul-2008  simonb Sync with head.
 1.19.12.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.19.10.1 04-May-2009  yamt sync with head.
 1.19.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.19.6.1 28-Sep-2008  mjf Sync with HEAD.
 1.20.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.21.6.2 27-Oct-2010  uebayasi Move flash(4)/xmd(4) majors to MI, as suggested by Chuck Silvers.
 1.21.6.1 27-Aug-2010  uebayasi xmd(4) / XIP config for amd64.
 1.21.4.3 27-Aug-2011  jym Sync with HEAD. Most notably: uvm/pmap work done by rmind@, and MP Xen
work of cherry@.

No regression observed on suspend/restore.
 1.21.4.2 29-Mar-2011  jym More sync fixes. And add the mbr_gpt files.
 1.21.4.1 24-Oct-2010  jym Sync with HEAD
 1.24.30.2 05-Feb-2017  skrll Sync with HEAD
 1.24.30.1 06-Jun-2015  skrll Sync with HEAD
 1.24.12.1 03-Dec-2017  jdolecek update from HEAD
 1.25.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.25.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.27.16.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.27.16.1 10-Jun-2019  christos Sync with HEAD
 1.27.14.2 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.27.14.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.32.6.1 29-Feb-2020  ad Sync with head.
 1.34.8.1 01-Aug-2021  thorpej Sync with HEAD.
 1.13 05-May-2023  manu Add a SELFRELOC kernel option for the sake of documentation clarity.

Instead of telling that x86/boot(8) reloc command needs a kernel able
to self relocate, we can tell it needs a kernel built with the
SELFRELOC option. This keeps the reader from wondering what could
make a kernel able to self relocate.
 1.12 25-Apr-2020  bouyer branches: 1.12.20;
Merge the bouyer-xenpvh branch, bringing in Xen PV drivers support under HVM
guests in GENERIC.
Xen support can be disabled at runtime with
boot -c
disable hypervisor
 1.11 12-Jan-2017  ryo branches: 1.11.20; 1.11.26;
white space police
 1.10 07-May-2015  mrg branches: 1.10.2;
bump CHILD_MAX and OPEN_MAX defaults on several platforms, both to 1024.
 1.9 27-Sep-2012  alnsn branches: 1.9.12; 1.9.14;
Remove bpf_jit which was ported from FreeBSD recently.

It will soon be replaced with the new bpfjit kernel module.
 1.8 01-Aug-2012  rmind branches: 1.8.2;
Add BPF JIT compiler, currently supporting amd64 and i386. Code obtained
from FreeBSD. Also, make few BPF fixes and simplifications while here.
Note that bpf_jit_enable is false for now.

OK dyoung@, some feedback from matt@
 1.7 11-Dec-2008  alc Import config(9) file and register HAL's files in the build machinery.
 1.6 30-Apr-2008  ad branches: 1.6.6; 1.6.8; 1.6.10; 1.6.16;
Shuffle ioapic/mainbus/cpu into std.amd64 like i386.
 1.5 29-Apr-2008  ad Require MULTIPROCESSOR. PR kern/38537.
 1.4 25-Jan-2008  joerg branches: 1.4.6; 1.4.8; 1.4.10;
Refactor in_cksum/in4_cksum/in6_cksum implementations:
- All three functions are included in the kernel by default.
They call a backend function cpu_in_cksum after possibly
computing the checksum of the pseudo header.
- cpu_in_cksum is the core to implement the one-complement sum.
The default implementation is moderate fast on most platforms
and provides a 32bit accumulator with 16bit addends for L32 platforms
and a 64bit accumulator with 32bit addends for L64 platforms.
It handles edge cases like very large mbuf chains (could happen with
native IPv6 in the future) and provides a good base for new native
implementations.
- Modify i386 and amd64 assembly to use the new interface.

This disables the MD implementations on !x86 until the conversion is
done. For Alpha, the portable version is faster.
 1.3 11-Dec-2005  christos branches: 1.3.50; 1.3.56;
merge ktrace-lwp.
 1.2 17-Sep-2005  yamt include "conf/std".
 1.1 26-Apr-2003  fvdl branches: 1.1.2; 1.1.18;
Rename the x86_64 port to amd64, as this is the actual name used for
the processor family now. x86_64 is kept as the MACHINE_ARCH value,
since it's already widely used (by e.g. the toolchain, etc), and
by other operating systems.
 1.1.18.2 04-Feb-2008  yamt sync with head.
 1.1.18.1 21-Jun-2006  yamt sync with head.
 1.1.2.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.56.1 18-Feb-2008  mjf Sync with HEAD.
 1.3.50.1 23-Mar-2008  matt sync with HEAD
 1.4.10.2 04-May-2009  yamt sync with head.
 1.4.10.1 16-May-2008  yamt sync with head.
 1.4.8.1 18-May-2008  yamt sync with head.
 1.4.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.4.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.6.16.1 21-Apr-2010  matt sync to netbsd-5
 1.6.10.1 07-Aug-2009  snj Apply patch (requested by jmcneill in ticket 775):
Update to the open source atheros HAL.
 1.6.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.6.6.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.8.2.2 03-Dec-2017  jdolecek update from HEAD
 1.8.2.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.9.14.2 05-Feb-2017  skrll Sync with HEAD
 1.9.14.1 06-Jun-2015  skrll Sync with HEAD
 1.9.12.1 09-May-2015  snj Pull up following revision(s) (requested by mrg in ticket #741):
sys/arch/aarch64/conf/std.aarch64: revision 1.2
sys/arch/amd64/conf/std.amd64: revision 1.10
sys/arch/evbarm/conf/std.evbarm: revision 1.4
sys/arch/evbarm64/conf/std.evbarm64: revision 1.2
sys/arch/i386/conf/std.i386: revision 1.34
sys/arch/sparc64/conf/std.sparc64: revision 1.19
bump CHILD_MAX and OPEN_MAX defaults on several platforms, both to 1024.
 1.10.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.11.26.2 20-Apr-2020  bouyer Use std.xenversion
 1.11.26.1 16-Apr-2020  bouyer Reorganise sources to make it possible to include Xen PVHVM support in
native kernels. Among others:
- move xen/include/amd64/hypercall.h to amd64/include/xen and
xen/include/i386/hypercall.h to i386/include/xen
- exclude some native files from the build for xenpv
- add xen to "machine" config statement for amd64 and i386
- split arch/xen/conf/files.xen to arch/xen/conf/files.xen (for pv drivers)
and arch/xen/conf/files.xen.pv (for full pv support)
- add GENERIC_XENHVM kernel config which includes GENERIC and add Xen PV
drivers.
 1.11.20.1 13-May-2023  martin Pull up following revision(s) (requested by manu in ticket #1632):

share/man/man8/man8.x86/boot.8: revision 1.27
sys/arch/i386/stand/efiboot/version: revision 1.3
share/man/man8/man8.x86/boot.8: revision 1.28 (via patch)
share/man/man8/man8.x86/boot.8: revision 1.29 (via patch)
sys/arch/i386/stand/lib/exec.c: revision 1.79
sys/arch/i386/stand/efiboot/efiboot.c: revision 1.13
sys/arch/i386/stand/efiboot/bootx64/efibootx64.c: revision 1.6
sys/arch/i386/stand/efiboot/bootia32/efibootia32.c: revision 1.6
sys/arch/i386/stand/efiboot/boot.c: revision 1.22
sys/arch/amd64/amd64/locore.S: revision 1.219
sys/arch/i386/stand/efiboot/bootia32/startprog32.S: revision 1.3
sys/arch/i386/stand/efiboot/efiboot.h: revision 1.12
sys/arch/amd64/conf/files.amd64: revision 1.121
sys/arch/amd64/conf/std.amd64: revision 1.13
share/man/man8/man8.x86/pxeboot.8: revision 1.6
sys/arch/i386/stand/efiboot/bootx64/startprog64.S: revision 1.4
sys/arch/amd64/amd64/locore.S: revision 1.220
share/man/man8/man8.x86/dosboot.8: revision 1.4
share/man/man4/options.4: revision 1.524

Add reloc keyworkd to let EFI bootstrap load amd64 kernel at any address

EFI bootstrap assumes it can copy the amd64 kernel to its ELF load
address (that is KERNTEXTOFF - KERNBASE = 0x200000), but it can
clash with previous UEFI memory allocation, as described here:
http://mail-index.netbsd.org/tech-kern/2023/04/07/msg028833.html

This change adds a reloc keyword for controling where the EFI
boostrap will copy the kernel image. Possible values are:
default - the default and prior behavior, copy at 0x200000.
none - do not copy and use the kernel image where it was loaded.
address - specify an explicit address where to copy the kernel.

This comes with an amd64 kernel patch that makes it self-relocatable.
It first discover where it was loaded in memory, and if this is
different than the expected 0x200000, hhe the kernel relocates
itself and start over at the right address.

Merge x86 boot options in x86/boot(8) and add undocumented UEFI options

We were supposed to keep the option list in x86/boot(8), x86/dosoot(8)
and x86/pxeboot(8) in sync, but it did not happen, hence it may work
better with all the options in x86/boot(8). Also add the undocumented
UEFI boot options.

Add a SELFRELOC kernel option for the sake of documentation clarity.
Instead of telling that x86/boot(8) reloc command needs a kernel able
to self relocate, we can tell it needs a kernel built with the
SELFRELOC option. This keeps the reader from wondering what could
make a kernel able to self relocate.

Remove XXX todo marker left by mistake

Raise the version for new feature (here reloc command)
Suggested by Masanobu SAITOH
 1.12.20.1 13-May-2023  martin Pull up following revision(s) (requested by manu in ticket #159):

share/man/man8/man8.x86/boot.8: revision 1.27
sys/arch/i386/stand/efiboot/version: revision 1.3
share/man/man8/man8.x86/boot.8: revision 1.28
share/man/man8/man8.x86/boot.8: revision 1.29
sys/arch/i386/stand/lib/exec.c: revision 1.79
sys/arch/i386/stand/efiboot/efiboot.c: revision 1.13
sys/arch/i386/stand/efiboot/bootx64/efibootx64.c: revision 1.6
sys/arch/i386/stand/efiboot/bootia32/efibootia32.c: revision 1.6
sys/arch/i386/stand/efiboot/boot.c: revision 1.22
sys/arch/amd64/amd64/locore.S: revision 1.219
sys/arch/i386/stand/efiboot/bootia32/startprog32.S: revision 1.3
sys/arch/i386/stand/efiboot/efiboot.h: revision 1.12
sys/arch/amd64/conf/files.amd64: revision 1.121
sys/arch/amd64/conf/std.amd64: revision 1.13
share/man/man8/man8.x86/pxeboot.8: revision 1.6
sys/arch/i386/stand/efiboot/bootx64/startprog64.S: revision 1.4
sys/arch/amd64/amd64/locore.S: revision 1.220
share/man/man8/man8.x86/dosboot.8: revision 1.4
share/man/man4/options.4: revision 1.524

Add reloc keyworkd to let EFI bootstrap load amd64 kernel at any address

EFI bootstrap assumes it can copy the amd64 kernel to its ELF load
address (that is KERNTEXTOFF - KERNBASE = 0x200000), but it can
clash with previous UEFI memory allocation, as described here:
http://mail-index.netbsd.org/tech-kern/2023/04/07/msg028833.html

This change adds a reloc keyword for controling where the EFI
boostrap will copy the kernel image. Possible values are:
default - the default and prior behavior, copy at 0x200000.
none - do not copy and use the kernel image where it was loaded.
address - specify an explicit address where to copy the kernel.

This comes with an amd64 kernel patch that makes it self-relocatable.
It first discover where it was loaded in memory, and if this is
different than the expected 0x200000, hhe the kernel relocates
itself and start over at the right address.


Merge x86 boot options in x86/boot(8) and add undocumented UEFI options

We were supposed to keep the option list in x86/boot(8), x86/dosoot(8)
and x86/pxeboot(8) in sync, but it did not happen, hence it may work
better with all the options in x86/boot(8). Also add the undocumented
UEFI boot options.


Add a SELFRELOC kernel option for the sake of documentation clarity.
Instead of telling that x86/boot(8) reloc command needs a kernel able
to self relocate, we can tell it needs a kernel built with the
SELFRELOC option. This keeps the reader from wondering what could
make a kernel able to self relocate.

Remove XXX todo marker left by mistake

Raise the version for new feature (here reloc command)
Suggested by Masanobu SAITOH
 1.14 04-Mar-2021  gdt std.xen: Move towards std.amd64

(No functional change.)
 1.13 25-Apr-2020  bouyer branches: 1.13.2;
Merge the bouyer-xenpvh branch, bringing in Xen PV drivers support under HVM
guests in GENERIC.
Xen support can be disabled at runtime with
boot -c
disable hypervisor
 1.12 09-Apr-2020  jdolecek move xen/conf/std.xen to i386/conf/std.xen, it's i386-specific

split off __XEN_INTERFACE_VERSION__ to new xen/conf/std.xenversion
and use from both i386/conf/std.xen and amd64/conf/stf.xen, so that
there is single place for the definition
 1.11 04-Feb-2019  cherry branches: 1.11.10;
Bump up XEN source API compatibility to 0x00030208 from 0x00030201,

but maintain backwards source API compilation compatibility.

ie; sources with config(5)
options __XEN_INTERFACE_VERSION__=0x00030201 # Xen 3.1 interface

should compile and run without problems.

Not that API version 0x00030201 is the lowest version we support now.
 1.10 02-Feb-2019  cherry Switch NetBSD/xen to use XEN api tag RELEASE-4.11.1

The headers for this api are in sys/external/mit/xen-include-public/dist/
 1.9 12-Jan-2017  ryo branches: 1.9.16;
white space police
 1.8 23-Sep-2016  joerg Use the same process and file limits as normal AND64 for Xen kernels.
 1.7 11-Oct-2014  uebayasi branches: 1.7.2; 1.7.4;
Don't include std.ath_hal for XEN3_DOMU.
 1.6 29-Jul-2009  cegger branches: 1.6.10; 1.6.22; 1.6.38; 1.6.40; 1.6.42;
remove Xen2 support.
ok bouyer@
 1.5 11-Dec-2008  alc branches: 1.5.2;
Import config(9) file and register HAL's files in the build machinery.
 1.4 13-Nov-2008  cegger prepare move to new interface
 1.3 25-Jan-2008  joerg branches: 1.3.6; 1.3.10; 1.3.16; 1.3.18; 1.3.20; 1.3.24;
Refactor in_cksum/in4_cksum/in6_cksum implementations:
- All three functions are included in the kernel by default.
They call a backend function cpu_in_cksum after possibly
computing the checksum of the pseudo header.
- cpu_in_cksum is the core to implement the one-complement sum.
The default implementation is moderate fast on most platforms
and provides a 32bit accumulator with 16bit addends for L32 platforms
and a 64bit accumulator with 32bit addends for L64 platforms.
It handles edge cases like very large mbuf chains (could happen with
native IPv6 in the future) and provides a good base for new native
implementations.
- Modify i386 and amd64 assembly to use the new interface.

This disables the MD implementations on !x86 until the conversion is
done. For Alpha, the portable version is faster.
 1.2 22-Nov-2007  bouyer branches: 1.2.2; 1.2.4; 1.2.8; 1.2.10; 1.2.18;
Pull up the bouyer-xenamd64 branch to HEAD. This brings in amd64 support
to NetBSD/Xen, both Dom0 and DomU.
 1.1 19-Nov-2007  bouyer branches: 1.1.2;
file std.xen was initially added on branch bouyer-xenamd64.
 1.1.2.1 19-Nov-2007  bouyer Get rid of arch/xenamd64, step 1: empty xenamd64/conf
- move xenamd64/conf/std.xen to amd64/conf/
- define arch to amd64 amd64/conf/std.xen, and i386 in xen/conf/std.xen
(machine is xen)
- enclose content of amd64/conf/files.amd64 and i386/conf/files.i386 in
ifndef xen/endif, so it can be transparently inclued for xen kernels
- support MACHINE_ARCH=x86_64 in xen/conf/Makefile*
 1.2.18.3 23-Mar-2008  matt sync with HEAD
 1.2.18.2 09-Jan-2008  matt sync with HEAD
 1.2.18.1 22-Nov-2007  matt file std.xen was added on branch matt-armv6 on 2008-01-09 01:44:52 +0000
 1.2.10.3 18-Feb-2008  mjf Sync with HEAD.
 1.2.10.2 08-Dec-2007  mjf Sync with HEAD.
 1.2.10.1 22-Nov-2007  mjf file std.xen was added on branch mjf-devfs on 2007-12-08 18:16:28 +0000
 1.2.8.3 04-Feb-2008  yamt sync with head.
 1.2.8.2 07-Dec-2007  yamt sync with head
 1.2.8.1 22-Nov-2007  yamt file std.xen was added on branch yamt-lazymbuf on 2007-12-07 17:24:03 +0000
 1.2.4.2 03-Dec-2007  ad Sync with HEAD.
 1.2.4.1 22-Nov-2007  ad file std.xen was added on branch vmlocking on 2007-12-03 19:02:48 +0000
 1.2.2.2 27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.2.2.1 22-Nov-2007  joerg file std.xen was added on branch jmcneill-pm on 2007-11-27 19:35:32 +0000
 1.3.24.1 21-Apr-2010  matt sync to netbsd-5
 1.3.20.1 07-Aug-2009  snj Apply patch (requested by jmcneill in ticket 775):
Update to the open source atheros HAL.
 1.3.18.1 19-Jan-2009  skrll Sync with HEAD.
 1.3.16.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.3.10.2 19-Aug-2009  yamt sync with head.
 1.3.10.1 04-May-2009  yamt sync with head.
 1.3.6.1 17-Jan-2009  mjf Sync with HEAD.
 1.5.2.2 29-Mar-2011  jym More sync fixes. And add the mbr_gpt files.
 1.5.2.1 01-Nov-2009  jym Sync with HEAD.
 1.6.42.1 18-Jan-2017  skrll Sync with netbsd-5
 1.6.40.1 01-Nov-2016  snj Pull up following revision(s) (requested by joerg in ticket #1258):
sys/arch/amd64/conf/std.xen: revision 1.8
sys/arch/xen/conf/std.xen: revision 1.8
Use the same process and file limits as normal AND64 for Xen kernels.
Given Xen/i386 the same process and file limit as native i386.
 1.6.38.1 01-Nov-2016  snj Pull up following revision(s) (requested by joerg in ticket #1258):
sys/arch/amd64/conf/std.xen: revision 1.8
sys/arch/xen/conf/std.xen: revision 1.8
Use the same process and file limits as normal AND64 for Xen kernels.
Given Xen/i386 the same process and file limit as native i386.
 1.6.22.1 03-Dec-2017  jdolecek update from HEAD
 1.6.10.1 03-Jun-2011  cherry Initial import of xen MP sources, with kernel and userspace tests.
- this is a source priview.
- boots to single user.
- spurious interrupt and pmap related panics are normal
 1.7.4.2 20-Mar-2017  pgoyette Sync with HEAD
 1.7.4.1 04-Nov-2016  pgoyette Sync with HEAD
 1.7.2.2 05-Feb-2017  skrll Sync with HEAD
 1.7.2.1 05-Oct-2016  skrll Sync with HEAD
 1.9.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.9.16.1 10-Jun-2019  christos Sync with HEAD
 1.11.10.2 20-Apr-2020  bouyer Sync with HEAD
 1.11.10.1 16-Apr-2020  bouyer Reorganise sources to make it possible to include Xen PVHVM support in
native kernels. Among others:
- move xen/include/amd64/hypercall.h to amd64/include/xen and
xen/include/i386/hypercall.h to i386/include/xen
- exclude some native files from the build for xenpv
- add xen to "machine" config statement for amd64 and i386
- split arch/xen/conf/files.xen to arch/xen/conf/files.xen (for pv drivers)
and arch/xen/conf/files.xen.pv (for full pv support)
- add GENERIC_XENHVM kernel config which includes GENERIC and add Xen PV
drivers.
 1.13.2.1 03-Apr-2021  thorpej Sync with HEAD.

RSS XML Feed