Version 0.9.14.12:

[Changes listed only since last public release 0.9.12.14; for changes
 prior to that consult the CVS logs at http://madwifi.sourceforge.net]

o reorg directory structure to have a single set of public binary builds
  shared by all systems
o support for new parts (all shipping pci/cardbus parts to this date work)
o new capabilities for identifying various chip features
o set/get tx power cap for supporting 802.11h information element
o revised api for set/get tx queue properties
o support for updating CTS in frames when doing packet bursting
o support for querying which tx queues have pending interrupts
This commit is contained in:
Sam Leffler 2004-12-08 18:06:09 +00:00
parent 586a7cc9c2
commit 31801f0d36
57 changed files with 74806 additions and 138 deletions

View File

@ -4,7 +4,7 @@ copyright does _NOT_ contain a "or GPL" clause and does _NOT_ permit
redistribution with changes. redistribution with changes.
/*- /*-
* Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting, Atheros * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting, Atheros
* Communications, Inc. All rights reserved. * Communications, Inc. All rights reserved.
* *
* Redistribution and use in source and binary forms are permitted * Redistribution and use in source and binary forms are permitted
@ -38,5 +38,5 @@ redistribution with changes.
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGES. * SUCH DAMAGES.
* *
* $Id: COPYRIGHT,v 1.2 2003/06/25 04:50:21 sam Exp $ * $Id: COPYRIGHT,v 1.3 2004/01/07 23:09:27 sam Exp $
*/ */

View File

@ -1,4 +1,4 @@
$Id: README,v 1.2 2003/07/02 01:55:27 sam Exp $ $Id: README,v 1.3 2004/01/07 23:09:27 sam Exp $
WARNING: THIS IS A BETA DISTRIBUTION. THIS SOFTWARE HAS KNOWN PROBLEMS AND WARNING: THIS IS A BETA DISTRIBUTION. THIS SOFTWARE HAS KNOWN PROBLEMS AND
@ -9,8 +9,8 @@ WARNING: USE AT YOUR OWN RISK!
Atheros Hardware Access Layer (HAL) Atheros Hardware Access Layer (HAL)
=================================== ===================================
* Copyright (c) 2002, 2003 Sam Leffler. * Copyright (c) 2002-2004 Sam Leffler.
* Copyright (c) 2002, 2003 Atheros Communications, Inc. * Copyright (c) 2002-2004 Atheros Communications, Inc.
* All rights reserved. * All rights reserved.
Read the file COPYRIGHT for the complete copyright. Read the file COPYRIGHT for the complete copyright.

View File

@ -1,5 +1,5 @@
/*- /*-
* Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting, Atheros * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting, Atheros
* Communications, Inc. All rights reserved. * Communications, Inc. All rights reserved.
* *
* Redistribution and use in source and binary forms are permitted * Redistribution and use in source and binary forms are permitted
@ -33,7 +33,7 @@
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGES. * SUCH DAMAGES.
* *
* $Id: ah.h,v 1.45 2003/12/06 22:58:09 sam Exp $ * $Id: ah.h,v 1.82 2004/11/30 00:31:42 sam Exp $
*/ */
#ifndef _ATH_AH_H_ #ifndef _ATH_AH_H_
@ -48,6 +48,17 @@
*/ */
#include "ah_osdep.h" #include "ah_osdep.h"
/*
* __ahdecl is analogous to _cdecl; it defines the calling
* convention used within the HAL. For most systems this
* can just default to be empty and the compiler will (should)
* use _cdecl. For systems where _cdecl is not compatible this
* must be defined. See linux/ah_osdep.h for an example.
*/
#ifndef __ahdecl
#define __ahdecl
#endif
/* /*
* Status codes that may be returned by the HAL. Note that * Status codes that may be returned by the HAL. Note that
* interfaces that return a status code set it only when an * interfaces that return a status code set it only when an
@ -77,6 +88,25 @@ typedef enum {
AH_TRUE = 1, AH_TRUE = 1,
} HAL_BOOL; } HAL_BOOL;
typedef enum {
HAL_CAP_REG_DMN = 0, /* current regulatory domain */
HAL_CAP_CIPHER = 1, /* hardware supports cipher */
HAL_CAP_TKIP_MIC = 2, /* handle TKIP MIC in hardware */
HAL_CAP_TKIP_SPLIT = 3, /* hardware TKIP uses split keys */
HAL_CAP_PHYCOUNTERS = 4, /* hardware PHY error counters */
HAL_CAP_DIVERSITY = 5, /* hardware supports fast diversity */
HAL_CAP_KEYCACHE_SIZE = 6, /* number of entries in key cache */
HAL_CAP_NUM_TXQUEUES = 7, /* number of hardware xmit queues */
HAL_CAP_VEOL = 9, /* hardware supports virtual EOL */
HAL_CAP_PSPOLL = 10, /* hardware has working PS-Poll support */
HAL_CAP_DIAG = 11, /* hardware diagnostic support */
HAL_CAP_COMPRESSION = 12, /* hardware supports compression */
HAL_CAP_BURST = 13, /* hardware supports packet bursting */
HAL_CAP_FASTFRAME = 14, /* hardware supoprts fast frames */
HAL_CAP_TXPOW = 15, /* global tx power limit */
HAL_CAP_TPC = 16, /* per-packet tx power control */
} HAL_CAPABILITY_TYPE;
/* /*
* "States" for setting the LED. These correspond to * "States" for setting the LED. These correspond to
* the possible 802.11 operational states and there may * the possible 802.11 operational states and there may
@ -107,6 +137,56 @@ typedef enum {
#define HAL_NUM_TX_QUEUES 10 /* max possible # of queues */ #define HAL_NUM_TX_QUEUES 10 /* max possible # of queues */
/*
* Transmit queue subtype. These map directly to
* WME Access Categories (except for UPSD). Refer
* to Table 5 of the WME spec.
*/
typedef enum {
HAL_WME_AC_BK = 0, /* background access category */
HAL_WME_AC_BE = 1, /* best effort access category*/
HAL_WME_AC_VI = 2, /* video access category */
HAL_WME_AC_VO = 3, /* voice access category */
HAL_WME_UPSD = 4, /* uplink power save */
} HAL_TX_QUEUE_SUBTYPE;
/*
* Transmit queue flags that control various
* operational parameters.
*/
typedef enum {
TXQ_FLAG_TXOKINT_ENABLE = 0x0001, /* enable TXOK interrupt */
TXQ_FLAG_TXERRINT_ENABLE = 0x0001, /* enable TXERR interrupt */
TXQ_FLAG_TXDESCINT_ENABLE = 0x0002, /* enable TXDESC interrupt */
TXQ_FLAG_TXEOLINT_ENABLE = 0x0004, /* enable TXEOL interrupt */
TXQ_FLAG_TXURNINT_ENABLE = 0x0008, /* enable TXURN interrupt */
TXQ_FLAG_BACKOFF_DISABLE = 0x0010, /* disable Post Backoff */
TXQ_FLAG_COMPRESSION_ENABLE = 0x0020, /* compression enabled */
TXQ_FLAG_RDYTIME_EXP_POLICY_ENABLE = 0x0040, /* enable ready time
expiry policy */
TXQ_FLAG_FRAG_BURST_BACKOFF_ENABLE = 0x0080, /* enable backoff while
sending fragment burst*/
} HAL_TX_QUEUE_FLAGS;
typedef struct {
u_int32_t tqi_ver; /* hal TXQ version */
HAL_TX_QUEUE_SUBTYPE tqi_subtype; /* subtype if applicable */
HAL_TX_QUEUE_FLAGS tqi_qflags; /* flags (see above) */
u_int32_t tqi_priority; /* (not used) */
u_int32_t tqi_aifs; /* aifs */
u_int32_t tqi_cwmin; /* cwMin */
u_int32_t tqi_cwmax; /* cwMax */
u_int16_t tqi_shretry; /* rts retry limit */
u_int16_t tqi_lgretry; /* long retry limit (not used)*/
u_int32_t tqi_cbrPeriod;
u_int32_t tqi_cbrOverflowLimit;
u_int32_t tqi_burstTime;
u_int32_t tqi_readyTime;
} HAL_TXQ_INFO;
/* token to use for aifs, cwmin, cwmax */
#define HAL_TXQ_USEDEFAULT ((u_int32_t) -1)
/* /*
* Transmit packet types. This belongs in ah_desc.h, but * Transmit packet types. This belongs in ah_desc.h, but
* is here so we can give a proper type to various parameters * is here so we can give a proper type to various parameters
@ -212,6 +292,9 @@ typedef struct {
#define CHANNEL_5GHZ 0x0100 /* 5 GHz spectrum channel */ #define CHANNEL_5GHZ 0x0100 /* 5 GHz spectrum channel */
#define CHANNEL_PASSIVE 0x0200 /* Only passive scan allowed in the channel */ #define CHANNEL_PASSIVE 0x0200 /* Only passive scan allowed in the channel */
#define CHANNEL_DYN 0x0400 /* dynamic CCK-OFDM channel */ #define CHANNEL_DYN 0x0400 /* dynamic CCK-OFDM channel */
#define CHANNEL_XR 0x0800 /* XR channel */
#define CHANNEL_AR 0x8000 /* Software use: radar detected */
#define CHANNEL_A (CHANNEL_5GHZ|CHANNEL_OFDM) #define CHANNEL_A (CHANNEL_5GHZ|CHANNEL_OFDM)
#define CHANNEL_B (CHANNEL_2GHZ|CHANNEL_CCK) #define CHANNEL_B (CHANNEL_2GHZ|CHANNEL_CCK)
@ -222,6 +305,8 @@ typedef struct {
#define CHANNEL_G (CHANNEL_2GHZ|CHANNEL_OFDM) #define CHANNEL_G (CHANNEL_2GHZ|CHANNEL_OFDM)
#endif #endif
#define CHANNEL_T (CHANNEL_5GHZ|CHANNEL_OFDM|CHANNEL_TURBO) #define CHANNEL_T (CHANNEL_5GHZ|CHANNEL_OFDM|CHANNEL_TURBO)
#define CHANNEL_108G (CHANNEL_2GHZ|CHANNEL_OFDM|CHANNEL_TURBO)
#define CHANNEL_X (CHANNEL_5GHZ|CHANNEL_OFDM|CHANNEL_XR)
#define CHANNEL_ALL \ #define CHANNEL_ALL \
(CHANNEL_OFDM|CHANNEL_CCK|CHANNEL_5GHZ|CHANNEL_2GHZ|CHANNEL_TURBO) (CHANNEL_OFDM|CHANNEL_CCK|CHANNEL_5GHZ|CHANNEL_2GHZ|CHANNEL_TURBO)
#define CHANNEL_ALL_NOTURBO (CHANNEL_ALL &~ CHANNEL_TURBO) #define CHANNEL_ALL_NOTURBO (CHANNEL_ALL &~ CHANNEL_TURBO)
@ -252,11 +337,12 @@ enum {
#else #else
HAL_MODE_11G = 0x008, HAL_MODE_11G = 0x008,
#endif #endif
HAL_MODE_108G = 0x020,
HAL_MODE_ALL = 0xfff HAL_MODE_ALL = 0xfff
}; };
typedef struct { typedef struct {
u_int16_t rateCount; int rateCount; /* NB: for proper padding */
u_int8_t rateCodeToIndex[32]; /* back mapping */ u_int8_t rateCodeToIndex[32]; /* back mapping */
struct { struct {
u_int8_t valid; /* valid for rate control use */ u_int8_t valid; /* valid for rate control use */
@ -269,6 +355,8 @@ typedef struct {
* info element of MLME */ * info element of MLME */
u_int8_t controlRate; /* index of next lower basic u_int8_t controlRate; /* index of next lower basic
* rate; used for dur. calcs */ * rate; used for dur. calcs */
u_int16_t lpAckDuration; /* long preamble ACK duration */
u_int16_t spAckDuration; /* short preamble ACK duration*/
} info[32]; } info[32];
} HAL_RATE_TABLE; } HAL_RATE_TABLE;
@ -291,14 +379,22 @@ typedef enum {
} HAL_OPMODE; } HAL_OPMODE;
typedef struct { typedef struct {
int wk_len; u_int8_t kv_type; /* one of HAL_CIPHER */
u_int8_t wk_key[16]; /* XXX big enough for WEP */ u_int8_t kv_pad;
u_int16_t kv_len; /* length in bits */
u_int8_t kv_val[16]; /* enough for 128-bit keys */
u_int8_t kv_mic[8]; /* TKIP MIC key */
} HAL_KEYVAL; } HAL_KEYVAL;
typedef enum { typedef enum {
HAL_CIPHER_WEP = 0, HAL_CIPHER_WEP = 0,
HAL_CIPHER_AES_CCM = 1, HAL_CIPHER_AES_OCB = 1,
HAL_CIPHER_CKIP = 2 HAL_CIPHER_AES_CCM = 2,
HAL_CIPHER_CKIP = 3,
HAL_CIPHER_TKIP = 4,
HAL_CIPHER_CLR = 5, /* no encryption */
HAL_CIPHER_MIC = 127 /* TKIP-MIC, not a cipher */
} HAL_CIPHER; } HAL_CIPHER;
enum { enum {
@ -307,21 +403,40 @@ enum {
}; };
/* /*
* Per-station beacon timer state. * Per-station beacon timer state. Note that the specified
* beacon interval (given in TU's) can also include flags
* to force a TSF reset and to enable the beacon xmit logic.
* If bs_cfpmaxduration is non-zero the hardware is setup to
* coexist with a PCF-capable AP.
*/ */
typedef struct { typedef struct {
u_int32_t bs_nexttbtt; /* next beacon in TU */ u_int32_t bs_nexttbtt; /* next beacon in TU */
u_int32_t bs_nextdtim; /* next DTIM in TU */ u_int32_t bs_nextdtim; /* next DTIM in TU */
u_int16_t bs_intval; /* beacon interval/period */ u_int32_t bs_intval; /* beacon interval+flags */
u_int8_t bs_dtimperiod; #define HAL_BEACON_PERIOD 0x0000ffff /* beacon interval period */
u_int8_t bs_cfpperiod; /* # of DTIMs between CFPs */ #define HAL_BEACON_ENA 0x00800000 /* beacon xmit enable */
#define HAL_BEACON_RESET_TSF 0x01000000 /* clear TSF */
u_int32_t bs_dtimperiod;
u_int16_t bs_cfpperiod; /* CFP period in TU */
u_int16_t bs_cfpmaxduration; /* max CFP duration in TU */ u_int16_t bs_cfpmaxduration; /* max CFP duration in TU */
u_int16_t bs_cfpduremain; /* remaining CFP duration */ u_int32_t bs_cfpnext; /* next CFP in TU */
u_int16_t bs_timoffset; u_int16_t bs_timoffset; /* byte offset to TIM bitmap */
u_int16_t bs_sleepduration; /* max sleep duration */
u_int16_t bs_bmissthreshold; /* beacon miss threshold */ u_int16_t bs_bmissthreshold; /* beacon miss threshold */
u_int32_t bs_sleepduration; /* max sleep duration */
} HAL_BEACON_STATE; } HAL_BEACON_STATE;
/*
* Per-node statistics maintained by the driver for use in
* optimizing signal quality and other operational aspects.
*/
typedef struct {
u_int32_t ns_avgbrssi; /* average beacon rssi */
u_int32_t ns_avgrssi; /* average data rssi */
u_int32_t ns_avgtxrssi; /* average tx rssi */
} HAL_NODE_STATS;
#define HAL_RSSI_EP_MULTIPLIER (1<<7) /* pow2 to optimize out * and / */
struct ath_desc; struct ath_desc;
/* /*
@ -337,7 +452,7 @@ struct ath_desc;
struct ath_hal { struct ath_hal {
u_int32_t ah_magic; /* consistency check magic number */ u_int32_t ah_magic; /* consistency check magic number */
u_int32_t ah_abi; /* HAL ABI version */ u_int32_t ah_abi; /* HAL ABI version */
#define HAL_ABI_VERSION 0x03112500 /* YYMMDDnn */ #define HAL_ABI_VERSION 0x04112900 /* YYMMDDnn */
u_int16_t ah_devid; /* PCI device ID */ u_int16_t ah_devid; /* PCI device ID */
u_int16_t ah_subvendorid; /* PCI subvendor ID */ u_int16_t ah_subvendorid; /* PCI subvendor ID */
HAL_SOFTC ah_sc; /* back pointer to driver/os state */ HAL_SOFTC ah_sc; /* back pointer to driver/os state */
@ -348,133 +463,157 @@ struct ath_hal {
u_int32_t ah_macVersion; /* MAC version id */ u_int32_t ah_macVersion; /* MAC version id */
u_int16_t ah_macRev; /* MAC revision */ u_int16_t ah_macRev; /* MAC revision */
u_int16_t ah_phyRev; /* PHY revision */ u_int16_t ah_phyRev; /* PHY revision */
u_int16_t ah_analog5GhzRev;/* 2GHz radio revision */ /* NB: when only one radio is present the rev is in 5Ghz */
u_int16_t ah_analog2GhzRev;/* 5GHz radio revision */ u_int16_t ah_analog5GhzRev;/* 5GHz radio revision */
u_int16_t ah_analog2GhzRev;/* 2GHz radio revision */
const HAL_RATE_TABLE *(*ah_getRateTable)(struct ath_hal *, u_int mode); const HAL_RATE_TABLE *__ahdecl(*ah_getRateTable)(struct ath_hal *,
void (*ah_detach)(struct ath_hal*); u_int mode);
void __ahdecl(*ah_detach)(struct ath_hal*);
/* Reset functions */ /* Reset functions */
HAL_BOOL (*ah_reset)(struct ath_hal *, HAL_OPMODE, HAL_BOOL __ahdecl(*ah_reset)(struct ath_hal *, HAL_OPMODE,
HAL_CHANNEL *, HAL_BOOL bChannelChange, HAL_CHANNEL *, HAL_BOOL bChannelChange,
HAL_STATUS *status); HAL_STATUS *status);
HAL_BOOL (*ah_setPCUConfig)(struct ath_hal *, HAL_OPMODE); HAL_BOOL __ahdecl(*ah_phyDisable)(struct ath_hal *);
HAL_BOOL (*ah_perCalibration)(struct ath_hal*, HAL_CHANNEL *); void __ahdecl(*ah_setPCUConfig)(struct ath_hal *);
HAL_BOOL __ahdecl(*ah_perCalibration)(struct ath_hal*, HAL_CHANNEL *);
HAL_BOOL __ahdecl(*ah_setTxPowerLimit)(struct ath_hal *, u_int32_t);
/* Transmit functions */ /* Transmit functions */
HAL_BOOL (*ah_updateTxTrigLevel)(struct ath_hal*, HAL_BOOL __ahdecl(*ah_updateTxTrigLevel)(struct ath_hal*,
HAL_BOOL incTrigLevel); HAL_BOOL incTrigLevel);
int (*ah_setupTxQueue)(struct ath_hal *, HAL_TX_QUEUE type, int __ahdecl(*ah_setupTxQueue)(struct ath_hal *, HAL_TX_QUEUE,
HAL_BOOL irq); const HAL_TXQ_INFO *qInfo);
HAL_BOOL (*ah_releaseTxQueue)(struct ath_hal *ah, u_int q); HAL_BOOL __ahdecl(*ah_setTxQueueProps)(struct ath_hal *, int q,
HAL_BOOL (*ah_resetTxQueue)(struct ath_hal *ah, u_int q); const HAL_TXQ_INFO *qInfo);
u_int32_t (*ah_getTxDP)(struct ath_hal*, u_int); HAL_BOOL __ahdecl(*ah_getTxQueueProps)(struct ath_hal *, int q,
HAL_BOOL (*ah_setTxDP)(struct ath_hal*, u_int, u_int32_t txdp); HAL_TXQ_INFO *qInfo);
HAL_BOOL (*ah_startTxDma)(struct ath_hal*, u_int); HAL_BOOL __ahdecl(*ah_releaseTxQueue)(struct ath_hal *ah, u_int q);
HAL_BOOL (*ah_stopTxDma)(struct ath_hal*, u_int); HAL_BOOL __ahdecl(*ah_resetTxQueue)(struct ath_hal *ah, u_int q);
HAL_BOOL (*ah_setupTxDesc)(struct ath_hal *, struct ath_desc *, u_int32_t __ahdecl(*ah_getTxDP)(struct ath_hal*, u_int);
HAL_BOOL __ahdecl(*ah_setTxDP)(struct ath_hal*, u_int, u_int32_t txdp);
u_int32_t __ahdecl(*ah_numTxPending)(struct ath_hal *, u_int q);
HAL_BOOL __ahdecl(*ah_startTxDma)(struct ath_hal*, u_int);
HAL_BOOL __ahdecl(*ah_stopTxDma)(struct ath_hal*, u_int);
HAL_BOOL __ahdecl(*ah_updateCTSForBursting)(struct ath_hal *,
struct ath_desc *, struct ath_desc *,
struct ath_desc *, struct ath_desc *,
u_int32_t, u_int32_t);
HAL_BOOL __ahdecl(*ah_setupTxDesc)(struct ath_hal *, struct ath_desc *,
u_int pktLen, u_int hdrLen, u_int pktLen, u_int hdrLen,
HAL_PKT_TYPE type, u_int txPower, HAL_PKT_TYPE type, u_int txPower,
u_int txRate0, u_int txTries0, u_int txRate0, u_int txTries0,
u_int keyIx, u_int antMode, u_int flags, u_int keyIx, u_int antMode, u_int flags,
u_int rtsctsRate, u_int rtsctsDuration); u_int rtsctsRate, u_int rtsctsDuration);
HAL_BOOL (*ah_setupXTxDesc)(struct ath_hal *, struct ath_desc *, HAL_BOOL __ahdecl(*ah_setupXTxDesc)(struct ath_hal *, struct ath_desc*,
HAL_BOOL shortPreamble,
u_int txRate1, u_int txTries1, u_int txRate1, u_int txTries1,
u_int txRate2, u_int txTries2, u_int txRate2, u_int txTries2,
u_int txRate3, u_int txTries3); u_int txRate3, u_int txTries3);
HAL_BOOL (*ah_fillTxDesc)(struct ath_hal *, struct ath_desc *, HAL_BOOL __ahdecl(*ah_fillTxDesc)(struct ath_hal *, struct ath_desc *,
u_int segLen, HAL_BOOL firstSeg, u_int segLen, HAL_BOOL firstSeg,
HAL_BOOL lastSeg); HAL_BOOL lastSeg, const struct ath_desc *);
HAL_STATUS (*ah_procTxDesc)(struct ath_hal *, struct ath_desc *); HAL_STATUS __ahdecl(*ah_procTxDesc)(struct ath_hal *, struct ath_desc*);
HAL_BOOL (*ah_hasVEOL)(struct ath_hal *); void __ahdecl(*ah_getTxIntrQueue)(struct ath_hal *, u_int32_t *);
/* Receive Functions */ /* Receive Functions */
u_int32_t (*ah_getRxDP)(struct ath_hal*); u_int32_t __ahdecl(*ah_getRxDP)(struct ath_hal*);
void (*ah_setRxDP)(struct ath_hal*, u_int32_t rxdp); void __ahdecl(*ah_setRxDP)(struct ath_hal*, u_int32_t rxdp);
void (*ah_enableReceive)(struct ath_hal*); void __ahdecl(*ah_enableReceive)(struct ath_hal*);
HAL_BOOL (*ah_stopDmaReceive)(struct ath_hal*); HAL_BOOL __ahdecl(*ah_stopDmaReceive)(struct ath_hal*);
void (*ah_startPcuReceive)(struct ath_hal*); void __ahdecl(*ah_startPcuReceive)(struct ath_hal*);
void (*ah_stopPcuReceive)(struct ath_hal*); void __ahdecl(*ah_stopPcuReceive)(struct ath_hal*);
void (*ah_setMulticastFilter)(struct ath_hal*, void __ahdecl(*ah_setMulticastFilter)(struct ath_hal*,
u_int32_t filter0, u_int32_t filter1); u_int32_t filter0, u_int32_t filter1);
HAL_BOOL (*ah_setMulticastFilterIndex)(struct ath_hal*, HAL_BOOL __ahdecl(*ah_setMulticastFilterIndex)(struct ath_hal*,
u_int32_t index); u_int32_t index);
HAL_BOOL (*ah_clrMulticastFilterIndex)(struct ath_hal*, HAL_BOOL __ahdecl(*ah_clrMulticastFilterIndex)(struct ath_hal*,
u_int32_t index); u_int32_t index);
u_int32_t (*ah_getRxFilter)(struct ath_hal*); u_int32_t __ahdecl(*ah_getRxFilter)(struct ath_hal*);
void (*ah_setRxFilter)(struct ath_hal*, u_int32_t); void __ahdecl(*ah_setRxFilter)(struct ath_hal*, u_int32_t);
HAL_BOOL (*ah_setupRxDesc)(struct ath_hal *, struct ath_desc *, HAL_BOOL __ahdecl(*ah_setupRxDesc)(struct ath_hal *, struct ath_desc *,
u_int32_t size, u_int flags); u_int32_t size, u_int flags);
HAL_STATUS (*ah_procRxDesc)(struct ath_hal *, struct ath_desc *, HAL_STATUS __ahdecl(*ah_procRxDesc)(struct ath_hal *, struct ath_desc *,
u_int32_t phyAddr, struct ath_desc *next); u_int32_t phyAddr, struct ath_desc *next);
void (*ah_rxMonitor)(struct ath_hal *); void __ahdecl(*ah_rxMonitor)(struct ath_hal *,
const HAL_NODE_STATS *);
void __ahdecl(*ah_procMibEvent)(struct ath_hal *,
const HAL_NODE_STATS *);
/* Misc Functions */ /* Misc Functions */
void (*ah_dumpState)(struct ath_hal *); HAL_STATUS __ahdecl(*ah_getCapability)(struct ath_hal *,
HAL_BOOL (*ah_getDiagState)(struct ath_hal *, HAL_CAPABILITY_TYPE, u_int32_t capability,
int, void **, u_int *); u_int32_t *result);
void (*ah_getMacAddress)(struct ath_hal *, u_int8_t *); HAL_BOOL __ahdecl(*ah_setCapability)(struct ath_hal *,
HAL_BOOL (*ah_setMacAddress)(struct ath_hal *, const u_int8_t *); HAL_CAPABILITY_TYPE, u_int32_t capability,
HAL_BOOL (*ah_setRegulatoryDomain)(struct ath_hal*, u_int32_t setting, HAL_STATUS *);
HAL_BOOL __ahdecl(*ah_getDiagState)(struct ath_hal *, int request,
const void *args, u_int32_t argsize,
void **result, u_int32_t *resultsize);
void __ahdecl(*ah_getMacAddress)(struct ath_hal *, u_int8_t *);
HAL_BOOL __ahdecl(*ah_setMacAddress)(struct ath_hal *, const u_int8_t*);
HAL_BOOL __ahdecl(*ah_setRegulatoryDomain)(struct ath_hal*,
u_int16_t, HAL_STATUS *); u_int16_t, HAL_STATUS *);
void (*ah_setLedState)(struct ath_hal*, HAL_LED_STATE); void __ahdecl(*ah_setLedState)(struct ath_hal*, HAL_LED_STATE);
void (*ah_writeAssocid)(struct ath_hal*, void __ahdecl(*ah_writeAssocid)(struct ath_hal*,
const u_int8_t *bssid, u_int16_t assocId, const u_int8_t *bssid, u_int16_t assocId);
u_int16_t timOffset); HAL_BOOL __ahdecl(*ah_gpioCfgOutput)(struct ath_hal *, u_int32_t gpio);
u_int32_t (*ah_gpioGet)(struct ath_hal*, u_int32_t gpio); HAL_BOOL __ahdecl(*ah_gpioCfgInput)(struct ath_hal *, u_int32_t gpio);
void (*ah_gpioSetIntr)(struct ath_hal*, u_int, u_int32_t); u_int32_t __ahdecl(*ah_gpioGet)(struct ath_hal *, u_int32_t gpio);
u_int32_t (*ah_getTsf32)(struct ath_hal*); HAL_BOOL __ahdecl(*ah_gpioSet)(struct ath_hal *,
u_int64_t (*ah_getTsf64)(struct ath_hal*); u_int32_t gpio, u_int32_t val);
void (*ah_resetTsf)(struct ath_hal*); void __ahdecl(*ah_gpioSetIntr)(struct ath_hal*, u_int, u_int32_t);
u_int16_t (*ah_getRegDomain)(struct ath_hal*); u_int32_t __ahdecl(*ah_getTsf32)(struct ath_hal*);
HAL_BOOL (*ah_detectCardPresent)(struct ath_hal*); u_int64_t __ahdecl(*ah_getTsf64)(struct ath_hal*);
void (*ah_updateMibCounters)(struct ath_hal*, HAL_MIB_STATS*); void __ahdecl(*ah_resetTsf)(struct ath_hal*);
HAL_BOOL (*ah_isHwCipherSupported)(struct ath_hal*, HAL_CIPHER); HAL_BOOL __ahdecl(*ah_detectCardPresent)(struct ath_hal*);
HAL_RFGAIN (*ah_getRfGain)(struct ath_hal*); void __ahdecl(*ah_updateMibCounters)(struct ath_hal*,
#if 0 HAL_MIB_STATS*);
u_int32_t (*ah_getCurRssi)(struct ath_hal*); HAL_RFGAIN __ahdecl(*ah_getRfGain)(struct ath_hal*);
u_int32_t (*ah_getDefAntenna)(struct ath_hal*); u_int __ahdecl(*ah_getDefAntenna)(struct ath_hal*);
void (*ah_setDefAntenna)(struct ath_hal*, u_int32_t antenna); void __ahdecl(*ah_setDefAntenna)(struct ath_hal*, u_int);
#endif HAL_BOOL __ahdecl(*ah_setSlotTime)(struct ath_hal*, u_int);
HAL_BOOL (*ah_setSlotTime)(struct ath_hal*, u_int); u_int __ahdecl(*ah_getSlotTime)(struct ath_hal*);
HAL_BOOL __ahdecl(*ah_setAckTimeout)(struct ath_hal*, u_int);
u_int __ahdecl(*ah_getAckTimeout)(struct ath_hal*);
HAL_BOOL __ahdecl(*ah_setCTSTimeout)(struct ath_hal*, u_int);
u_int __ahdecl(*ah_getCTSTimeout)(struct ath_hal*);
/* Key Cache Functions */ /* Key Cache Functions */
u_int32_t (*ah_getKeyCacheSize)(struct ath_hal*); u_int32_t __ahdecl(*ah_getKeyCacheSize)(struct ath_hal*);
HAL_BOOL (*ah_resetKeyCacheEntry)(struct ath_hal*, u_int16_t); HAL_BOOL __ahdecl(*ah_resetKeyCacheEntry)(struct ath_hal*, u_int16_t);
HAL_BOOL (*ah_isKeyCacheEntryValid)(struct ath_hal *, u_int16_t); HAL_BOOL __ahdecl(*ah_isKeyCacheEntryValid)(struct ath_hal *,
HAL_BOOL (*ah_setKeyCacheEntry)(struct ath_hal*, u_int16_t);
HAL_BOOL __ahdecl(*ah_setKeyCacheEntry)(struct ath_hal*,
u_int16_t, const HAL_KEYVAL *, u_int16_t, const HAL_KEYVAL *,
const u_int8_t *, int); const u_int8_t *, int);
HAL_BOOL (*ah_setKeyCacheEntryMac)(struct ath_hal*, HAL_BOOL __ahdecl(*ah_setKeyCacheEntryMac)(struct ath_hal*,
u_int16_t, const u_int8_t *); u_int16_t, const u_int8_t *);
/* Power Management Functions */ /* Power Management Functions */
HAL_BOOL (*ah_setPowerMode)(struct ath_hal*, HAL_BOOL __ahdecl(*ah_setPowerMode)(struct ath_hal*,
HAL_POWER_MODE mode, int setChip, HAL_POWER_MODE mode, int setChip,
u_int16_t sleepDuration); u_int16_t sleepDuration);
HAL_POWER_MODE (*ah_getPowerMode)(struct ath_hal*); HAL_POWER_MODE __ahdecl(*ah_getPowerMode)(struct ath_hal*);
HAL_BOOL (*ah_queryPSPollSupport)(struct ath_hal*); HAL_BOOL __ahdecl(*ah_initPSPoll)(struct ath_hal*);
HAL_BOOL (*ah_initPSPoll)(struct ath_hal*); HAL_BOOL __ahdecl(*ah_enablePSPoll)(struct ath_hal *,
HAL_BOOL (*ah_enablePSPoll)(struct ath_hal *,
u_int8_t *, u_int16_t); u_int8_t *, u_int16_t);
HAL_BOOL (*ah_disablePSPoll)(struct ath_hal *); HAL_BOOL __ahdecl(*ah_disablePSPoll)(struct ath_hal *);
/* Beacon Management Functions */ /* Beacon Management Functions */
void (*ah_beaconInit)(struct ath_hal *, HAL_OPMODE, void __ahdecl(*ah_beaconInit)(struct ath_hal *,
u_int32_t, u_int32_t); u_int32_t nexttbtt, u_int32_t intval);
void (*ah_setStationBeaconTimers)(struct ath_hal*, void __ahdecl(*ah_setStationBeaconTimers)(struct ath_hal*,
const HAL_BEACON_STATE *, u_int32_t tsf, const HAL_BEACON_STATE *);
u_int32_t dtimCount, u_int32_t cfpCcount); void __ahdecl(*ah_resetStationBeaconTimers)(struct ath_hal*);
void (*ah_resetStationBeaconTimers)(struct ath_hal*); HAL_BOOL __ahdecl(*ah_waitForBeaconDone)(struct ath_hal *,
HAL_BOOL (*ah_waitForBeaconDone)(struct ath_hal *,
HAL_BUS_ADDR); HAL_BUS_ADDR);
/* Interrupt functions */ /* Interrupt functions */
HAL_BOOL (*ah_isInterruptPending)(struct ath_hal*); HAL_BOOL __ahdecl(*ah_isInterruptPending)(struct ath_hal*);
HAL_BOOL (*ah_getPendingInterrupts)(struct ath_hal*, HAL_INT *); HAL_BOOL __ahdecl(*ah_getPendingInterrupts)(struct ath_hal*, HAL_INT*);
HAL_INT (*ah_getInterrupts)(struct ath_hal*); HAL_INT __ahdecl(*ah_getInterrupts)(struct ath_hal*);
HAL_INT (*ah_setInterrupts)(struct ath_hal*, HAL_INT); HAL_INT __ahdecl(*ah_setInterrupts)(struct ath_hal*, HAL_INT);
}; };
/* /*
@ -482,7 +621,7 @@ struct ath_hal {
* and return a printable description for any Atheros hardware. * and return a printable description for any Atheros hardware.
* AH_NULL is returned if the ID's do not describe Atheros hardware. * AH_NULL is returned if the ID's do not describe Atheros hardware.
*/ */
extern const char *ath_hal_probe(u_int16_t vendorid, u_int16_t devid); extern const char *__ahdecl ath_hal_probe(u_int16_t vendorid, u_int16_t devid);
/* /*
* Attach the HAL for use with the specified device. The device is * Attach the HAL for use with the specified device. The device is
@ -497,7 +636,7 @@ extern const char *ath_hal_probe(u_int16_t vendorid, u_int16_t devid);
* null (AH_NULL) reference will be returned and a status code will * null (AH_NULL) reference will be returned and a status code will
* be returned if the status parameter is non-zero. * be returned if the status parameter is non-zero.
*/ */
extern struct ath_hal *ath_hal_attach(u_int16_t devid, HAL_SOFTC, extern struct ath_hal * __ahdecl ath_hal_attach(u_int16_t devid, HAL_SOFTC,
HAL_BUS_TAG, HAL_BUS_HANDLE, HAL_STATUS* status); HAL_BUS_TAG, HAL_BUS_HANDLE, HAL_STATUS* status);
/* /*
@ -511,25 +650,26 @@ extern struct ath_hal *ath_hal_attach(u_int16_t devid, HAL_SOFTC,
* number of channels returned. If a problem occurred or there were * number of channels returned. If a problem occurred or there were
* no channels that met the criteria then AH_FALSE is returned. * no channels that met the criteria then AH_FALSE is returned.
*/ */
extern HAL_BOOL ath_hal_init_channels(struct ath_hal *, extern HAL_BOOL __ahdecl ath_hal_init_channels(struct ath_hal *,
HAL_CHANNEL *chans, u_int maxchans, u_int *nchans, HAL_CHANNEL *chans, u_int maxchans, u_int *nchans,
HAL_CTRY_CODE cc, u_int16_t modeSelect, int enableOutdoor); HAL_CTRY_CODE cc, u_int16_t modeSelect,
HAL_BOOL enableOutdoor, HAL_BOOL enableExtendedChannels);
/* /*
* Return bit mask of wireless modes supported by the hardware. * Return bit mask of wireless modes supported by the hardware.
*/ */
extern u_int ath_hal_getwirelessmodes(struct ath_hal *ah, HAL_CTRY_CODE cc); extern u_int __ahdecl ath_hal_getwirelessmodes(struct ath_hal*, HAL_CTRY_CODE);
/* /*
* Return rate table for specified mode (11a, 11b, 11g, etc). * Return rate table for specified mode (11a, 11b, 11g, etc).
*/ */
extern const HAL_RATE_TABLE *ath_hal_getratetable(struct ath_hal *, extern const HAL_RATE_TABLE * __ahdecl ath_hal_getratetable(struct ath_hal *,
u_int mode); u_int mode);
/* /*
* Calculate the transmit duration of a frame. * Calculate the transmit duration of a frame.
*/ */
extern u_int16_t ath_hal_computetxtime(struct ath_hal *, extern u_int16_t __ahdecl ath_hal_computetxtime(struct ath_hal *,
const HAL_RATE_TABLE *rates, u_int32_t frameLen, const HAL_RATE_TABLE *rates, u_int32_t frameLen,
u_int16_t rateix, HAL_BOOL shortPreamble); u_int16_t rateix, HAL_BOOL shortPreamble);
@ -537,11 +677,15 @@ extern u_int16_t ath_hal_computetxtime(struct ath_hal *,
* Convert between IEEE channel number and channel frequency * Convert between IEEE channel number and channel frequency
* using the specified channel flags; e.g. CHANNEL_2GHZ. * using the specified channel flags; e.g. CHANNEL_2GHZ.
*/ */
extern u_int ath_hal_mhz2ieee(u_int mhz, u_int flags); extern u_int __ahdecl ath_hal_mhz2ieee(u_int mhz, u_int flags);
extern u_int ath_hal_ieee2mhz(u_int ieee, u_int flags); extern u_int __ahdecl ath_hal_ieee2mhz(u_int ieee, u_int flags);
/* /*
* Return a version string for the HAL release. * Return a version string for the HAL release.
*/ */
extern char ath_hal_version[]; extern char ath_hal_version[];
/*
* Return a NULL-terminated array of build/configuration options.
*/
extern const char* ath_hal_buildopts[];
#endif /* _ATH_AH_H_ */ #endif /* _ATH_AH_H_ */

View File

@ -1,5 +1,5 @@
/*- /*-
* Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting, Atheros * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting, Atheros
* Communications, Inc. All rights reserved. * Communications, Inc. All rights reserved.
* *
* Redistribution and use in source and binary forms are permitted * Redistribution and use in source and binary forms are permitted
@ -33,7 +33,7 @@
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGES. * SUCH DAMAGES.
* *
* $Id: ah_desc.h,v 1.11 2003/06/25 04:50:22 sam Exp $ * $Id: ah_desc.h,v 1.15 2004/10/24 02:17:43 sam Exp $
*/ */
#ifndef _DEV_ATH_DESC_H #ifndef _DEV_ATH_DESC_H
@ -53,6 +53,7 @@ struct ath_tx_status {
u_int16_t ts_tstamp; /* h/w assigned timestamp */ u_int16_t ts_tstamp; /* h/w assigned timestamp */
u_int8_t ts_status; /* frame status, 0 => xmit ok */ u_int8_t ts_status; /* frame status, 0 => xmit ok */
u_int8_t ts_rate; /* h/w transmit rate index */ u_int8_t ts_rate; /* h/w transmit rate index */
#define HAL_TXSTAT_ALTRATE 0x80 /* alternate xmit rate used */
int8_t ts_rssi; /* tx ack RSSI */ int8_t ts_rssi; /* tx ack RSSI */
u_int8_t ts_shortretry; /* # short retries */ u_int8_t ts_shortretry; /* # short retries */
u_int8_t ts_longretry; /* # long retries */ u_int8_t ts_longretry; /* # long retries */
@ -72,10 +73,17 @@ struct ath_tx_status {
* *
* If rx_status is zero, then the frame was received ok; * If rx_status is zero, then the frame was received ok;
* otherwise the error information is indicated and rs_phyerr * otherwise the error information is indicated and rs_phyerr
* contains a phy error code if HAL_RXERR_PHY is set. * contains a phy error code if HAL_RXERR_PHY is set. In general
* the frame contents is undefined when an error occurred thought
* for some errors (e.g. a decryption error), it may be meaningful.
* *
* Note that the receive timestamp is expanded using the TSF to * Note that the receive timestamp is expanded using the TSF to
* a full 16 bits (regardless of what the h/w provides directly). * a full 16 bits (regardless of what the h/w provides directly).
*
* rx_rssi is in units of dbm above the noise floor. This value
* is measured during the preamble and PLCP; i.e. with the initial
* 4us of detection. The noise floor is typically a consistent
* -96dBm absolute power in a 20MHz channel.
*/ */
struct ath_rx_status { struct ath_rx_status {
u_int16_t rs_datalen; /* rx frame length */ u_int16_t rs_datalen; /* rx frame length */
@ -154,7 +162,7 @@ struct ath_desc {
struct ath_tx_status tx;/* xmit status */ struct ath_tx_status tx;/* xmit status */
struct ath_rx_status rx;/* recv status */ struct ath_rx_status rx;/* recv status */
} ds_us; } ds_us;
} __attribute__((__packed__)); } __packed;
#define ds_txstat ds_us.tx #define ds_txstat ds_us.tx
#define ds_rxstat ds_us.rx #define ds_rxstat ds_us.rx

View File

@ -1,5 +1,5 @@
/*- /*-
* Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting, Atheros * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting, Atheros
* Communications, Inc. All rights reserved. * Communications, Inc. All rights reserved.
* *
* Redistribution and use in source and binary forms are permitted * Redistribution and use in source and binary forms are permitted
@ -33,7 +33,7 @@
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGES. * SUCH DAMAGES.
* *
* $Id: ah_devid.h,v 1.7 2003/10/22 21:17:40 sam Exp $ * $Id: ah_devid.h,v 1.12 2004/10/21 22:48:57 sam Exp $
*/ */
#ifndef _DEV_ATH_DEVID_H_ #ifndef _DEV_ATH_DEVID_H_
@ -45,7 +45,8 @@
* of 0x168c, but some vendors, in their infinite wisdom * of 0x168c, but some vendors, in their infinite wisdom
* do not follow this so we must handle them specially. * do not follow this so we must handle them specially.
*/ */
#define ATHEROS_3COM_VENDOR_ID 0xa727 /* 3Com PCI vendor ID */ #define ATHEROS_3COM_VENDOR_ID 0xa727 /* 3Com 3CRPAG175 vendor ID */
#define ATHEROS_3COM2_VENDOR_ID 0x10b7 /* 3Com 3CRDAG675 vendor ID */
/* AR5210 (for reference) */ /* AR5210 (for reference) */
#define AR5210_DEFAULT 0x1107 /* No eeprom HW default */ #define AR5210_DEFAULT 0x1107 /* No eeprom HW default */
@ -64,6 +65,23 @@
#define AR5212_DEVID 0x0013 /* Final ar5212 devid */ #define AR5212_DEVID 0x0013 /* Final ar5212 devid */
#define AR5212_FPGA 0xf013 /* Emulation board */ #define AR5212_FPGA 0xf013 /* Emulation board */
#define AR5212_DEVID_IBM 0x1014 /* IBM minipci ID */ #define AR5212_DEVID_IBM 0x1014 /* IBM minipci ID */
#define AR5212_AR5312_REV2 0x0052 /* AR5312 WMAC (AP31) */
#define AR5212_AR5312_REV7 0x0057 /* AR5312 WMAC (AP30-040) */
#define AR5212_AR2313_REV8 0x0058 /* AR2313 WMAC (AP43-030) */
/* AR5212 compatible devid's also attach to 5212 */
#define AR5212_DEVID_0014 0x0014
#define AR5212_DEVID_0015 0x0015
#define AR5212_DEVID_0016 0x0016
#define AR5212_DEVID_0017 0x0017
#define AR5212_DEVID_0018 0x0018
#define AR5212_DEVID_0019 0x0019
#define AR5212_AR2413 0x001a /* AR2413 aka Griffin-lite */
/* AR5213 */
#define AR5213_SREV_1_0 0x0055
#define AR5213_SREV_REG 0x4020
#define AR_SUBVENDOR_ID_NOG 0x0e11 /* No 11G subvendor ID */ #define AR_SUBVENDOR_ID_NOG 0x0e11 /* No 11G subvendor ID */
#define AR_SUBVENDOR_ID_NEW_A 0x7065 /* Update device to new RD */
#endif /* _DEV_ATH_DEVID_H */ #endif /* _DEV_ATH_DEVID_H */

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting, Atheros # Copyright (c) 2002-2004 Sam Leffler, Errno Consulting, Atheros
# Communications, Inc. All rights reserved. # Communications, Inc. All rights reserved.
# #
# Redistribution and use in source and binary forms are permitted # Redistribution and use in source and binary forms are permitted
@ -33,7 +33,7 @@
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGES. # SUCH DAMAGES.
# #
# $Id: ah_if.m,v 1.4 2003/06/25 04:55:02 sam Exp $ # $Id: ah_if.m,v 1.5 2004/01/07 23:09:30 sam Exp $
# #
INTERFACE ath_hal; INTERFACE ath_hal;

View File

@ -1,5 +1,5 @@
/*- /*-
* Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting, Atheros * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting, Atheros
* Communications, Inc. All rights reserved. * Communications, Inc. All rights reserved.
* *
* Redistribution and use in source and binary forms are permitted * Redistribution and use in source and binary forms are permitted
@ -33,13 +33,14 @@
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGES. * SUCH DAMAGES.
* *
* $Id: ah_osdep.c,v 1.28 2003/11/01 01:43:21 sam Exp $ * $Id: ah_osdep.c,v 1.35 2004/10/25 01:02:50 sam Exp $
*/ */
#include "opt_ah.h" #include "opt_ah.h"
#include <sys/param.h> #include <sys/param.h>
#include <sys/systm.h> #include <sys/systm.h>
#include <sys/kernel.h> #include <sys/kernel.h>
#include <sys/module.h>
#include <sys/sysctl.h> #include <sys/sysctl.h>
#include <sys/bus.h> #include <sys/bus.h>
#include <sys/malloc.h> #include <sys/malloc.h>
@ -72,9 +73,10 @@ SYSCTL_NODE(_hw, OID_AUTO, ath, CTLFLAG_RD, 0, "Atheros driver parameters");
SYSCTL_NODE(_hw_ath, OID_AUTO, hal, CTLFLAG_RD, 0, "Atheros HAL parameters"); SYSCTL_NODE(_hw_ath, OID_AUTO, hal, CTLFLAG_RD, 0, "Atheros HAL parameters");
#ifdef AH_DEBUG #ifdef AH_DEBUG
static int ath_hal_debug = 0; /* XXX */ static int ath_hal_debug = 0;
SYSCTL_INT(_hw_ath_hal, OID_AUTO, debug, CTLFLAG_RW, &ath_hal_debug, SYSCTL_INT(_hw_ath_hal, OID_AUTO, debug, CTLFLAG_RW, &ath_hal_debug,
0, "Atheros HAL debugging printfs"); 0, "Atheros HAL debugging printfs");
TUNABLE_INT("hw.ath.hal.debug", &ath_hal_debug);
#endif /* AH_DEBUG */ #endif /* AH_DEBUG */
SYSCTL_STRING(_hw_ath_hal, OID_AUTO, version, CTLFLAG_RD, ath_hal_version, 0, SYSCTL_STRING(_hw_ath_hal, OID_AUTO, version, CTLFLAG_RD, ath_hal_version, 0,
@ -366,6 +368,18 @@ ath_hal_getuptime(struct ath_hal *ah)
(((uint64_t)1000 * (uint32_t)(bt.frac >> 32)) >> 32); (((uint64_t)1000 * (uint32_t)(bt.frac >> 32)) >> 32);
} }
void
ath_hal_memzero(void *dst, size_t n)
{
bzero(dst, n);
}
void *
ath_hal_memcpy(void *dst, const void *src, size_t n)
{
return memcpy(dst, src, n);
}
/* /*
* Module glue. * Module glue.
*/ */
@ -373,11 +387,18 @@ ath_hal_getuptime(struct ath_hal *ah)
static int static int
ath_hal_modevent(module_t mod, int type, void *unused) ath_hal_modevent(module_t mod, int type, void *unused)
{ {
const char *sep;
int i;
switch (type) { switch (type) {
case MOD_LOAD: case MOD_LOAD:
if (bootverbose) printf("ath_hal: %s (", ath_hal_version);
printf("ath_hal: <Atheros Hardware Access Layer>" sep = "";
"version %s\n", ath_hal_version); for (i = 0; ath_hal_buildopts[i] != NULL; i++) {
printf("%s%s", sep, ath_hal_buildopts[i]);
sep = ", ";
}
printf(")\n");
return 0; return 0;
case MOD_UNLOAD: case MOD_UNLOAD:
return 0; return 0;

View File

@ -1,5 +1,5 @@
/*- /*-
* Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting, Atheros * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting, Atheros
* Communications, Inc. All rights reserved. * Communications, Inc. All rights reserved.
* *
* Redistribution and use in source and binary forms are permitted * Redistribution and use in source and binary forms are permitted
@ -33,7 +33,7 @@
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGES. * SUCH DAMAGES.
* *
* $Id: ah_osdep.h,v 1.10 2003/11/01 01:21:31 sam Exp $ * $Id: ah_osdep.h,v 1.16 2004/09/16 23:23:02 sam Exp $
*/ */
#ifndef _ATH_AH_OSDEP_H_ #ifndef _ATH_AH_OSDEP_H_
#define _ATH_AH_OSDEP_H_ #define _ATH_AH_OSDEP_H_
@ -58,10 +58,12 @@ extern void ath_hal_delay(int);
#define OS_DELAY(_n) ath_hal_delay(_n) #define OS_DELAY(_n) ath_hal_delay(_n)
#define OS_INLINE __inline #define OS_INLINE __inline
#define OS_MEMZERO(_a, _size) bzero((_a), (_size)) #define OS_MEMZERO(_a, _n) ath_hal_memzero((_a), (_n))
#define OS_MEMCPY(_dst, _src, _size) bcopy((_src), (_dst), (_size)) extern void ath_hal_memzero(void *, size_t);
#define OS_MACEQU(_a, _b) \ #define OS_MEMCPY(_d, _s, _n) ath_hal_memcpy(_d,_s,_n)
(bcmp((_a), (_b), IEEE80211_ADDR_LEN) == 0) extern void *ath_hal_memcpy(void *, const void *, size_t);
#define abs(_a) __builtin_abs(_a)
struct ath_hal; struct ath_hal;
extern u_int32_t ath_hal_getuptime(struct ath_hal *); extern u_int32_t ath_hal_getuptime(struct ath_hal *);

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,77 @@
#
# Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer,
# without modification.
# 2. Redistributions in binary form must reproduce at minimum a disclaimer
# similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
# redistribution must be conditioned upon including a substantially
# similar Disclaimer requirement for further binary redistribution.
# 3. Neither the names of the above-listed copyright holders nor the names
# of any contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# Alternatively, this software may be distributed under the terms of the
# GNU General Public License ("GPL") version 2 as published by the Free
# Software Foundation.
#
# NO WARRANTY
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
# THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGES.
#
# $Id: arm9-le-thumb-elf.inc,v 1.6 2004/01/07 23:09:31 sam Exp $
#
#
# Compilation configuration for building little-endian ARM9/arm-elf.
#
# Known to work on:
# Arm940T
#
# Force register read/write operations to go through a function so
# ARM users can implement a windowing scheme to access registers in
# the PCI address space.
#
AH_REGOPS_FUNC=1
#
# Built with GNU cross-devel tools:
#
# PREFIX=/pub/gnu
# BINUTILS=binutils-2.14
# GCC=gcc-3.3.2
# target=arm-elf
#
# ${BINUTILS}/configure --target=$target --prefix=${PREFIX}
# ${GCC}/configure --target=$target --prefix=${PREFIX} \
# --enable-languages=c --with-gnu-as --with-gnu-ld \
# --with-newlib --with-gxx-include-dir=${PREFIX}/$target/include
#
ifndef TOOLPREFIX
TOOLPREFIX= /pub/gnu/bin/arm-elf-
endif
#
CC= ${TOOLPREFIX}gcc
LD= ${TOOLPREFIX}ld
STRIP= ${TOOLPREFIX}strip
OBJCOPY=${TOOLPREFIX}objcopy
NM= ${TOOLPREFIX}nm
LDOPTS= -EL
COPTS+= -DAH_BYTE_ORDER=AH_LITTLE_ENDIAN
COPTS+= -mthumb -mlittle-endian -mcpu=arm9 -ffunction-sections -fdata-sections

View File

@ -0,0 +1,7 @@
#define AH_SUPPORT_AR5210 1
#define AH_SUPPORT_AR5211 1
#define AH_SUPPORT_AR5212 1
#define AH_SUPPORT_5111 1
#define AH_SUPPORT_5112 1
#define AH_SUPPORT_2413 1
#define AH_REGOPS_FUNC 1

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,68 @@
#
# Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer,
# without modification.
# 2. Redistributions in binary form must reproduce at minimum a disclaimer
# similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
# redistribution must be conditioned upon including a substantially
# similar Disclaimer requirement for further binary redistribution.
# 3. Neither the names of the above-listed copyright holders nor the names
# of any contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# Alternatively, this software may be distributed under the terms of the
# GNU General Public License ("GPL") version 2 as published by the Free
# Software Foundation.
#
# NO WARRANTY
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
# THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGES.
#
# $Id: armv4-be-elf.inc,v 1.6 2004/01/07 23:09:31 sam Exp $
#
#
# Compilation configuration for building big-endian ARMv4.
#
#
# Built with GNU cross-devel tools:
#
# PREFIX=/pub/gnu
# BINUTILS=binutils-2.14
# GCC=gcc-3.3.2
# target=arm-elf
#
# ${BINUTILS}/configure --target=$target --prefix=${PREFIX}
# ${GCC}/configure --target=$target --prefix=${PREFIX} \
# --enable-languages=c --with-gnu-as --with-gnu-ld \
# --with-newlib --with-gxx-include-dir=${PREFIX}/$target/include
#
ifndef TOOLPREFIX
TOOLPREFIX= /pub/gnu/bin/arm-elf-
endif
#
CC= ${TOOLPREFIX}gcc
LD= ${TOOLPREFIX}ld
STRIP= ${TOOLPREFIX}strip
OBJCOPY=${TOOLPREFIX}objcopy
NM= ${TOOLPREFIX}nm
LDOPTS= -EB
COPTS+= -DAH_BYTE_ORDER=AH_BIG_ENDIAN
COPTS+= -march=armv4 -mbig-endian -fno-strict-aliasing -fno-common

View File

@ -0,0 +1,6 @@
#define AH_SUPPORT_AR5210 1
#define AH_SUPPORT_AR5211 1
#define AH_SUPPORT_AR5212 1
#define AH_SUPPORT_5111 1
#define AH_SUPPORT_5112 1
#define AH_SUPPORT_2413 1

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,68 @@
#
# Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer,
# without modification.
# 2. Redistributions in binary form must reproduce at minimum a disclaimer
# similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
# redistribution must be conditioned upon including a substantially
# similar Disclaimer requirement for further binary redistribution.
# 3. Neither the names of the above-listed copyright holders nor the names
# of any contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# Alternatively, this software may be distributed under the terms of the
# GNU General Public License ("GPL") version 2 as published by the Free
# Software Foundation.
#
# NO WARRANTY
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
# THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGES.
#
# $Id: armv4-le-elf.inc,v 1.6 2004/01/07 23:09:31 sam Exp $
#
#
# Compilation configuration for building little-endian ARMv4.
#
#
# Built with GNU cross-devel tools:
#
# PREFIX=/pub/gnu
# BINUTILS=binutils-2.14
# GCC=gcc-3.3.2
# target=arm-elf
#
# ${BINUTILS}/configure --target=$target --prefix=${PREFIX}
# ${GCC}/configure --target=$target --prefix=${PREFIX} \
# --enable-languages=c --with-gnu-as --with-gnu-ld \
# --with-newlib --with-gxx-include-dir=${PREFIX}/$target/include
#
ifndef TOOLPREFIX
TOOLPREFIX= /pub/gnu/bin/arm-elf-
endif
#
CC= ${TOOLPREFIX}gcc
LD= ${TOOLPREFIX}ld
STRIP= ${TOOLPREFIX}strip
OBJCOPY=${TOOLPREFIX}objcopy
NM= ${TOOLPREFIX}nm
LDOPTS= -EL
COPTS+= -DAH_BYTE_ORDER=AH_LITTLE_ENDIAN
COPTS+= -march=armv4 -mlittle-endian -fno-strict-aliasing -fno-common

View File

@ -0,0 +1,6 @@
#define AH_SUPPORT_AR5210 1
#define AH_SUPPORT_AR5211 1
#define AH_SUPPORT_AR5212 1
#define AH_SUPPORT_5111 1
#define AH_SUPPORT_5112 1
#define AH_SUPPORT_2413 1

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,58 @@
#
# Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer,
# without modification.
# 2. Redistributions in binary form must reproduce at minimum a disclaimer
# similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
# redistribution must be conditioned upon including a substantially
# similar Disclaimer requirement for further binary redistribution.
# 3. Neither the names of the above-listed copyright holders nor the names
# of any contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# Alternatively, this software may be distributed under the terms of the
# GNU General Public License ("GPL") version 2 as published by the Free
# Software Foundation.
#
# NO WARRANTY
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
# THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGES.
#
# $Id: i386-elf.inc,v 1.5 2004/01/07 23:09:31 sam Exp $
#
#
# Compilation configuration for building i386-elf.
# This assumes the build platform is also i386-elf.
#
#
ifndef TOOLPREFIX
TOOLPREFIX=
endif
#
CC= ${TOOLPREFIX}gcc
LD= ${TOOLPREFIX}ld
STRIP= ${TOOLPREFIX}strip
OBJCOPY=${TOOLPREFIX}objcopy
NM= ${TOOLPREFIX}nm
COPTS+= -DAH_BYTE_ORDER=AH_LITTLE_ENDIAN
ifndef CONFIG_FRAME_POINTER
COPTS+= -fomit-frame-pointer
endif

View File

@ -0,0 +1,6 @@
#define AH_SUPPORT_AR5210 1
#define AH_SUPPORT_AR5211 1
#define AH_SUPPORT_AR5212 1
#define AH_SUPPORT_5111 1
#define AH_SUPPORT_5112 1
#define AH_SUPPORT_2413 1

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,70 @@
#
# Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer,
# without modification.
# 2. Redistributions in binary form must reproduce at minimum a disclaimer
# similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
# redistribution must be conditioned upon including a substantially
# similar Disclaimer requirement for further binary redistribution.
# 3. Neither the names of the above-listed copyright holders nor the names
# of any contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# Alternatively, this software may be distributed under the terms of the
# GNU General Public License ("GPL") version 2 as published by the Free
# Software Foundation.
#
# NO WARRANTY
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
# THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGES.
#
# $Id: mips-be-elf.inc,v 1.3 2004/01/07 23:09:31 sam Exp $
#
#
# Configuration for building big-endian MIPS2 using the 5.01
# linux-mips.org toolchain (manually moved to /pub/gnu from
# /pub/gnu/local where rpm --prefix=/pub/gnu bogusly installs them).
#
# Known to work on:
# AMD Au1500
#
# http://www.linux-mips.org/toolchain.html
#
# /pub/gnu/bin/mips-linux-gcc -v
# Reading specs from /pub/gnu/bin/../lib/gcc-lib/mips-linux/2.96-mips3264-000710/specs
# gcc version 2.96-mips3264-000710
# /pub/gnu/bin/mips-linux-as -v
# GNU assembler version 2.12.90.0.7 (mips-linux) using BFD version 2.12.90.0.7 20020423
#
ifndef TOOLPREFIX
TOOLPREFIX= /pub/gnu/bin/mips-linux-
endif
#
CC= ${TOOLPREFIX}gcc
LD= ${TOOLPREFIX}ld
STRIP= ${TOOLPREFIX}strip
OBJCOPY=${TOOLPREFIX}objcopy
NM= ${TOOLPREFIX}nm
LDOPTS= -EB
COPTS+= -DAH_BYTE_ORDER=AH_BIG_ENDIAN
COPTS+= -G 0 -EB -mno-abicalls -fno-pic -mips2 -Wa,--trap \
-fno-strict-aliasing -fno-common -fomit-frame-pointer -mlong-calls

View File

@ -0,0 +1,6 @@
#define AH_SUPPORT_AR5210 1
#define AH_SUPPORT_AR5211 1
#define AH_SUPPORT_AR5212 1
#define AH_SUPPORT_5111 1
#define AH_SUPPORT_5112 1
#define AH_SUPPORT_2413 1

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,67 @@
#
# Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer,
# without modification.
# 2. Redistributions in binary form must reproduce at minimum a disclaimer
# similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
# redistribution must be conditioned upon including a substantially
# similar Disclaimer requirement for further binary redistribution.
# 3. Neither the names of the above-listed copyright holders nor the names
# of any contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# Alternatively, this software may be distributed under the terms of the
# GNU General Public License ("GPL") version 2 as published by the Free
# Software Foundation.
#
# NO WARRANTY
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
# THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGES.
#
# $Id: mips-le-elf.inc,v 1.2 2004/06/08 21:22:32 sam Exp $
#
#
# Configuration for building little-endian MIPS2 using the 5.01
# linux-mips.org toolchain (manually moved to /pub/gnu from
# /pub/gnu/local where rpm --prefix=/pub/gnu bogusly installs them).
#
# http://www.linux-mips.org/toolchain.html
#
# /pub/gnu/bin/mips-linux-gcc -v
# Reading specs from /pub/gnu/bin/../lib/gcc-lib/mips-linux/2.96-mips3264-000710/specs
# gcc version 2.96-mips3264-000710
# /pub/gnu/bin/mips-linux-as -v
# GNU assembler version 2.12.90.0.7 (mips-linux) using BFD version 2.12.90.0.7 20020423
#
ifndef TOOLPREFIX
TOOLPREFIX= /pub/gnu/bin/mips-linux-
endif
#
CC= ${TOOLPREFIX}gcc
LD= ${TOOLPREFIX}ld
STRIP= ${TOOLPREFIX}strip
OBJCOPY=${TOOLPREFIX}objcopy
NM= ${TOOLPREFIX}nm
LDOPTS= -EL
COPTS+= -DAH_BYTE_ORDER=AH_LITTLE_ENDIAN
COPTS+= -G 0 -EL -mno-abicalls -fno-pic -mips2 -Wa,--trap \
-fno-strict-aliasing -fno-common -fomit-frame-pointer -mlong-calls

View File

@ -0,0 +1,6 @@
#define AH_SUPPORT_AR5210 1
#define AH_SUPPORT_AR5211 1
#define AH_SUPPORT_AR5212 1
#define AH_SUPPORT_5111 1
#define AH_SUPPORT_5112 1
#define AH_SUPPORT_2413 1

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,67 @@
#
# Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer,
# without modification.
# 2. Redistributions in binary form must reproduce at minimum a disclaimer
# similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
# redistribution must be conditioned upon including a substantially
# similar Disclaimer requirement for further binary redistribution.
# 3. Neither the names of the above-listed copyright holders nor the names
# of any contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# Alternatively, this software may be distributed under the terms of the
# GNU General Public License ("GPL") version 2 as published by the Free
# Software Foundation.
#
# NO WARRANTY
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
# THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGES.
#
# $Id: mips1-be-elf.inc,v 1.2 2004/06/08 21:22:32 sam Exp $
#
#
# Configuration for building big-endian MIPS1 using the 5.01
# linux-mips.org toolchain (manually moved to /pub/gnu from
# /pub/gnu/local where rpm --prefix=/pub/gnu bogusly installs them).
#
# http://www.linux-mips.org/toolchain.html
#
# /pub/gnu/bin/mips-linux-gcc -v
# Reading specs from /pub/gnu/bin/../lib/gcc-lib/mips-linux/2.96-mips3264-000710/specs
# gcc version 2.96-mips3264-000710
# /pub/gnu/bin/mips-linux-as -v
# GNU assembler version 2.12.90.0.7 (mips-linux) using BFD version 2.12.90.0.7 20020423
#
ifndef TOOLPREFIX
TOOLPREFIX= /pub/gnu/bin/mips-linux-
endif
#
CC= ${TOOLPREFIX}gcc
LD= ${TOOLPREFIX}ld
STRIP= ${TOOLPREFIX}strip
OBJCOPY=${TOOLPREFIX}objcopy
NM= ${TOOLPREFIX}nm
LDOPTS= -EB
COPTS+= -DAH_BYTE_ORDER=AH_BIG_ENDIAN
COPTS+= -G 0 -EB -mno-abicalls -fno-pic -mips1 -Wa,--trap \
-fno-strict-aliasing -fno-common -fomit-frame-pointer -mlong-calls

View File

@ -0,0 +1,6 @@
#define AH_SUPPORT_AR5210 1
#define AH_SUPPORT_AR5211 1
#define AH_SUPPORT_AR5212 1
#define AH_SUPPORT_5111 1
#define AH_SUPPORT_5112 1
#define AH_SUPPORT_2413 1

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,67 @@
#
# Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer,
# without modification.
# 2. Redistributions in binary form must reproduce at minimum a disclaimer
# similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
# redistribution must be conditioned upon including a substantially
# similar Disclaimer requirement for further binary redistribution.
# 3. Neither the names of the above-listed copyright holders nor the names
# of any contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# Alternatively, this software may be distributed under the terms of the
# GNU General Public License ("GPL") version 2 as published by the Free
# Software Foundation.
#
# NO WARRANTY
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
# THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGES.
#
# $Id: mips1-le-elf.inc,v 1.2 2004/06/08 21:22:32 sam Exp $
#
#
# Configuration for building little-endian MIPS1 using the 5.01
# linux-mips.org toolchain (manually moved to /pub/gnu from
# /pub/gnu/local where rpm --prefix=/pub/gnu bogusly installs them).
#
# http://www.linux-mips.org/toolchain.html
#
# /pub/gnu/bin/mips-linux-gcc -v
# Reading specs from /pub/gnu/bin/../lib/gcc-lib/mips-linux/2.96-mips3264-000710/specs
# gcc version 2.96-mips3264-000710
# /pub/gnu/bin/mips-linux-as -v
# GNU assembler version 2.12.90.0.7 (mips-linux) using BFD version 2.12.90.0.7 20020423
#
ifndef TOOLPREFIX
TOOLPREFIX= /pub/gnu/bin/mips-linux-
endif
#
CC= ${TOOLPREFIX}gcc
LD= ${TOOLPREFIX}ld
STRIP= ${TOOLPREFIX}strip
OBJCOPY=${TOOLPREFIX}objcopy
NM= ${TOOLPREFIX}nm
LDOPTS= -EL
COPTS+= -DAH_BYTE_ORDER=AH_LITTLE_ENDIAN
COPTS+= -G 0 -EL -mno-abicalls -fno-pic -mips1 -Wa,--trap \
-fno-strict-aliasing -fno-common -fomit-frame-pointer -mlong-calls

View File

@ -0,0 +1,6 @@
#define AH_SUPPORT_AR5210 1
#define AH_SUPPORT_AR5211 1
#define AH_SUPPORT_AR5212 1
#define AH_SUPPORT_5111 1
#define AH_SUPPORT_5112 1
#define AH_SUPPORT_2413 1

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,71 @@
#
# Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer,
# without modification.
# 2. Redistributions in binary form must reproduce at minimum a disclaimer
# similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
# redistribution must be conditioned upon including a substantially
# similar Disclaimer requirement for further binary redistribution.
# 3. Neither the names of the above-listed copyright holders nor the names
# of any contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# Alternatively, this software may be distributed under the terms of the
# GNU General Public License ("GPL") version 2 as published by the Free
# Software Foundation.
#
# NO WARRANTY
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
# THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGES.
#
# $Id: mipsisa32-be-elf.inc,v 1.10 2004/10/13 21:32:04 sam Exp $
#
#
# Compilation configuration for building big-endian mipsisa32-elf.
#
#
# Built with GNU cross-devel tools:
#
# PREFIX=/pub/gnu
# BINUTILS=binutils-2.14
# GCC=gcc-3.3.2
# target=mipsisa32-elf
#
# ${BINUTILS}/configure --target=$target --prefix=${PREFIX}
# ${GCC}/configure --target=$target --prefix=${PREFIX} \
# --enable-languages=c --with-gnu-as --with-gnu-ld \
# --with-newlib --with-gxx-include-dir=${PREFIX}/$target/include
#
ifndef TOOLPREFIX
TOOLPREFIX= /pub/gnu/bin/mipsisa32-elf-
endif
#
CC= ${TOOLPREFIX}gcc
LD= ${TOOLPREFIX}ld
STRIP= ${TOOLPREFIX}strip
OBJCOPY=${TOOLPREFIX}objcopy
NM= ${TOOLPREFIX}nm
LDOPTS+= -EB
COPTS+= -DAH_BYTE_ORDER=AH_BIG_ENDIAN
COPTS+= -G 0 -mno-abicalls -fno-pic -march=r4600 -Wa,--trap \
-fno-strict-aliasing -fno-common -fomit-frame-pointer -mlong-calls \
-isystem ${KERNELPATH}/include

View File

@ -0,0 +1,6 @@
#define AH_SUPPORT_AR5210 1
#define AH_SUPPORT_AR5211 1
#define AH_SUPPORT_AR5212 1
#define AH_SUPPORT_5111 1
#define AH_SUPPORT_5112 1
#define AH_SUPPORT_2413 1

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,69 @@
#
# Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer,
# without modification.
# 2. Redistributions in binary form must reproduce at minimum a disclaimer
# similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
# redistribution must be conditioned upon including a substantially
# similar Disclaimer requirement for further binary redistribution.
# 3. Neither the names of the above-listed copyright holders nor the names
# of any contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# Alternatively, this software may be distributed under the terms of the
# GNU General Public License ("GPL") version 2 as published by the Free
# Software Foundation.
#
# NO WARRANTY
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
# THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGES.
#
# $Id: mipsisa32-le-elf.inc,v 1.5 2004/01/07 23:09:31 sam Exp $
#
#
# Compilation configuration for building little-endian mipsisa32-elf.
#
#
# Built with GNU cross-devel tools:
#
# PREFIX=/pub/gnu
# BINUTILS=binutils-2.14
# GCC=gcc-3.3.2
# target=mipsisa32-elf
#
# ${BINUTILS}/configure --target=$target --prefix=${PREFIX}
# ${GCC}/configure --target=$target --prefix=${PREFIX} \
# --enable-languages=c --with-gnu-as --with-gnu-ld \
# --with-newlib --with-gxx-include-dir=${PREFIX}/$target/include
#
ifndef TOOLPREFIX
TOOLPREFIX= /pub/gnu/bin/mipsisa32-elf-
endif
#
CC= ${TOOLPREFIX}gcc
LD= ${TOOLPREFIX}ld
STRIP= ${TOOLPREFIX}strip
OBJCOPY=${TOOLPREFIX}objcopy
NM= ${TOOLPREFIX}nm
LDOPTS= -EL
COPTS+= -DAH_BYTE_ORDER=AH_LITTLE_ENDIAN
COPTS+= -G 0 -EL -mno-abicalls -fno-pic -march=r4600 -Wa,--trap \
-fno-strict-aliasing -fno-common -fomit-frame-pointer -mlong-calls

View File

@ -0,0 +1,6 @@
#define AH_SUPPORT_AR5210 1
#define AH_SUPPORT_AR5211 1
#define AH_SUPPORT_AR5212 1
#define AH_SUPPORT_5111 1
#define AH_SUPPORT_5112 1
#define AH_SUPPORT_2413 1

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,71 @@
#
# Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer,
# without modification.
# 2. Redistributions in binary form must reproduce at minimum a disclaimer
# similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
# redistribution must be conditioned upon including a substantially
# similar Disclaimer requirement for further binary redistribution.
# 3. Neither the names of the above-listed copyright holders nor the names
# of any contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# Alternatively, this software may be distributed under the terms of the
# GNU General Public License ("GPL") version 2 as published by the Free
# Software Foundation.
#
# NO WARRANTY
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
# THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGES.
#
# $Id: powerpc-be-eabi.inc,v 1.10 2004/09/11 22:02:02 sam Exp $
#
#
# Compilation configuration for building big-endian PowerPC/powerpc-eabi.
#
# Known to work on:
# IBM 450EP
#
# Built with GNU cross-devel tools:
#
# PREFIX=/pub/gnu
# BINUTILS=binutils-2.14
# GCC=gcc-3.3.2
# target=powerpc-eabi
#
# ${BINUTILS}/configure --target=$target --prefix=${PREFIX}
# ${GCC}/configure --target=$target --prefix=${PREFIX} \
# --enable-languages=c --with-gnu-as --with-gnu-ld \
# --with-newlib --with-gxx-include-dir=${PREFIX}/$target/include
#
ifndef TOOLPREFIX
TOOLPREFIX= /pub/gnu/bin/powerpc-eabi-
endif
#
CC= ${TOOLPREFIX}gcc
LD= ${TOOLPREFIX}ld
STRIP= ${TOOLPREFIX}strip
OBJCOPY=${TOOLPREFIX}objcopy
NM= ${TOOLPREFIX}nm
LDOPTS= -EB
COPTS+= -DAH_BYTE_ORDER=AH_BIG_ENDIAN -DAH_REGOPS_FUNC
COPTS+= -mbig-endian
COPTS+= -msoft-float -ffixed-r2

View File

@ -0,0 +1,6 @@
#define AH_SUPPORT_AR5210 1
#define AH_SUPPORT_AR5211 1
#define AH_SUPPORT_AR5212 1
#define AH_SUPPORT_5111 1
#define AH_SUPPORT_5112 1
#define AH_SUPPORT_2413 1

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,70 @@
#
# Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer,
# without modification.
# 2. Redistributions in binary form must reproduce at minimum a disclaimer
# similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
# redistribution must be conditioned upon including a substantially
# similar Disclaimer requirement for further binary redistribution.
# 3. Neither the names of the above-listed copyright holders nor the names
# of any contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# Alternatively, this software may be distributed under the terms of the
# GNU General Public License ("GPL") version 2 as published by the Free
# Software Foundation.
#
# NO WARRANTY
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
# THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGES.
#
# $Id: powerpc-le-eabi.inc,v 1.9 2004/09/11 22:02:02 sam Exp $
#
#
# Compilation configuration for building little-endian PowerPC/powerpc-eabi.
#
#
# Built with GNU cross-devel tools:
#
# PREFIX=/pub/gnu
# BINUTILS=binutils-2.14
# GCC=gcc-3.3.2
# target=powerpc-eabi
#
# ${BINUTILS}/configure --target=$target --prefix=${PREFIX}
# ${GCC}/configure --target=$target --prefix=${PREFIX} \
# --enable-languages=c --with-gnu-as --with-gnu-ld \
# --with-newlib --with-gxx-include-dir=${PREFIX}/$target/include
#
ifndef TOOLPREFIX
TOOLPREFIX= /pub/gnu/bin/powerpc-eabi-
endif
#
CC= ${TOOLPREFIX}gcc
LD= ${TOOLPREFIX}ld
STRIP= ${TOOLPREFIX}strip
OBJCOPY=${TOOLPREFIX}objcopy
NM= ${TOOLPREFIX}nm
LDOPTS= -EL
COPTS+= -DAH_BYTE_ORDER=AH_LITTLE_ENDIAN -DAH_REGOPS_FUNC
COPTS+= -mlittle-endian
# NB: explicitly disable multiple and string instructions for little-endian
COPTS+= -msoft-float -ffixed-r2 -mno-multiple -mno-string

View File

@ -0,0 +1,6 @@
#define AH_SUPPORT_AR5210 1
#define AH_SUPPORT_AR5211 1
#define AH_SUPPORT_AR5212 1
#define AH_SUPPORT_5111 1
#define AH_SUPPORT_5112 1
#define AH_SUPPORT_2413 1

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,62 @@
#
# Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer,
# without modification.
# 2. Redistributions in binary form must reproduce at minimum a disclaimer
# similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
# redistribution must be conditioned upon including a substantially
# similar Disclaimer requirement for further binary redistribution.
# 3. Neither the names of the above-listed copyright holders nor the names
# of any contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# Alternatively, this software may be distributed under the terms of the
# GNU General Public License ("GPL") version 2 as published by the Free
# Software Foundation.
#
# NO WARRANTY
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
# THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGES.
#
# $Id: sh4-le-elf.inc,v 1.5 2004/01/07 23:09:31 sam Exp $
#
#
# Compilation configuration for building little-endian SuperH/ELF.
#
#
# Built with pre-packaged tools for RedHat 7.3:
#
# http://mirror.sh-linux.org/rpm-index-2003/i386/ByName.html`
# binutils-sh-linux-2.13.90.0.18-1
# gcc-sh-linux-3.2.3-3
#
ifndef TOOLPREFIX
TOOLPREFIX= /pub/gnu/bin/sh-linux-
endif
#
CC= ${TOOLPREFIX}gcc
LD= ${TOOLPREFIX}ld
STRIP= ${TOOLPREFIX}strip
OBJCOPY=${TOOLPREFIX}objcopy
NM= ${TOOLPREFIX}nm
LDOPTS= -EL
COPTS+= -DAH_BYTE_ORDER=AH_LITTLE_ENDIAN
COPTS+= -ml -m4 -mno-implicit-fp

View File

@ -0,0 +1,6 @@
#define AH_SUPPORT_AR5210 1
#define AH_SUPPORT_AR5211 1
#define AH_SUPPORT_AR5212 1
#define AH_SUPPORT_5111 1
#define AH_SUPPORT_5112 1
#define AH_SUPPORT_2413 1

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,58 @@
#
# Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer,
# without modification.
# 2. Redistributions in binary form must reproduce at minimum a disclaimer
# similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
# redistribution must be conditioned upon including a substantially
# similar Disclaimer requirement for further binary redistribution.
# 3. Neither the names of the above-listed copyright holders nor the names
# of any contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# Alternatively, this software may be distributed under the terms of the
# GNU General Public License ("GPL") version 2 as published by the Free
# Software Foundation.
#
# NO WARRANTY
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
# THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGES.
#
# $Id: x86_64-elf.inc,v 1.2 2004/08/02 23:40:09 sam Exp $
#
#
# Compilation configuration for building x86-64-elf.
#
#
ifndef TOOLPREFIX
TOOLPREFIX= /pub/gnu/bin/x86_64-linux-
endif
#
CC= ${TOOLPREFIX}gcc
LD= ${TOOLPREFIX}ld
STRIP= ${TOOLPREFIX}strip
OBJCOPY=${TOOLPREFIX}objcopy
NM= ${TOOLPREFIX}nm
COPTS+= -DAH_BYTE_ORDER=AH_LITTLE_ENDIAN
COPTS+= -mcmodel=kernel -mno-red-zone
ifndef CONFIG_FRAME_POINTER
COPTS+= -fomit-frame-pointer
endif

View File

@ -0,0 +1,6 @@
#define AH_SUPPORT_AR5210 1
#define AH_SUPPORT_AR5211 1
#define AH_SUPPORT_AR5212 1
#define AH_SUPPORT_5111 1
#define AH_SUPPORT_5112 1
#define AH_SUPPORT_2413 1

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,76 @@
#
# Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer,
# without modification.
# 2. Redistributions in binary form must reproduce at minimum a disclaimer
# similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
# redistribution must be conditioned upon including a substantially
# similar Disclaimer requirement for further binary redistribution.
# 3. Neither the names of the above-listed copyright holders nor the names
# of any contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# Alternatively, this software may be distributed under the terms of the
# GNU General Public License ("GPL") version 2 as published by the Free
# Software Foundation.
#
# NO WARRANTY
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
# THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGES.
#
# $Id: xscale-be-elf.inc,v 1.8 2004/06/08 21:22:32 sam Exp $
#
#
# Compilation configuration for building big-endian XScale/arm-elf.
#
# NB: built with AH_REGOPS_FUNC to so that register accesses
# can be done using the Linux readl/writel functions on
# systems that need it.
#
# Reported to work on:
# IXP425
#
#
# Built with GNU cross-devel tools:
#
# PREFIX=/pub/gnu
# BINUTILS=binutils-2.14
# GCC=gcc-3.3.2
# target=arm-elf
#
# ${BINUTILS}/configure --target=$target --prefix=${PREFIX}
# ${GCC}/configure --target=$target --prefix=${PREFIX} \
# --enable-languages=c --with-gnu-as --with-gnu-ld \
# --with-newlib --with-gxx-include-dir=${PREFIX}/$target/include
#
ifndef TOOLPREFIX
TOOLPREFIX= /pub/gnu/bin/arm-elf-
endif
#
CC= ${TOOLPREFIX}gcc
LD= ${TOOLPREFIX}ld
STRIP= ${TOOLPREFIX}strip
OBJCOPY=${TOOLPREFIX}objcopy
NM= ${TOOLPREFIX}nm
LDOPTS= -EB
COPTS+= -DAH_BYTE_ORDER=AH_BIG_ENDIAN -DAH_REGOPS_FUNC
COPTS+= -march=armv4 -mbig-endian -fno-strict-aliasing -fno-common -mapcs-32 \
-mtune=xscale -mshort-load-bytes -msoft-float -mfp=2

View File

@ -0,0 +1,6 @@
#define AH_SUPPORT_AR5210 1
#define AH_SUPPORT_AR5211 1
#define AH_SUPPORT_AR5212 1
#define AH_SUPPORT_5111 1
#define AH_SUPPORT_5112 1
#define AH_SUPPORT_2413 1

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,77 @@
#
# Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer,
# without modification.
# 2. Redistributions in binary form must reproduce at minimum a disclaimer
# similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
# redistribution must be conditioned upon including a substantially
# similar Disclaimer requirement for further binary redistribution.
# 3. Neither the names of the above-listed copyright holders nor the names
# of any contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# Alternatively, this software may be distributed under the terms of the
# GNU General Public License ("GPL") version 2 as published by the Free
# Software Foundation.
#
# NO WARRANTY
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
# THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGES.
#
# $Id: xscale-le-elf.inc,v 1.1 2004/10/28 02:55:48 sam Exp $
#
#
# Compilation configuration for building little-endian XScale/arm-elf.
#
# NB: built with AH_REGOPS_FUNC to so that register accesses
# can be done using the Linux readl/writel functions on
# systems that need it.
#
# Reported to work on:
# Compulab's ARMBASE using ARMCORE GX
# (http://www.compulab.co.il/armbase.htm)
#
#
# Built with GNU cross-devel tools:
#
# PREFIX=/pub/gnu
# BINUTILS=binutils-2.14
# GCC=gcc-3.3.2
# target=arm-elf
#
# ${BINUTILS}/configure --target=$target --prefix=${PREFIX}
# ${GCC}/configure --target=$target --prefix=${PREFIX} \
# --enable-languages=c --with-gnu-as --with-gnu-ld \
# --with-newlib --with-gxx-include-dir=${PREFIX}/$target/include
#
ifndef TOOLPREFIX
TOOLPREFIX= /pub/gnu/bin/arm-elf-
endif
#
CC= ${TOOLPREFIX}gcc
LD= ${TOOLPREFIX}ld
STRIP= ${TOOLPREFIX}strip
OBJCOPY=${TOOLPREFIX}objcopy
NM= ${TOOLPREFIX}nm
LDOPTS= -EL
COPTS+= -DAH_BYTE_ORDER=AH_LITTLE_ENDIAN -DAH_REGOPS_FUNC
COPTS+= -march=armv4 -mlittle-endian -fno-strict-aliasing -fno-common \
-mapcs-32 -mtune=xscale -mshort-load-bytes -msoft-float -mfp=2

View File

@ -0,0 +1,6 @@
#define AH_SUPPORT_AR5210 1
#define AH_SUPPORT_AR5211 1
#define AH_SUPPORT_AR5212 1
#define AH_SUPPORT_5111 1
#define AH_SUPPORT_5112 1
#define AH_SUPPORT_2413 1

View File

@ -1,5 +1,5 @@
/*- /*-
* Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -33,6 +33,6 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGES. * THE POSSIBILITY OF SUCH DAMAGES.
* *
* $Id: version.h,v 1.27 2003/12/07 02:20:39 sam Exp $ * $Id: version.h,v 1.93 2004/12/07 18:55:19 sam Exp $
*/ */
#define ATH_HAL_VERSION "0.9.6.3" #define ATH_HAL_VERSION "0.9.14.9"