summaryrefslogtreecommitdiffstats
path: root/sys/arm
Commit message (Collapse)AuthorAgeFilesLines
* Be a little less magical, not that these values are likely to change...imp2012-05-212-4/+7
|
* Implement pmap_mincore for arm. Now programs using it don't cause aimp2012-05-211-3/+53
| | | | | | flood of console messages. Reviewed by: alc@
* Another minor re-arrangement of the code: calcualte the master clockimp2012-05-211-52/+64
| | | | | | | | | | | | frequency in the at91_pmc_clock_init rather than passing it in. Allow for frequencies >= 21MHz by rounding to the nearest 500Hz (Idea from Ian Lapore whose company uses a similar arrangement in their product). at91_pmc_clock_init() is now nearly independent of the rest of the pmc driver (which means we may be able to call it much earlier in boot soon to eliminate the master clock config file requirement for printf to work during early boot and also eliminate some interdependencies with the device ordering which requires pmc to be the first device added).
* Minor cleanup before some more major changes:imp2012-05-201-15/+11
| | | | | o main_clock_hz isn't used, eliminate it o move main clock calculation code and table so we have only one ifdef.
* Unbreak LINT for ARM: DEBUG is a kernel configuration option.marcel2012-05-191-3/+0
|
* Add localbus driver for Marvell's platforms.gber2012-05-181-0/+493
| | | | | Obtained from: Semihalf Supported by: FreeBSD Foundation, Juniper Networks
* Add architecture dependent code to support NAND Framework on Marvell SoCs.gber2012-05-188-28/+97
| | | | | Obtained from: Semihalf Supported by: FreeBSD Foundation, Juniper Networks
* Add glue/support for the SAM9XE512-based Ethernut 5 boards. Currently,marius2012-05-125-0/+364
| | | | | | | | all integrated and on-board peripherals except the DataFlash (at91_spi(4) and at45d(4) still need to be unb0rken) and NAND Flash (missing NAND framework) are working. AFAICT, this makes FreeBSD the first operating system besides Nut/OS supporting Ethernut 5 out of tree.
* Remove unused cruft. We call through memcpy more directly when weimp2012-05-111-5/+0
| | | | need to move the kernel, so we no longer need this.
* This comment has become unmoored from the code to which it applies.imp2012-05-111-6/+4
| | | | Move it back.
* Remove obsolte big endian flag. It is no longer needed.imp2012-05-112-2/+0
|
* Hack to unbreak boot2 for at91rm9200 boot loader. When the at91samimp2012-05-111-0/+2
| | | | | | code came in, it moved things around which wound up breaking the build. We have to do this bit of a hack to avoid duplication of a lot of #defines.
* Generate board id's from Linux's mach-types database for all armimp2012-05-102-0/+4201
| | | | | | ports. This currently is a nop, but will soon be used to allow support for multiple boards to be built into one kernel (starting with AT91RM9200 and expanding out from there).
* Fix the MACHINE_ARCH for big endian arm to be armeb.imp2012-05-061-0/+4
|
* I need to change uname -p, not uname -m, so back this out.imp2012-05-051-7/+3
| | | | | | Also, fix a couple of style(9) issues while I'm here. Submitted by: nathanw, bde
* Big endian arm boxes need to have a uname -m of armeb, not arm, soimp2012-05-051-0/+5
| | | | | | that the bootstrap from source works correctly. MFC after: 4 days
* Fix comment about what board this is really for left over from earlyimp2012-05-021-5/+1
| | | | cut and paste.
* The PIT is really 16 bytes long (0x10) not 10 bytes long. Doesn'timp2012-05-021-1/+1
| | | | | | matter much, since these defines are unused... Obtained from: AT91SAM9G20 datasheet
* - Add missing locking in at91_usart_getc().marius2012-05-011-117/+157
| | | | | | | | | | | | | | | | | | | | | | | | - Align the RX buffers on the cache line size, otherwise the requirement of partial cache line flushes on every are pretty much guaranteed. [1] - Make the code setting the RX timeout match its comment (apparently, start and stop bits were missed in the previous calculation). [1] - Cover the busdma operations in at91_usart_bus_{ipend,transmit}() with the hardware mutex, too, so these don't race against each other. - In at91_usart_bus_ipend(), reduce duplication in the code dealing with TX interrupts. - In at91_usart_bus_ipend(), turn the code dealing with RX interrupts into an else-if cascade in order reduce its complexity and to improve its run-time behavior. - In at91_usart_bus_ipend(), add missing BUS_DMASYNC_PREREAD calls on the RX buffer map before handing things over to the hardware again. [1] - In at91_usart_bus_getsig(), used a variable of sufficient width for storing the contents of USART_CSR. - Use KOBJMETHOD_END. - Remove an unused header. Submitted by: Ian Lepore [1] Reviewed by: Ian Lepore MFC after: 1 week
* Add a convenience macro for the returns_twice attribute, and apply it todim2012-04-291-1/+1
| | | | | | | the prototypes of the appropriate functions (getcontext, savectx, setjmp, sigsetjmp and vfork). MFC after: 2 weeks
* - Disable MMU before reconfiguring the pagetables in the trampoline code.stas2012-04-251-0/+11
| | | | | | | Otherwise we might end up overwriting the PTEs we're currently using for some reason. Reviewed by: cognet
* Interrupts must be disabled while handling a partial cache line flush,marius2012-04-221-20/+27
| | | | | | | | | | as otherwise the interrupt handling code may modify data in the non-DMA part of the cache line while we have it stashed away in the temporary stack buffer, then we end up restoring a stale value. PR: 160431 Submitted by: Ian Lepore MFC after: 1 week
* - Add support for MCI1 revision 2xx controllers and a work-around for theirmarius2012-04-222-7/+51
| | | | | | "Data Write Operation and number of bytes" erratum. - Use DEVMETHOD_END. - Use NULL instead of 0 for pointers.
* Replace the C implementation of __aeabi_read_tp with an assembly version.andrew2012-04-162-0/+7
| | | | | | This ensures we follow the ABI by preserving registers r1-r3. Reviewed by: jmallett, imp
* Generate an obviously missing STOP when having finished transmitting data.marius2012-04-141-0/+1
| | | | This fixes communication with PCF8563.
* Add support for the Atmel SAM9XE familiy of microcontrollers, whichmarius2012-04-141-5/+9
| | | | | | | consist of a ARM926EJ-S processor core with up to 512 Kbytes of on-chip flash. Tested with SAM9XE512. This file was missed in r234291.
* Add support for the Atmel SAM9XE familiy of microcontrollers, whichmarius2012-04-148-15/+41
| | | | | consist of a ARM926EJ-S processor core with up to 512 Kbytes of on-chip flash. Tested with SAM9XE512.
* - Try to bring these files closer to style(9).marius2012-04-1412-208/+236
| | | | | - Use DEVMETHOD_END. - Use NULL instead of 0 for pointers.
* - Revert part of r234005, which I did not intend to commit.stas2012-04-071-1/+1
| | | | Sorry! :(
* - Add kernel config file for QEMU-emulated gumstix board.stas2012-04-072-1/+93
|
* - Add new ARM kernel option QEMU_WORKAROUNDS which can bestas2012-04-071-2/+18
| | | | | | | used in the code which needs to implement some specific behaviour when being run under QEMU. - Make PXA UART probe code to work under QEMU gumstix, which doesn't emulate all the ports properly.
* Add software PMC support.fabient2012-03-281-1/+1
| | | | | | | | | | | | | New kernel events can be added at various location for sampling or counting. This will for example allow easy system profiling whatever the processor is with known tools like pmcstat(8). Simultaneous usage of software PMC and hardware PMC is possible, for example looking at the lock acquire failure, page fault while sampling on instructions. Sponsored by: NETASQ MFC after: 1 month
* Remove pty(4) from our kernel configurations.ed2012-03-2121-22/+0
| | | | | | | | | | | As of FreeBSD 8, this driver should not be used. Applications that use posix_openpt(2) and openpty(3) use the pts(4) that is built into the kernel unconditionally. If it turns out high profile depend on the pty(4) module anyway, I'd rather get those fixed. So please report any issues to me. The pty(4) module is still available as a kernel module of course, so a simple `kldload pty' can be used to run old-style pseudo-terminals.
* Fix error check.raj2012-03-151-1/+1
| | | | | Submitted by: Lukasz Plachno Obtained from: Semihalf
* Disable the option VFS_ALLOW_NONMPSAFE by default on all the supportedattilio2012-03-061-2/+0
| | | | | | | | | | | | platforms. This will make every attempt to mount a non-mpsafe filesystem to the kernel forbidden, unless it is expressely compiled with VFS_ALLOW_NONMPSAFE option. This patch is part of the effort of killing non-MPSAFE filesystems from the tree. No MFC is expected for this patch.
* Remove unused #defines. All this is now retrieved from the device tree.raj2012-03-041-126/+0
| | | | MFC after: 1 week
* - Change contigmalloc() to use the vm_paddr_t type instead of an unsignedjhb2012-03-011-5/+5
| | | | | | | | | | | | | | | long for specifying a boundary constraint. - Change bus_dma tags to use bus_addr_t instead of bus_size_t for boundary constraints. These allow boundary constraints to be fully expressed for cases where sizeof(bus_addr_t) != sizeof(bus_size_t). Specifically, it allows a driver to properly specify a 4GB boundary in a PAE kernel. Note that this cannot be safely MFC'd without a lot of compat shims due to KBI changes, so I do not intend to merge it. Reviewed by: scottl
* Make sure we do not provide the page 0 to the VM. It can't handle it properly,cognet2012-02-292-5/+15
| | | | | | | because pmap_extract() returns 0 when there's no mapping. PR: arm/154227 MFC after: 1 week
* Add C11 macros describing subnormal numbers to float.h.das2012-01-231-0/+16
| | | | Reviewed by: bde
* TDF_* flags should be used with td_flags field and TDP_* flags should be usedpjd2012-01-221-1/+1
| | | | | | | with td_pflags field. Correct two places where it was not the case. Discussed with: kib MFC after: 1 week
* Add parentheses where required. Without them, `sizeof LDBL_MAX'das2012-01-201-3/+3
| | | | | is a syntax error and shouldn't be, while `1 FLT_ROUNDS' isn't a syntax error and should be. Thanks to bde for the examples.
* Fix the value of float_t to match what is implied by FLT_EVAL_METHOD.das2012-01-161-1/+1
|
* Fix the definition of FLT_EVAL_METHOD and some minor bugs.das2012-01-161-4/+6
|
* Implement FLT_ROUNDS for arm. Some (all?) arm FPUs lack support fordas2012-01-161-1/+5
| | | | | | | | dynamic rounding modes, but FPUless chips that use softfloat can support it because everything is emulated anyway. (We presently have incomplete support for hardware FPUs.) Submitted by: Ian Lepore
* Remove spurious 8bit chars, turning files into plain ASCII.uqs2012-01-152-2/+2
|
* Add missing options so modules build/load correctly.adrian2012-01-051-0/+3
|
* Fix header pollution, possibly unbreaking the build of cfi_bus_ixp4xx.cmarius2011-12-313-1/+6
| | | | as part of cfi.ko.
* ARM pmap fixes:raj2011-12-152-2/+5
| | | | | | | | | | | | - Write Buffers have to be drained after write to Page Table even if caches are in write-through mode. - Make sure to sync PTE in pmap_zero_page_generic(). Submitted by: Michal Mazur Reviewed by: cognet Obtained from: Semihalf MFC after: 1 month
* Eliminate vestiges of page coloring.alc2011-12-151-3/+1
|
* Make *intr{cnt,names} on ARM reside in data section, similar to other arches.raj2011-12-141-2/+1
| | | | | | | | | | sintrnames and sintrcnt are initialized with non-zero values, which were discarded by the .bss directive, so consumers like "vmstat -i" were not getting correct data. Submitted by: Lukasz Plachno Obtained from: Semihalf MFC after: 1 month
OpenPOWER on IntegriCloud