Use the opt_ah.h for the provided HAL to get options like AH_REGOPS_FUNC.
Add AH_REGOPS_FUNC to a few opt_ah.h that don't have it in this version
of the HAL but need it. (The next version from Sam should have this fixed
in it. If it doesn't, then we'll have to take care at import time.)
Ultimately, this should make future imports even easier, and individual ports
should not have to worry about whether AH_REGOPS_FUNC is properly defined or
not, since the opt_ah.h will just take care of it automatically.
Ok'd by dyoung@.
can automatically use the AH_XXX options that the HAL was built, without
requiring additional machine-specific configuration.
A follow up commit will activate this change.
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.
including easy override mechanism for ports that need it.
To use this, just .include this file instead of listing explicit rules
for building the target. A change to std/conf/files will be made shortly
that lists /athhal.o as an object if "ath" is defined.
If you need to override the default HAL selected for some reason (for example
to use an xscale version of the HAL on evbarm kernels that support it), add
a "makeoptions ATH_MACHINE_HAL=<hal>", for example to select the XScale
LE configuration you could use "makeoptions ATH_MACHINE_HAL=xscale-le-elf".
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.
sam@ and various open source repositories:
ath(4):
Ignore "phantom" beacon misses: should stabilize connections
to access points (no more ceaseless link-UP/DOWN indications).
Also, re-synchronize beacon timer using the TSF in the
first beacon received after joining a BSS---this should
also help suppress spurious beacon misses. I am hopeful
that this will help ath(4) lossage reported by perry@ and
smb@.
Add new configuration through sysctl.
Use a shorter calibration interval until IQ calibration
finishes.
Report antenna noise through radiotap.
Rudiments of Radar Detection / Dynamic Frequency Selection.
Update to HAL version 0.9.16.13.
Update open sources for changes to the HAL API.
Add HALs for additional architectures: add big-endian ELF
HALs for sparc64 and for PowerPC. Also add a Alpha HAL.
These new HALs are untested under NetBSD.
ath(4) + net80211:
Make the multicast transmit rate configurable by ioctl.
Miscellaneous bug fixes.
or pointer type. So on sparc64 (and maybe others too?) where
bus_space_handle_t is a struct, pass the address of the bus_space_handle_t
and adjust the register access functions accordingly.
While there, slightly optimize the bus_space_* usage in the register
access functions and macros.
byte-order, but FreeBSD's does not. ath(4) expects the FreeBSD
convention. Meet ath(4)'s expectations, use
bus_space_{read,write}_stream_4, instead.
Now, the HAL seems to work on macppc.
Stop including dev/pci/files.ath in arch/i386/conf/files.i386,
since we get the same definitions by including dev/pci/files.pci,
now. Remove dev/pci/files.ath.
Add arch/macppc/conf/Makefile.macppc with directives for linking
the Atheros HAL for PowerPC.
In athhal-powerpc-be-eabi.opt_ah.h, #define AH_REGOPS_FUNC 1, since
otherwise the linker complains that the PowerPC HAL cannot link
with register-read/write subroutines.
Add ath(4) to the GENERIC macppc kernel configuration; comment it
out.