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.
This is what the linux driver does, and makes the DGE-550T work without the
STGE_CU_BUG hack. So remove the STGE_CU_BUG hack.
Set bit 0x0020 in STGE_DebugCtrl too, the linux driver does it (the comments
note this as a workaround, without more details. This doesn't seem to make
things worse).
Also initialize STGE_RxDMABurstThresh and STGE_RxDMAUrgentThresh, using
values from the linux driver.
Approved by Jason Thorpe.
for xen_microtime(). This match more closely what is done on a real i386
(where we read the RTC), and seems to fix gettimeofday() sometime going
backward by several seconds for me.
while capable of UDMA mode 2, is swamped if you actually go that
fast, which is not good for the other functions on this multifunction
southbridge chip, so limit UDMA to mode 1.
net80211. It was especially important to zero the IEEE80211_F_DROPUNENC
(discard unencrypted packets) flag in operating modes where the
firmware decrypts for us. Otherwise, the 802.11 layer discarded
all received frames. See wi_mend_flags. From FreeBSD, with
improvements by me.
For better compliance with the "net80211 way":
set sc_cnfauthmode from ic->ic_bss->ni_authmode. Enter
the RUN state through ieee80211_create_ibss instead of
ieee80211_new_state(IEEE80211_S_RUN). To sync BSSID in ad hoc
mode, use ieee80211_sta_join() instead of
ieee80211_new_state(IEEE80211_S_RUN). From FreeBSD.
Configure the firmware to obey IEEE80211_F_DROPUNENC.
As we change to state RUN in STA mode, generate a link-status
message on the routing socket with a call to ieee80211_notify_node_join()
instead of calling rt_ifmsg directly.
Run normal net80211 processing (ieee80211_newstate) on the ->RUN
transition.
- use the code field directly, instead of redoing the logic.
- XXX: the status field must be wrong. I think that the _WSTATUS()
should not be used directly.
'pa + size' == 0x0. As in, if we're passed details of a region right at
the top of physical address space.
Otherwise we'll likely hit a false-positive due to 32-bit wrap-around.