summaryrefslogtreecommitdiffstats
path: root/sys/arm
Commit message (Collapse)AuthorAgeFilesLines
...
* opt_at91.h isn't needed here at all anymore, since the board initimp2008-11-301-1/+0
| | | | | routines have been split out. Remove it. This leaves only one instance of it in the tree that will be going away soon.
* Convert BWCT and HL200 over to new board mechanism as well. Theimp2008-11-2511-51/+260
| | | | | TSC4370 config file wasn't committed to this tree, so I don't know if my changes will work on it or not.
* Start to make it easier to add AT91RM9200 based boards:imp2008-11-257-52/+135
| | | | | | | | | | | | | o Copy kb920x_machdep.c to at91_machdep.c o Move board_init to new board_kb920x.c o rename ramsize to at91_ramsize and make it accessible to board_* files. o Delete files.kb920x. We can do this selection with the new boards. o Add a stub for the tsc4370 board init, which will be added in a future commit. o Add new 'devices' at91_board_kb920x and at91_board_tsc4370. More are needed and will be added in future commits. Reviewed by: stass, cognet
* Whitespace nit.imp2008-11-251-2/+2
|
* Save boot args.imp2008-11-251-0/+5
|
* more silly whitespace changes.imp2008-11-251-4/+2
|
* Fix various whitespace botches, mostly having them at the end of a line.imp2008-11-251-15/+13
|
* Replace disclaimer with the one from COPYRIGHT. Joint authors aggreedimp2008-11-253-30/+33
| | | | to the change.
* Replace three magic constants with L1_S_SIZE, since that's what isimp2008-11-251-3/+3
| | | | really meant in those places.
* Tweak the disclaimer section of the license to match COPYRIGHT, forimp2008-11-2527-270/+298
| | | | | better or worse. Ok'd by folks that have additional copyrights to the files in cases where there's joint authorship.
* Add sv_flags field to struct sysentvec with intention to provide descriptionkib2008-11-221-1/+2
| | | | | | | | of the ABI of the currently executing image. Change some places to test the flags instead of explicit comparing with address of known sysentvec structures to determine ABI features. Discussed with: dchagin, imp, jhb, peter
* - bump __FreeBSD version to reflect added buf_ring, memory barriers,kmacy2008-11-221-0/+4
| | | | | | | | | | | | | | | | | and ifnet functions - add memory barriers to <machine/atomic.h> - update drivers to only conditionally define their own - add lockless producer / consumer ring buffer - remove ring buffer implementation from cxgb and update its callers - add if_transmit(struct ifnet *ifp, struct mbuf *m) to ifnet to allow drivers to efficiently manage multiple hardware queues (i.e. not serialize all packets through one ifq) - expose if_qflush to allow drivers to flush any driver managed queues This work was supported by Bitgravity Inc. and Chelsio Inc.
* Improve error handling in pcib_mbus_identify().raj2008-11-191-1/+3
|
* Improve style(9) and other cosmetics in Marvell SOCs code.raj2008-11-193-64/+64
|
* Fix off-by-one error in mbus_attach().raj2008-11-191-1/+1
|
* Enable PCI in Marvell kernel configs.raj2008-11-193-0/+6
|
* PCI/PCI-Express support for Marvell systems.raj2008-11-1912-93/+1011
| | | | Obtained from: Marvell, Semihalf
* - Fix two minor errors in at91 code.stas2008-11-182-2/+2
| | | | | | PR: arm/128959 Submitted by: Bjorn Konig <bkoenig@alpha-tierchen.de> Approved by: kib (mentor)
* ARM pmap style(9) and cosmetics.raj2008-11-061-5/+5
|
* Auto-size kernel page tables allocation on Marvell systems.raj2008-11-061-11/+9
| | | | | | This allows mini dumps to fully work for these platforms. Obtained from: Juniper Networks, Semihalf
* Support kernel crash mini dumps on ARM architecture.raj2008-11-066-4/+570
| | | | Obtained from: Juniper Networks, Semihalf
* Allow card reader bridge driver to report maximum supported transfer size.mav2008-10-291-0/+4
| | | | | | | | | sdhci supports up to 65535 blocks transfers, at91_mci - one block. Enable multiblock operations disabled before to follow at91_mci driver limitations. Reviewed by: imp@
* - Add stream bus_space operations.stas2008-10-261-0/+36
| | | | | | Reviewed by: cognet Approved by: kib (mentor, implicit) MFC after: 1 week
* - Add a missing NULL-pointer check.stas2008-10-261-2/+4
| | | | | | Reviewed by: cognet Approved by: kib (mentor, implicit) MFC after: 3 days
* Retire the MALLOC and FREE macros. They are an abomination unto style(9).des2008-10-231-2/+2
| | | | MFC after: 3 months
* Add arm/conf/DEFAULTS and populate it with:marcel2008-10-2315-28/+11
| | | | | | | | | | machine arm device mem options GEOM_BSD options GEOM_MBR Remove the first two from all kernel configuration files and change geom_bsd and geom_mbr from standard to optional.
* Eliminate flushing of L2 cache in ARM context switch routines.raj2008-10-161-8/+0
| | | | | | | With VIPT L2 cache such syncing not only is redundant, but also a performance penalty. Pointed out by: cognet
* correct sizeof calculationsam2008-10-141-1/+1
| | | | | | PR: arm/128095 Submitted by: Henning Petersen MFC after: 1 week
* Initial support of loader(8) for ARM machines running U-Boot.raj2008-10-143-1/+82
| | | | | | | | | | This uses the common U-Boot support lib (sys/boot/uboot, already used on FreeBSD/powerpc), and assumes the underlying firmware has the modern API for stand-alone apps enabled in the config (CONFIG_API). Only netbooting is supported at the moment. Obtained from: Marvell, Semihalf
* Add kernel config files for Marvell development boards.raj2008-10-143-0/+235
| | | | | | | | | | | | | | | | FreeBSD 8-CURRENT was tested and run successfully on the following eval boards and devices : * DB-88F5182, DB-88F5281 (Orion based) * DB-88F6281, RD-88F6281 (Kirkwood based) * DB-78100 (Discovery based) For more detailed info on build instructions and other examples please refer to http://wiki.freebsd.org/FreeBSDMarvell Obtained from: Marvell, Semihalf
* Introduce basic support for Marvell families of system-on-chip ARM devices:raj2008-10-1328-1/+5698
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Orion - 88F5181 - 88F5182 - 88F5281 * Kirkwood - 88F6281 * Discovery - MV78100 The above families of SOCs are built around CPU cores compliant with ARMv5TE instruction set architecture definition. They share a number of integrated peripherals. This commit brings support for the following basic elements: * GPIO * Interrupt controller * L1, L2 cache * Timers, watchdog, RTC * TWSI (I2C) * UART Other peripherals drivers will be introduced separately. Reviewed by: imp, marcel, stass (Thanks guys!) Obtained from: Marvell, Semihalf
* One more L2 cache synchronization call that didn't make the previous commit.raj2008-10-131-0/+2
|
* Provide L2 cache synchronization (write back + invalidation) on ARM.raj2008-10-135-12/+134
| | | | | | | Note the cpu_l2cache_wbinv_* routines are no-ops on systems not populated with L2 caches. Obtained from: Marvell, Semihalf
* Do not use cached page for temporary mapping in pmap_zero_page_generic()raj2008-10-131-10/+8
| | | | | | | | | | | | | | | | | The physical page which we clear is accessed via additional temp kernel mapping for the period of zeroing operation. However in systems with virtual d-cache (most ARMs) when write-allocate feature is enabled, we can have modified but unflushed content pertaining to this physical page still in the d-cache due to its primary (pre-existing) mapping. In such scenario that cached content upon flush is likely to overwrite [portions of] the physical page we want to zero here.. This is a general problem with multiple virtual mappings covering the same physical page with write-allocate and virtual d-cache: there is inherent potential for corruptions of this kind, which are not easily resolved; it is best policy that such multiple mappings be not allowed. Obtained from: Marvell, Semihalf
* Introduce low-level support for new Marvell core CPUs: 88FR131, 88FR571.raj2008-10-135-4/+514
| | | | | | | They are compliant with ARMv5TE and integrated on 88F6281 (Kirkwood) and MV78100 (Discovery) system-on-chip families. Obtained from: Marvell, Semihalf
* Use bus_get_dma_tag() instead of NULL here. Not really needed for atmelimp2008-10-074-17/+18
| | | | at the moment, but it is more correct.
* Allow static hints to override kenv.bms2008-10-021-0/+5
|
* Collect N identical (or near identical) mkdumpheader() implementations intopeter2008-10-011-22/+1
| | | | one, as threatened in the comment. Textdump magic can be passed in.
* Properly implement read only. Also, the caps implementation is wrongimp2008-09-301-5/+1
| | | | here, so I'm backing it out.
* Implement MMCBR_IVAR_CAPS for AT91 MCI device.imp2008-09-281-0/+5
| | | | Submitted by: mav@ (well, not this one, but the base impl was)
* White space nit.imp2008-09-281-1/+0
|
* Replace all calls to minor() with dev2unit().ed2008-09-271-4/+4
| | | | | | | | | | | | | | | After I removed all the unit2minor()/minor2unit() calls from the kernel yesterday, I realised calling minor() everywhere is quite confusing. Character devices now only have the ability to store a unit number, not a minor number. Remove the confusion by using dev2unit() everywhere. This commit could also be considered as a bug fix. A lot of drivers call minor(), while they should actually be calling dev2unit(). In -CURRENT this isn't a problem, but it turns out we never had any problem reports related to that issue in the past. I suspect not many people connect more than 256 pieces of the same hardware. Reviewed by: kib
* Change the static struct sysentvec and struct Elf_Brandinfo initializerskib2008-09-241-44/+45
| | | | | | | | | | | to the C99 style. At least, it is easier to read sysent definitions that way, and search for the actual instances of sigcode etc. Explicitely initialize sysentvec.sv_maxssiz that was missed in most sysvecs. No objection from: jhb MFC after: 1 month
* Bandaid: disable interrupts to make sure intr_enabled and the IER registercognet2008-09-111-3/+8
| | | | | are in sync. I'm not sure why it is needed, and why it wouldn't be on other arm platforms, but it prevents a lockup under heavy I/O.
* Remove the unused field "pc_prvspace" from the MD fields for the structcognet2008-09-111-6/+1
| | | | | | | pcpu. There's not even a thing such as a "struct pcup". While I'm there, remove a comment that makes no sense for arm. Spotted out by: Mark Tinguely
* ARM nexus style(9) improvements.raj2008-09-111-34/+31
|
* ARM interrupts improvements.raj2008-09-113-14/+16
| | | | | | | | | | | | | - Fix nexus_setup_intr() abuse of setting up multiple IRQs in one go. Calling arm_setup_irqhandler() in loop is bogus, as there's just one cookie given from the caller and it is overwritten in each iteration so that only the last handler's cookie value prevails. - Proper intr masking/unmasking handling: the IRQ source is masked at PIC level only after the last handler has been removed from the list. Reviewed by: cognet, imp, sam, stass Obtained from: Grzegorz Bernacki gjb ! semihalf dot com
* IXP425: split handling of the two QMGR interrupts so they are separatelyraj2008-09-111-14/+42
| | | | | | | managed. Adjust ixpqmgr_{attach,detach} to comply with device_* interface. Reviewed by: cognet, imp, sam, stass Tested by: cognet
* Commit the no-brainer parts of my space saving kernel experiments. Weimp2008-09-081-1/+5
| | | | | | | don't inline the locking primitives, and only grab those parts of mii that we really need. Other space optimizations are too agressive for the generic file (removing all of usb, and loading it as kernel modules).
* Minor cleanup of this config file:imp2008-09-071-9/+12
| | | | | | | | o It has been tested only on KB9202, KB9202A and KB9202B boards o Better comments about hints o option<space><tab> o Add newer SX_NOINLINE option. o Fix a few comments
OpenPOWER on IntegriCloud