summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-05-10athn(4) is going to support a new family of Atheros 802.11nDamien Bergamini
chips (AR9003), which differs from the currently supported families (AR5008, AR9001 and AR9002). The main differences (from a driver point of view) are: * DMA: Tx and Rx descriptors have changed. A single Tx descriptor can now reference up to 4 scatter/gather DMA segments. There is now a DMA ring for reporting Tx status with separate Tx status descriptors (this ring is used to report Tx status for all the Tx FIFOs). Rx status descriptors are now put at the beginning of Rx buffers and do not need to be allocated separately from buffers. There are two Rx FIFOs (low priority and high priority) instead of one. * ROM: The AR9003 family uses OTP-ROM instead of EEPROM. Reading the ROM is totally insane since vendors can provide only the chunks of ROM that differ from a default image (and thus the default image has to be stored in the driver). This is referenced as "compressed ROM" in the Linux driver, though there is no real compression involved, at least for the moment. * PHY registers: All PHY registers have changed. Some registers offsets do not fit on 16 bits anymore, but since they are 32-bit aligned, we can still make them fit on 16 bits to save .rodata space in initialization tables. * MAC registers: Some MAC registers offsets have changed (GPIO, interrupt masks) which is quite annoying (though ~98% remain the same.) * Initialization values: Initialization values are now split in mac/soc/bb/radio blocks and pre/core/post phases in the Linux driver. I have chosen to not go that road and merge these blocks in modal and non-modal initialization values (similar to the other families). The initialization order remains exactly the same as the Linux driver though. To manage these differences, I have split athn.c in two backends: ar5008.c contains the bits that are specific to the AR5008, AR9001 and AR9002 families (used by ar5416.c, ar9280.c, ar9285.c and ar9287.c) and that were previously in athn.c. ar9003.c contains the bits that are specific to the new AR9003 family (used by ar9380.c only for now.) I have introduced a thin hardware abstraction layer (actually a set of pointers to functions) that is used in athn.c. My intent is to keep this abstraction layer as thin as possible and not to create another ugly pile of abstraction layers a la MadWifi. I think I've managed to keep things sane, probably at the expense of duplicating some code in both ar5008.c and ar9003.c, but at least we do not have to dig through layers and layers of virtual descriptors to figure out what is mapped to the hardware. Tested for non-regression on various AR5416 (sparc64+i386), AR9281 and AR9285 (i386 only) adapters. AR9380 part is not tested (hardware is not available to the general public yet). Committed over my AR9285 2.0.
2010-05-10fix a few strcpy issues.Marc Espie
okay millert@, nicm@ ... (thx others for pointing out stupidity in intermediate patches...)
2010-05-10Fix tags targetMarco Peereboom
ok oga kettenis committed in the skys over the continental us :-)
2010-05-10zap trailing whitespace;Jason McIntyre
2010-05-10reflect reality, those types must match libc.Marc Espie
and then, we can have a default facet when locales are not defined. (this lets std::istringstream work again)
2010-05-10whitespace fixesMarc Espie
2010-05-10document that INSTALL/DEINSTALL scripts are dead.Marc Espie
2010-05-10typoMarc Espie
2010-05-10Rename use of some builtins that makes gcc4 warn.Nicholas Marriott
ok millert
2010-05-10Various comment typos. 'wether' -> 'whether' (most popular), 'possiblity' ->Kenneth R Westerback
'possibility', 'optins' -> 'options', 'resposne' -> 'response', 'unecessary' -> 'unnecessary', 'desination' -> 'destination'. Collected from various misc@ and tech@ postings, many by Brad Tilley.
2010-05-09back out 1.143, it causes data corruption on the mpis in sun v20z boxes,David Gwynne
but i suspect it is common to all SPI mpi parts. problem found and problem diff verified by landry. ok krw@ landry@ jasper@
2010-05-09Rename round() to fpu_round(). This matches the m68k code from which thisMark Kettenis
code is derived and makes gcc4 happy by avoiding a conflict with the builtin for the standard C99 round(3). ok miod@
2010-05-09Fix comments as well.Mark Kettenis
2010-05-09Rename round() to fpu_round(). This matches the m68k code from which thisMark Kettenis
code is derived and makes gcc4 happy by avoiding a conflict with the builtin for the standard C99 round(3). ok miod@
2010-05-09Since libsa/stand.h provides an extern declaration of devsw[], we should makeMark Kettenis
it static here. Makes gcc4 happier.
2010-05-09Fix packed use and unbreak with gcc4, same as i386.Nicholas Marriott
ok jsg
2010-05-09Attach pineview graphics in inteldrm.Owain Ainsworth
Tested by Jan Stary; thanks!
2010-05-09Support Pineview IGD in intagp.Owain Ainsworth
Tested by Jan Stary, thanks!
2010-05-09Set TARGET_CPU_DEFAULT to MASK_PA_11 on hppa to match what we had for gcc3.Mark Kettenis
2010-05-09another Os out of order;Jason McIntyre
2010-05-09Origin 3000 here tooMiod Vallat
2010-05-09Proper support for IP35 C-Brick types (i.e. Origin 3000): do not attachMiod Vallat
a (missing) second serial port to ioc(4), read spdmem(4) records from the right index, and query the Ethernet address from the I-Brick eeprom instead of the C-Brick eeprom. Tested by Sebastian Reitenbach, thanks!
2010-05-09Program a larger PCI retry hold interval if there is a Lucent USB controllerMiod Vallat
on the bus, to workaround timeout problems, according to IRIX knowledge which made its way to Linux.
2010-05-09if the sample rate the hardware will use is different than theJacob Meuser
requested sample rate, scale the block/buffer sizes so the block/ buffer sizes the hardware will use are the same amount of *time* as the requested block/buffer sizes. ok ratchov@
2010-05-09-Wstack-larger-than-N for hppa/hppa64.Mark Kettenis
2010-05-09Prevent "taken branch" exceptions from kernel space by clearing the PSL_TMark Kettenis
bit before we enter a signal handler. "if you say so" miod@, "seems to make sense" jsing@
2010-05-09Make single stepping a system call work. Instead of single stepping throughMark Kettenis
the syscall gateway page, which doesn't work since that page is shared between processes, this makes us step over that bit by setting a breakpoint on the instruction where the system call returns. ok miod@, jsing@
2010-05-09- audio/rio500 has been removed from ports, so refer to audio/rioutil insteadJasper Lievisse Adriaanse
2010-05-09Mark _MCOUNT_DECL as __used to prevent gcc4 from optimizing it away when itMark Kettenis
is only referenced from inline asm. ok jsg@
2010-05-09hander -> handlerJasper Lievisse Adriaanse
ok miod@
2010-05-09shuffle an extern around so gcc4 doesn't whinge about incomplete typesJonathan Gray
as suggested by miod. ok miod@
2010-05-09in recent change, an assignation was removed which would cause a bogusGilles Chehade
pointer deref if we actually went through this code path (reload, does not work yet so it is disabled)
2010-05-09Document that el_init can return NULL on failure, PR 6374 from rueda atNicholas Marriott
devio.us. ok jmc
2010-05-09tweak previous;Jason McIntyre
2010-05-09Handle .rodata.* sections emitted by gcc4 the same way as .rodata and .rodata1.Mark Kettenis
2010-05-09Makefile for libobjc for gcc4Robert Nagy
2010-05-09-Wstack-larger-than-N for sparc/sparc64.Mark Kettenis
2010-05-09Accept and ignore -Wbounded, fully implementing this is in the worksJonathan Gray
but this makes things less painful for people for the time being. ok kettenis@ robert@
2010-05-09This file won't be needed, espie pointed out how stupid I was.Robert Nagy
2010-05-09define COMPILER_VERSION to be used later.Marc Espie
Based on dale's idea. (please install this file now, so you won't get errors when we commit the rest).
2010-05-09Make i386 use a pointer to the trap frame like everybody else instead ofMark Kettenis
the weird "pass by reference" that causes problems with gcc4. ok nicm@, tom@
2010-05-09Modift -fstack-protector support such that it works with the supportMark Kettenis
functions in our libc and continues to provide the function name to __stack_smash_handler(). ok miod@
2010-05-09fix obvious typo, unbreak build on i386Marc Espie
2010-05-09use _dl_memset() instead of bzero() here. Unbreaks sparc build.Matthieu Herrb
ok kettenis@
2010-05-09Only #define _GLIBCXX_ATOMIC_BUILTINS on architectures where we use GCC'sMark Kettenis
builtin atomic operations. ok robert@
2010-05-09Reserve space for 6 extended word argument slots required by the ABI.Mark Kettenis
Apparently gcc4 uses them in cases where gcc3 didn't. Fixes segmentation faults with gcc4 because the space for the slots was colliding with the space for dl_data that we allocated on the stack. ok miod@
2010-05-08disk_busy()/disk_unbusy() dance; from NetBSD.Miod Vallat
2010-05-08Huge work-in-progress commit to support Loongson 2E-based evaluation boardsMiod Vallat
with a VIA 686 southbridge. Features: - 686 setup code (no thanks to PMON for not initializing the beast). - work in progress ISA interrupt handling code. - support for vga(4) compatible devices as console, in PC-compatible text mode. - move legacy (ISA) support code out of bonito(4) to make things clearer. - support more than 256MB on 2E-based systems. Tested on a generic 2E-based evaluation board by someone who wishes to remain anonymous; you know who you are, thank you very much for testing.
2010-05-08Defines for the Intel 8259 PIC and compatible designs, because hardwiredMiod Vallat
numbers are a PITA in the long run; from NetBSD.
2010-05-08A little bit of a hack.Owain Ainsworth
If userland asks to allocate an object large enough that two that size could not fit around the pinned objects, disallow it with EFBIG. This prevents mmap of large objects that big and copying between them putting the machine into infinite thrashing. with a patch to the ddx (on my git branch) that allocates a non-accelerated pixmap when it gets that return code, matthieu@s test huge image works happily when before it DOSed the kernel. The correct fix would be to fall back to mmaping the backing pages for objects that big (radeondrm will need such ability anyway). This however is a lot more complicated and I am still working out how to do it correctly hence this commit for now.