summaryrefslogtreecommitdiffstats
path: root/sys/arm/xscale/i80321
Commit message (Collapse)AuthorAgeFilesLines
* Eliminate a redundant #include: machine/pmap.h is already includedalc2013-03-012-2/+0
| | | | through vm/pmap.h.
* Complete r247297:attilio2013-02-282-4/+0
| | | | | | Remove unused inclusions of vm/vm_pager.h and vm/vnode_pager.h. Sponsored by: EMC / Isilon storage division
* Initialize vm_max_kernel_address on non-FDT platforms. (This should havealc2013-02-202-4/+4
| | | | | | | | been included in r246926.) The second parameter to pmap_bootstrap() is redundant. Eliminate it. Reviewed by: andrew
* Clean up the two i80321 copies of initarm to be closer to one another.andrew2012-11-172-42/+43
|
* Create a common set_stackptrs in sys/arm/machdep.c.andrew2012-09-222-30/+2
| | | | | | | On single core devices set_stackptrs is only ever called with cpu = 0 in initarm and will be identical to the existing function. On SMP this needs to be implemented for sys/arm/mp_machdep.c, but the implementations are identical for each SoC.
* Set machine correctly on ARM. This allows universe to use the correct worldandrew2012-08-182-2/+2
| | | | | | when building each kernel. Reviewed by: imp
* Merging projects/armv6, part 1gonzo2012-08-152-6/+0
| | | | | | | | | Cummulative patch of changes that are not vendor-specific: - ARMv6 and ARMv7 architecture support - ARM SMP support - VFP/Neon support - ARM Generic Interrupt Controller driver - Simplification of startup code for all platforms
* Remove some unused variables/externs that have been copied too many times...imp2012-07-102-10/+0
|
* Modify all the arm platform files to call parse_boot_param passing inimp2012-06-142-2/+2
| | | | | | | | | | | | | the boot parameters from initarm first thing. parse_boot_param parses the boot arguments and converts them to the /boot/loader metadata the rest of the kernel uses. parse_boot_param is a weak alias to fake_preload_metadata, which all the platforms use now, but may become more extensive in the future. Since it is a weak symbol, specific boards may define their own parse_boot_param to interface to custom boot loaders. Reviewed by: cognet@, Ian Lapore
* Remove leakage of other patches into last commit.imp2012-06-132-2/+2
|
* trim trailing spaces that have accumulated over the years (these filesimp2012-06-1313-72/+72
| | | | served as the basis for too many other platforms).
* Remove an unneeded increment from initarm. The variable is uninitialised,andrew2012-06-101-1/+0
| | | | | is not used in this part of the function and correctly initialised later when it is used.
* Pull out the common code to initialise proc0 & thread0 from initarm to aandrew2012-06-102-18/+2
| | | | | | common function. Reviewed by: imp
* Minor rearrangement of the locore <-> initarm interface. Pass in aimp2012-06-032-2/+2
| | | | | | structure with the first 4 registers to allow a wider range of boot loaders to work. Future commits will make use of this to centralize support for the different loaders.
* - There's no need to overwrite the default device method with the defaultmarius2011-11-221-2/+1
| | | | | | | | | | one. Interestingly, these are actually the default for quite some time (bus_generic_driver_added(9) since r52045 and bus_generic_print_child(9) since r52045) but even recently added device drivers do this unnecessarily. Discussed with: jhb, marcel - While at it, use DEVMETHOD_END. Discussed with: jhb - Also while at it, use __FBSDID.
* Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.ed2011-11-071-1/+1
| | | | | | The SYSCTL_NODE macro defines a list that stores all child-elements of that node. If there's no SYSCTL_DECL macro anywhere else, there's no reason why it shouldn't be static.
* Check the return value of BUS_SETUP_INTR()kevlo2011-10-271-2/+6
| | | | Reviewed by: imp
* Fix typos - remove duplicate "the".brucec2011-02-211-1/+1
| | | | | | PR: bin/154928 Submitted by: Eitan Adler <lists at eitanadler.com> MFC after: 3 days
* Call init_param1() much earlier, so that msgbufsize is non-zero when we wantcognet2011-02-132-4/+6
| | | | to map and use the msgbuf.
* Make MSGBUF_SIZE kernel option a loader tunable kern.msgbufsize.pluknet2011-01-212-8/+4
| | | | | | | Submitted by: perryh pluto.rain.com (previous version) Reviewed by: jhb Approved by: kib (mentor) Tested by: universe
* Remove remaining bits of performance counter support.rpaulo2009-10-031-2/+0
| | | | Submitted by: Tom Judge <tom at tomjudge.com>
* Implement a facility for dynamic per-cpu variables.jeff2009-06-232-0/+10
| | | | | | | | | | | | | | | - Modules and kernel code alike may use DPCPU_DEFINE(), DPCPU_GET(), DPCPU_SET(), etc. akin to the statically defined PCPU_*. Requires only one extra instruction more than PCPU_* and is virtually the same as __thread for builtin and much faster for shared objects. DPCPU variables can be initialized when defined. - Modules are supported by relocating the module's per-cpu linker set over space reserved in the kernel. Modules may fail to load if there is insufficient space available. - Track space available for modules with a one-off extent allocator. Free may block for memory to allocate space for an extent. Reviewed by: jhb, rwatson, kan, sam, grehan, marius, marcel, stas
* strict kobj signatures: number of fixes for arm architectureavg2009-06-111-4/+4
| | | | | | | no functional changes should result Reviewed by: imp, current@ Approved by: jhb (mentor)
* Pass the previously returned IRQ back to arm_get_next_irq() so thatmarcel2009-06-091-1/+1
| | | | | | | | | the implementation can guarantee forward progress in the event of a stuck interrupt or interrupt storm. This is especially critical for fast interrupt handlers, as they can cause a hard hang in that case. When first called, arm_get_next_irq() is passed -1. Obtained from: Juniper Networks, Inc.
* - Fix spelling error in comments.stas2008-12-012-2/+2
| | | | | | PR: arm/128891 Submitted by: Pavel Pankov <pankov_p@mail.ru> Approved by: kib (mentor)
* Eliminate unused global variables. (These global variables became fields ofalc2008-07-182-2/+0
| | | | struct kva_md_info many years ago.)
* Remove some long-dead codekevlo2008-04-082-8/+0
| | | | Reviewed by: cognet
* Remove bus_space_generic.c from the per-plarform files. Having it in thecognet2008-04-052-2/+0
| | | | per-cpu files should be enough.
* Refactor certain ARM bus space methods: instead of having multiple copies ofraj2008-04-035-103/+10
| | | | | | | | the same code introduce sys/arm/arm/bus_space_generic.c for a shared set of routines. Reviewed by: sam Approved by: cognet (mentor)
* Take the first baby step towards unifying and cleaning up arminit():imp2008-04-032-103/+4
| | | | | | | | - Pull all the code to deal with the trampoline stuff into one centeralized place and use it from everywhere. - Some minor style tidiness Reviewed by: tinguely
* Fix for the panic("vm_thread_new: kstack allocation failed") andkib2007-11-052-2/+2
| | | | | | | | | | | | | | | | | | | | silent NULL pointer dereference in the i386 and sparc64 pmap_pinit() when the kmem_alloc_nofault() failed to allocate address space. Both functions now return error instead of panicing or dereferencing NULL. As consequence, vmspace_exec() and vmspace_unshare() returns the errno int. struct vmspace arg was added to vm_forkproc() to avoid dealing with failed allocation when most of the fork1() job is already done. The kernel stack for the thread is now set up in the thread_alloc(), that itself may return NULL. Also, allocation of the first process thread is performed in the fork1() to properly deal with stack allocation failure. proc_linkup() is separated into proc_linkup() called from fork1(), and proc_linkup0(), that is used to set up the kernel process (was known as swapper). In collaboration with: Peter Holm Reviewed by: jhb
* Make the PCI code aware of PCI domains (aka PCI segments) so we canmarius2007-09-301-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | support machines having multiple independently numbered PCI domains and don't support reenumeration without ambiguity amongst the devices as seen by the OS and represented by PCI location strings. This includes introducing a function pci_find_dbsf(9) which works like pci_find_bsf(9) but additionally takes a domain number argument and limiting pci_find_bsf(9) to only search devices in domain 0 (the only domain in single-domain systems). Bge(4) and ofw_pcibus(4) are changed to use pci_find_dbsf(9) instead of pci_find_bsf(9) in order to no longer report false positives when searching for siblings and dupe devices in the same domain respectively. Along with this change the sole host-PCI bridge driver converted to actually make use of PCI domain support is uninorth(4), the others continue to use domain 0 only for now and need to be converted as appropriate later on. Note that this means that the format of the location strings as used by pciconf(8) has been changed and that consumers of <sys/pciio.h> potentially need to be recompiled. Suggested by: jhb Reviewed by: grehan, jhb, marcel Approved by: re (kensmith), jhb (PCI maintainer hat)
* There's no need to re-read PCIR_COMMAND once we set it.cognet2007-09-041-2/+0
| | | | Approved by: re (blanket)
* Cleanupcognet2007-07-272-8/+2
| | | | Approved by: re (blanket)
* Do not define NIRQ, it is already defined in include/intr.hcognet2007-07-271-5/+0
| | | | Approved by: re (blanket)
* Share the timer and watchdog drivers with the i81342. It's the same,cognet2007-07-272-7/+70
| | | | | | except it uses different registers. Approved by: re (blanket)
* Remove duplicate includes.cognet2007-05-232-2/+0
| | | | Submitted by: Cyril Nguyen Huu <cyril ci0 org>
* Remove sa1_cache_clean_addr. It isn't needed.kevlo2007-05-032-4/+0
|
* Don't expose the uart_ops structure directly, but instead havemarcel2007-04-021-1/+1
| | | | | | | | | | | | it obtained through the uart_class structure. This allows us to declare the uart_class structure as weak and as such allows us to reference it even when it's not compiled-in. It also allows is to get the uart_ops structure by name, which makes it possible to implement the dt tag handling in uart_getenv(). The side-effect of all this is that we're using the uart_class structure more consistently which means that we now also have access to the size of the bus space block needed by the hardware when we map the bus space, eliminating any hardcoding.
* Revisit the watchdogs: Resetting the error to EINVAL after failing to set then_hibma2007-03-271-5/+2
| | | | | | | | watchdog might hide the succesful arming of an earlier one. Accept that on failing to arm any watchdog (because of non-supported timeouts) EOPNOTSUPP is returned instead of the more appropriate EINVAL. MFC after: 3 days
* o break newbus api: add a new argument of type driver_filter_t topiso2007-02-233-12/+12
| | | | | | | | | | | | | bus_setup_intr() o add an int return code to all fast handlers o retire INTR_FAST/IH_FAST For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current Reviewed by: many Approved by: re@
* Align the interfaces for the various watchdogs and make the interfacen_hibma2006-12-151-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | | behave as expected. Also: - Return an error if WD_PASSIVE is passed in to the ioctl as only WD_ACTIVE is implemented at the moment. See sys/watchdog.h for an explanation of the difference between WD_ACTIVE and WD_PASSIVE. - Remove the I_HAVE_TOTALLY_LOST_MY_SENSE_OF_HUMOR define. If you've lost your sense of humor, than don't add a define. Specific changes: i80321_wdog.c Don't roll your own passive watchdog tickle as this would defeat the purpose of an active (userland) watchdog tickle. ichwd.c / ipmi.c: WD_ACTIVE means active patting of the watchdog by a userland process, not whether the watchdog is active. See sys/watchdog.h. kern_clock.c: (software watchdog) Remove a check for WD_ACTIVE as this does not make sense here. This reverts r1.181.
* Threading cleanup.. part 2 of several.julian2006-12-062-8/+0
| | | | | | | | | | | | | | | | | | | | | | Make part of John Birrell's KSE patch permanent.. Specifically, remove: Any reference of the ksegrp structure. This feature was never fully utilised and made things overly complicated. All code in the scheduler that tried to make threaded programs fair to unthreaded programs. Libpthread processes will already do this to some extent and libthr processes already disable it. Also: Since this makes such a big change to the scheduler(s), take the opportunity to rename some structures and elements that had to be moved anyhow. This makes the code a lot more readable. The ULE scheduler compiles again but I have no idea if it works. The 4bsd scheduler still reqires a little cleaning and some functions that now do ALMOST nothing will go away, but I thought I'd do that as a separate commit. Tested by David Xu, and Dan Eischen using libthr and libpthread.
* Provide stream operations.cognet2006-12-021-0/+36
|
* Match bus space unmap prototype.kevlo2006-11-202-3/+3
| | | | Approved by: cognet
* Compile -- remove an unused global variable avail_end.kevlo2006-11-172-2/+0
| | | | Approved by: cognet
* Make KSE a kernel option, turned on by default in all GENERICjb2006-10-262-0/+8
| | | | | | | kernel configs except sun4v (which doesn't process signals properly with KSE). Reviewed by: davidxu@
* Fill in dump_avail[] before pmap_boostrap() is called so thatcognet2006-08-271-4/+4
| | | | ARM_USE_SMALL_ALLOC work.
* Finally bring it support for the i80219 XScale processor.cognet2006-08-2412-71/+729
| | | | Submitted by: Max M. Boyarov <m.boyarov bsd by>
* Rewrite ARM_USE_SMALL_ALLOC so that instead of the current behavior, it mapscognet2006-08-081-4/+9
| | | | | | | | whole the physical memory, cached, using 1MB section mappings. This reduces the address space available for user processes a bit, but given the amount of memory a typical arm machine has, it is not (yet) a big issue. It then provides a uma_small_alloc() that works as it does for architectures which have a direct mapping.
OpenPOWER on IntegriCloud