summaryrefslogtreecommitdiffstats
path: root/sys/mips
Commit message (Collapse)AuthorAgeFilesLines
* FDT support for MIPS.jchandra2011-10-183-0/+103
| | | | | Add architecture specific files needed to compile MIPS with flattened device tree support.
* Close a race where SIOCGIFMEDIA ioctl get inconsistent link status.yongari2011-10-172-2/+2
| | | | | | | | Because driver is accessing a common MII structure in mii_pollstat(), updating user supplied structure should be done before dropping a driver lock. Reported by: Karim (fodillemlinkarimi <> gmail dot com)
* Fix for crash on MIPS /dev/mem read.jchandra2011-10-171-0/+1
| | | | | | | | Reading /dev/mem in 64 bit kernel crashes. This is because the page used to call uiomove_fromphys() from memrw() does not have md.pv_list initialized correctly. The fix is to call pmap_page_init() on the page to initialize it.
* - change "is is" to "is" or "it is"eadler2011-10-161-1/+1
| | | | | | | | - change "the the" to "the" Approved by: lstewart Approved by: sahil (mentor) MFC after: 3 days
* Remove unused define.kib2011-10-071-1/+0
| | | | MFC after: 1 month
* Convert MIPS to the syscallenter/syscallret system call sequence handlers.kib2011-10-064-201/+150
| | | | | | | This was the last architecture used custom syscall entry sequence. Reviewed, debugged, tested and approved by: jchandra MFC after: 1 month
* Add default address for FLASH mapping on the boot bus.marcel2011-10-041-0/+5
| | | | | | Reviewed by: jmallett, marcel Obtained from: Juniper Networks, Inc Author: Andrew Duane
* Remove octeon_bootinfo from all files except octeon_machdep.c.marcel2011-10-045-25/+10
| | | | | | | | Use instead cvmx_sysinfo_get() consistently. Reviewed by: jmallett, marcel Obtained from: Juniper Networks, Inc Author: Andrew Duane
* Remove bogus and wrong definition of BLKDEV_IOSIZE.marcel2011-10-041-1/+0
| | | | | | Wrong in that it must be guarded (it's configurable) and bogus in that there's absolutely no rationale for it not default to a page size like all other archs.
* o Clean up some ID printfs, and put under bootverbosemarcel2011-10-041-8/+17
| | | | | | | | | | | o Remove redundant lookups of base address in cf_identify o Fix some indenting issues o Fix an identification bug that uses DRQ to checlk for ident block returned. The correct spec is to look for BSY to be cleared. Reviewed by: imp, marcel Obtained from: Juniper Networks, Inc Author: Andrew Duane
* Partially revert r224661:marcel2011-10-042-6/+5
| | | | | | | | | octeon_ap_boot is not a bitmask. It holds the CPU Id of the AP currently being started. As such there's no need to make it a 64-bit integral and we're not limited to 64 CPUs. Reported by: jmallet Obtained from: Andre Duane
* Disable using wait in cpu_idle() until a better solution to timer andadrian2011-10-011-0/+16
| | | | interrupt handling can be implemented.
* In order to maximize the re-usability of kernel code in user space thiskmacy2011-09-161-1/+1
| | | | | | | | | | | | | patch modifies makesyscalls.sh to prefix all of the non-compatibility calls (e.g. not linux_, freebsd32_) with sys_ and updates the kernel entry points and all places in the code that use them. It also fixes an additional name space collision between the kernel function psignal and the libc function of the same name by renaming the kernel psignal kern_psignal(). By introducing this change now we will ease future MFCs that change syscalls. Reviewed by: rwatson Approved by: re (bz)
* Fix a zyd(4) comment typo that was copy+pasted into most kernel config files.brueffer2011-09-111-1/+1
| | | | | | | PR: 160276 Submitted by: MATSUMIYA Ryo <matsumiya@mma.club.uec.ac.jp> Approved by: re (kib) MFC after: 1 week
* Split the vm_page flags PG_WRITEABLE and PG_REFERENCED into atomickib2011-09-061-22/+22
| | | | | | | | | | | | | | | | | flags field. Updates to the atomic flags are performed using the atomic ops on the containing word, do not require any vm lock to be held, and are non-blocking. The vm_page_aflag_set(9) and vm_page_aflag_clear(9) functions are provided to modify afalgs. Document the changes to flags field to only require the page lock. Introduce vm_page_reference(9) function to provide a stable KPI and KBI for filesystems like tmpfs and zfs which need to mark a page as referenced. Reviewed by: alc, attilio Tested by: marius, flo (sparc64); andreast (powerpc, powerpc64) Approved by: re (bz)
* MIPS XLP platform code update.jchandra2011-09-0539-2509/+3948
| | | | | | | | | | | | | | * Update the hardware access register definitions and functions to bring them in line with other Netlogic software. * Update the platform bus to use PCI even for on-chip devices. Add a dummy PCI driver to ignore on-chip devices which do not need driver. * Provide memory and IRQ resource allocation code for on-chip devices which cannot get it from PCI config. * add support for on-chip PCI and USB interfaces. * update conf files, enable pci and retain old MAXCPU until we can support >32 cpus. Approved by: re(kib), jmallett
* Fix a typo in cb_dumpdata() about wrongly calling wdog_kern_pat().attilio2011-08-131-1/+1
| | | | | Submitted by: Andrew Boyer <aboyer at averesystems dot com> Approved by: re (kib)
* - Move the PG_UNMANAGED flag from m->flags to m->oflags, renaming the flagkib2011-08-091-18/+17
| | | | | | | | | | | | | | to VPO_UNMANAGED (and also making the flag protected by the vm object lock, instead of vm page queue lock). - Mark the fake pages with both PG_FICTITIOUS (as it is now) and VPO_UNMANAGED. As a consequence, pmap code now can use use just VPO_UNMANAGED to decide whether the page is unmanaged. Reviewed by: alc Tested by: pho (x86, previous version), marius (sparc64), marcel (arm, ia64, powerpc), ray (mips) Sponsored by: The FreeBSD Foundation Approved by: re (bz)
* Make octeon_ap_boot 64 bits to handle MAXCPU up to 64.marcel2011-08-052-12/+26
| | | | | | | | | | Better construction of CPU mask in platform_cpu_mask(). Release cores still in reset when platform_start_ap() is called. Reviewed by: imp, marcel Obtained from: Juniper Networks, Inc Author: Andrew Duane Approved by: re (kib)
* Fix for arm and mips case the size of storage for sintrcnt/sintrnames.attilio2011-08-021-2/+2
| | | | | | | | | | It seems that "info as" is not much precise on what expect by pseudo-op .word, by the way. No MFC is previewed for this patch. Tested by: andreast, pluknet Approved by: re (kib)
* Bump MAXCPU for amd64, ia64 and XLP mips appropriately.attilio2011-07-193-0/+3
| | | | | | | | | | | | | | | | | | | From now on, default values for FreeBSD will be 64 maxiumum supported CPUs on amd64 and ia64 and 128 for XLP. All the other architectures seem already capped appropriately (with the exception of sparc64 which needs further support on jalapeno flavour). Bump __FreeBSD_version in order to reflect KBI/KPI brekage introduced during the infrastructure cleanup for supporting MAXCPU > 32. This covers cpumask_t retiral too. The switch is considered completed at the present time, so for whatever bug you may experience that is reconducible to that area, please report immediately. Requested by: marcel, jchandra Tested by: pluknet, sbruno Approved by: re (kib)
* On 64 bit architectures size_t is 8 bytes, thus it should use an 8 bytesattilio2011-07-191-0/+8
| | | | | | | | | | storage. Fix the sintrcnt/sintrnames specification. No MFC is previewed for this patch. Reported, reviewed and tested by: marcel Approved by: re (kib)
* Add the possibility to specify from kernel configs MAXCPU value.attilio2011-07-191-0/+2
| | | | | | | | | | This patch is going to help in cases like mips flavours where you want a more granular support on MAXCPU. No MFC is previewed for this patch. Tested by: pluknet Approved by: re (kib)
* - Remove the eintrcnt/eintrnames usage and introduce the concept ofattilio2011-07-181-4/+7
| | | | | | | | | | | | | | | | sintrcnt/sintrnames which are symbols containing the size of the 2 tables. - For amd64/i386 remove the storage of intr* stuff from assembly files. This area can be widely improved by applying the same to other architectures and likely finding an unified approach among them and move the whole code to be MI. More work in this area is expected to happen fairly soon. No MFC is previewed for this patch. Tested by: pluknet Reviewed by: jhb Approved by: re (kib)
* Comment out KDB/DDB related options for N32 kernel.jchandra2011-07-171-5/+5
| | | | | | | DDB files have warnings in this ABI which will break the kernel build unless Werror is ignored Reported by: bz
* Fix compilation of mips kernels adding apropriate #ifdefs after r224115.bz2011-07-171-0/+2
| | | | Pointed out by: Luiz Otavio O Souza (lists.br gmail.com)
* MIPS changes for Netlogic XLP support.jchandra2011-07-1615-26/+350
| | | | | | | | | | | | | | This patch adds support for the Netlogic XLP mips64 processors in the common MIPS code. The changes are : - Add CPU_NLM processor type - Add cases for CPU_NLM, mostly were CPU_RMI is used. - Update cache flush changes for CPU_NLM - Add kernel build configuration files for xLP. In collaboration with: Prabhath Raman <prabhathpr at netlogicmicro com> Approved by: bz(re), jmallett, imp(mips)
* Add MIPS platform files for Netlogic XLP SoC.jchandra2011-07-1630-0/+7112
| | | | | | | | | Processor, UART, PIC and Messaging Network code. Also add sys/mips/nlm/hal for on-chip device registers. In collaboration with: Prabhath Raman <prabhathpr at netlogicmicro com> Approved by: bz(re), jmallett, imp(mips)
* Support compiling MIPS elf trampoline with a different ABI.jchandra2011-07-161-16/+31
| | | | | | | | | Allow changing the trampoline ABI with makeoptions, this will allow us to have a trampoline with a different ABI from the kernel. Useful in cases where we have to boot a 64 bit kernel from a bootloader which supports only 32 bit or vice versa. Approved by: bz(re), jmallett, imp
* The i8259 controller is initialized incorrectly on MALTA. It writesadrian2011-07-161-6/+6
| | | | | | | | | | mask bits to control register and control bits to mask register. The former causes ICW1_RESET|ICW1_LTIM combination to be written to control register, which on QEMU results in "level sensitive irq not supported" error. Submitted by: Robert Millan <rmh@debian.org>
* Include device rt in RT305X config.ray2011-07-142-8/+9
| | | | Approved by: adrian (mentor)
* Revert it back. Too many changes for one commit.ray2011-07-142-124/+120
| | | | Approved by: adrian (mentor)
* Include device rt in RT305X config and little cleanup.ray2011-07-142-120/+124
| | | | Approved by: adrian (mentor)
* With retirement of cpumask_t and usage of cpuset_t for representing aattilio2011-07-042-45/+34
| | | | | | | | | | | | | | | mask of CPUs, pc_other_cpus and pc_cpumask become highly inefficient. Remove them and replace their usage with custom pc_cpuid magic (as, atm, pc_cpumask can be easilly represented by (1 << pc_cpuid) and pc_other_cpus by (all_cpus & ~(1 << pc_cpuid))). This change is not targeted for MFC because of struct pcpu members removal and dependency by cpumask_t retirement. MD review by: marcel, marius, alc Tested by: pluknet MD testing by: marcel, marius, gonzo, andreast
* When iterating over a paging queue, explicitly check for PG_MARKER, insteadalc2011-07-021-1/+1
| | | | | | of relying on zeroed memory being interpreted as an empty PV list. Reviewed by: kib
* Add a new option, OBJPR_NOTMAPPED, to vm_object_page_remove(). Passing thisalc2011-06-291-2/+2
| | | | | | | | | | | | | | | | | | option to vm_object_page_remove() asserts that the specified range of pages is not mapped, or more precisely that none of these pages have any managed mappings. Thus, vm_object_page_remove() need not call pmap_remove_all() on the pages. This change not only saves time by eliminating pointless calls to pmap_remove_all(), but it also eliminates an inconsistency in the use of pmap_remove_all() versus related functions, like pmap_remove_write(). It eliminates harmless but pointless calls to pmap_remove_all() that were being performed on PG_UNMANAGED pages. Update all of the existing assertions on pmap_remove_all() to reflect this change. Reviewed by: kib
* Remove duplicate header includeskevlo2011-06-2613-43/+17
|
* MFCattilio2011-06-041-137/+194
|\
| * Add support for True IDE mode to the Octeon CF driver. This mode isimp2011-06-041-137/+194
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | signalled when the attribute address for the CF is 0 in the octeon sysinfo structure. In this mode, the DATA port is 16-bits, but the other ports are 8-bits, but on a 16-bit bus (so you have to access it a short at a time, but only believe the lower byte). See the code for more details on this slightly odd arrangement. I'm still not 100% happy with the abstractions here on many levels (starting with the globals for these settings, on down to no bus_space use, etc), but the driver had these problems before the change. Also, clean up the code a bit to make this support easier, and the code a bit easier to read. I tried to follow existing style, but may have missed a few spots. Add some comments. Fix probe/attach routine to return a proper error for the simulator. With this change, my EBH5200 eval board now recognizes the CF well enough to boot to the login prompt. Before it would say it never became ready. My CN3010-EVB-HS5 still boots properly. My older CN3860-based board won't load the 64-bit kernel, either before or after the change, and I didn't chase that down.
| * On multi-core, multi-threaded PPC systems, it is important that the threadsnwhitehorn2011-05-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | be brought up in the order they are enumerated in the device tree (in particular, that thread 0 on each core be brought up first). The SLIST through which we loop to start the CPUs has all of its entries added with SLIST_INSERT_HEAD(), which means it is in reverse order of enumeration and so AP startup would always fail in such situations (causing a machine check or RTAS failure). Fix this by changing the SLIST into an STAILQ, and inserting new CPUs at the end. Reviewed by: jhb
| * Merge r221846 from largeSMP project branch:attilio2011-05-231-23/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | Fix arguments passing to _long() version of atomic function for mips. The native implementation is bogus in that regard and offers the same problem solved for powerpc as r222198, but mips' guys just wanted a small and self-contained patch for mips rather than rewriting the whole support. Reviewed by: art, imp Tested by: gonzo MFC after: 2 weeks
| * Move the ZERO_REGION_SIZE to a machine-dependent file, as on manymdf2011-05-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | architectures (i386, for example) the virtual memory space may be constrained enough that 2MB is a large chunk. Use 64K for arches other than amd64 and ia64, with special handling for sparc64 due to differing hardware. Also commit the comment changes to kmem_init_zero_region() that I missed due to not saving the file. (Darn the unfamiliar development environment). Arch maintainers, please feel free to adjust ZERO_REGION_SIZE as you see fit. Requested by: alc MFC after: 1 week MFC with: r221853
* | MFCattilio2011-05-311-1/+1
| |
* | Fix a bug where the index cpu is just plain wrong, thus the kernelattilio2011-05-221-1/+2
| | | | | | | | | | | | livelocks. Reported by: gonzo
* | MFCattilio2011-05-131-0/+2
| |
* | Fix a brain-o in platform_cpu_mask() by just specifying a possibleattilio2011-05-135-21/+15
| | | | | | | | | | | | | | cpuset_t to be copied, rather than return the array. I can't rely anymore on this being a simple int/long object. Reported by: art
* | Add the cpuset_t conversion for mips.attilio2011-05-139-44/+98
| |
* | Fix the _long() rappresentation on mips by casting the long argumentsattilio2011-05-131-23/+38
|/ | | | | | to u_int for all the functions. Reviewed by: art, imp
* Use new option names for NFS client and NFS servergonzo2011-05-1116-28/+28
| | | | See UPDATING entry for 20110427
* Fix GPIO_MAXPINS calculation for the AR71xx, AR724x, AR913x SoC.adrian2011-05-064-5/+16
| | | | Submitted by: Luiz Otavio O Souza <loos.br@gmail.com>
OpenPOWER on IntegriCloud