summaryrefslogtreecommitdiffstats
path: root/sys/mips
Commit message (Collapse)AuthorAgeFilesLines
* Disable KDB/DDB options for XLP N32 compile.jchandra2011-12-051-0/+6
| | | | | | | n32 abi is not supported in KDB/DDB yet, disable the option in XLPN32 conf. Reported by: gonzo, bz
* Fix N32 compilation again for XLP.jchandra2011-12-051-1/+1
| | | | | | | Disable DDB/KDB related options for N32, and add back a cast that was lost during the last set of updates. Reported by: gonzo, bz
* Fix XLP compilation.jchandra2011-12-051-0/+2
| | | | | | | Add definitions of LSU_DEBUG_ADDR and LSU_DEBUG_DATA0, the code that uses it was added in r227799 Reported by: gonzo
* - Fix backtrace for MIPS64 platformgonzo2011-11-281-2/+5
|
* - Copy base MAC address from bootinfo descriptor to sysinfo structgonzo2011-11-281-0/+2
| | | | Reviewed by: Andrew Duane
* Simplify arge_flush_ddr to use updated ar71xx_device_flush_ddr_ge(unit).ray2011-11-281-4/+2
| | | | Approved by: adrian (mentor)
* Fix build, fininshing r228018.glebius2011-11-281-2/+2
|
* Join chip depended methods for arge0 and arge1 into single call with unit.ray2011-11-275-118/+101
| | | | Approved by: adrian (mentor)
* Change another instance of amd(4) to esp(4) missed in r227006.marius2011-11-261-1/+1
| | | | | Submitted by: Garrett Cooper MFC after: 3 days
* I've had verification that the second-last 64k is actually used by the tplinkadrian2011-11-241-26/+9
| | | | | | firmware to store configuration data. It's safe to overwrite it.
* Now that I've brought up FreeBSD via flash, I've discovered thatadrian2011-11-241-13/+34
| | | | | | | | | | | | | | | | | the second-last 64k seems to be the default firmware board configuration area. Since I have no idea whether uboot uses it or not - and it's prefixed with an atheros eeprom signature (0xaa55), I figure the safest thing to do is mark it as read-only. I've modified my local tplink firmware building program to generate a board configuration section - which is separate to this partition. It's located in the 64k _before_ this particular 64k. The firmware build program from OpenWRT never initialises those values and the firmware images from tplink also leave it 0x0, so I don't currently know what the exact, correct details should be.
* Flip on AR71XX_ENV_UBOOT so the environment variables are properlyadrian2011-11-241-0/+4
| | | | processed. (Which is to say they're currently ignored.)
* Introduce a new (global, sorry!) option which controls whetheradrian2011-11-241-2/+14
| | | | | | | | | | | | | the ar71xx platform code should assume a uboot or redboot environment. The current code gets very confused (and just crashes) on a uboot environment, where each attribute=value pair is in a single entry. Redboot on the other hand stores it as "attribute", "value", "attribute", "value", ... This allows the kernel to boot on a TP-LINK TL-WR1043ND from flash, where the uboot environment gets setup. This didn't show up during a netboot as "tftpboot" and "go" don't setup the uboot environment variables.
* Flesh out a geom_map setup, so the kernel can be squeezed _onto_ the device.adrian2011-11-242-6/+61
| | | | | | | | | | | | | | | | | | | | The default flash layout gives only 1 megabyte for the kernel, gzipped. The uboot firmware running on this device only supports gzip, not lzma, so we actually _do_ have to try and slim the kernel down a bit. But, since I can't actually do that at the present, I'm opting to: * extend the kernel from 1mb to 2mb; * have rootfs fill the rest of that, save 64k; * eventually I'll hide a 64k config partition at the end, between the end of rootfs and the ART (radio configuration data.) The uboot firmware doesn't care about the partition layout. It just expects the kernel application image to sit at 0xbf020000 (right after the 128k uboot image.) The uboot header isn't actually read either - it's "faked" from a "tplink" flash image header. So as long as the map configuration here matches what is being written out via the tplink firmware generator, everything is a-ok.
* Compile in the right bits so the AR9130 WMAC support functions correctly.adrian2011-11-241-1/+13
| | | | | | | | | | | A previous commit disabled compiling the AR9130 support in the default HAL build in the kernel. Since the AR9130 support won't actually function without AH_SUPPORT_AR9130 (and that abomination needs to be undone at some point, in order to allow USB 11n NICs to also work), we now have to explicitly compile it in. But since the 11n RF backends don't (currently) join the RF linker set, one has to compile in _an_ RF backend for the HAL to compile.
* Add a comment documenting where the WMAC hangs off of.adrian2011-11-241-0/+1
| | | | | | At some point it would be nice to correctly update the bus glue to make this "correct", including having the DDR flush occur in the right spot (ie, any AHB interrupt.)
* Flip on these debugging options by default. This is -HEAD after all.adrian2011-11-241-5/+5
|
* Slim the default build down a little:adrian2011-11-241-5/+6
| | | | | * Disable the NFS client, it's not needed for booting off of flash. * Don't compile in softdep, snapshots, ufs acls and directory hashing.
* Rename device_delete_all_children() into device_delete_children().hselasky2011-11-225-5/+5
| | | | | Suggested by: jhb @ and marius @ MFC after: 1 week
* - There's no need to overwrite the default device method with the defaultmarius2011-11-2219-58/+19
| | | | | | | | | | 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.
* Do dcache flush on CPU core before enabling threads.jchandra2011-11-211-3/+42
| | | | | | | | | The dcache flush has to be done using the core control registers before splitting the L1D cache by enabling the hardware threads. Also replace .word calls for mfcr/mtcr with a C macro. In collaboration with: prabhath at netlogicmicro com
* Merge XLP 3XX updates and related rework.jchandra2011-11-2113-1141/+891
| | | | | | | | | | | | | * Update message station (CMS) code, read queue ids from PCI header. * Use interrupts to wakeup message handling threads on 3XX * Update PIC code, read interrupt information from PCI header instead of using fixed values. * Update PCI interrupt handling for the PIC change. * Update code for getting chip frequency, new code support XLP 3XX * Misc style(9) fixes In collaboration with: prabhath at netlogicmicro com (CMS/PIC) venkatesh at netlogicmicro.com (PCI)
* XLP processors have the release 2 pagegrain registerjchandra2011-11-211-0/+3
| | | | | | Add accessors to cpufunc.h Obtained from: prabhath at netlogicmicro com
* Always leave the -current kernel debugging options on.adrian2011-11-211-5/+4
|
* Remove unused variable ubase.jchandra2011-11-191-2/+0
| | | | This vaiable is initialized but not used.
* Remvoe unused filejchandra2011-11-191-88/+0
| | | | mips/nlm/uart_cpu_xlp.c has replaced uart_bus_xlp_iodi.c
* Fix USB compilation, and add USB options to XLP confjchandra2011-11-192-1/+8
| | | | Remove obsolete header file included in usb_init.c
* Fixup cache flush definitions for XLPjchandra2011-11-191-8/+8
| | | | | | | mco_icache_sync_range was earlier set to mipsNN_icache_sync_range_index_32 which is not necessary, revert this. Also, the data cache is coherent so write back is not really needed. This change is experimental.
* Whitespace fixes in XLP HAL files.jchandra2011-11-199-358/+358
| | | | Also fixup a macro in iomap.h
* Rearrange XLP configuration files.jchandra2011-11-185-214/+89
| | | | | | | | | | | Create std.XLP for configuration options, which is included by the conf files. The files XLP, XLPN32 and XLP64 will have mostly ABI related options. Also move uart and pci to mips/nlm/std.xlp since all XLP configurations needs these devices. Obtained from: prabhath at netlogicmicro com (intial version)
* Fix COP0 hazards for XLR and XLPjchandra2011-11-183-1/+12
| | | | | The XLR CPUs do not have any software visible hazards for COP0 operations. On XLP the hazard is a ehb, since it is mips64r2.
* Do pmap update only on active CPUs.jchandra2011-11-171-98/+64
| | | | | | | | | | | | | | | The pmap update_page/invalidate_page/invalidate_all operations has to be done only on active cpus. In the simplest case, if the process is not active on any other CPUs, we can just do the operation on the current CPU. This change replaces the call to smp_rendezvous() for these operations with smp_rendezvous_cpus() in case there more than one active CPU, or with a direct function call if there is just one active CPU. This change give significant performance increase in fork/exec benchmarks on XLR/XLS/XLP with 32 cpus. Reviewed by: alc
* Introduce the option VFS_ALLOW_NONMPSAFE and turn it on by default onattilio2011-11-081-0/+2
| | | | | | | | | | | | | | all the architectures. The option allows to mount non-MPSAFE filesystem. Without it, the kernel will refuse to mount a non-MPSAFE filesytem. This patch is part of the effort of killing non-MPSAFE filesystems from the tree. No MFC is expected for this patch. Tested by: gianni Reviewed by: kib
* Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.ed2011-11-072-2/+2
| | | | | | 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.
* Add support for VM_ALLOC_WIRED and VM_ALLOC_ZERO to vm_page_alloc_freelist()alc2011-11-021-3/+2
| | | | | | | | | | | | and use these new options in the mips pmap. Wake up the page daemon in vm_page_alloc_freelist() if the number of free and cached pages becomes too low. Tidy up vm_page_alloc_init(). In particular, add a comment about an important restriction on its use. Tested by: jchandra@
* People porting FreeBSD to new architectures ought not have todas2011-10-211-0/+2
| | | | | | | | | | | | | implement a deprecated FPU control interface in addition to the standard one. To make this clearer, further deprecate ieeefp.h by not declaring the function prototypes except on architectures that implement them already. Currently i386 and amd64 implement the ieeefp.h interface for compatibility, and for fp[gs]etprec(), which doesn't exist on most other hardware. Powerpc, sparc64, and ia64 partially implement it and probably shouldn't, and other architectures don't implement it at all.
* Keep FDT options commented until dtc is build by default for mipsjchandra2011-10-192-6/+6
| | | | Otherwise automated builds will fail for XLP and XLP64
* Fix wakeup latency when sleeping with 'wait'jchandra2011-10-183-17/+51
| | | | | | | | | | | | | | | | | If we handle an interrupt just before the 'wait' and the interrupt schedules some work, we need to skip the 'wait' call. The simple solution of calling sched_runnable() with interrupts disabled immediately before wait still leaves a window after the call and before 'wait' in which the same issue can occur. The solution implemented is to check the EPC in the interrupt handler, and if it is in a region before the 'wait' call, to fix up the EPC to skip the wait call. Reported/analysed by: adrian Fix suggested by: kib Reviewed by: jmallett, imp
* Fix XLP compile failure on n32 abi.jchandra2011-10-181-1/+1
| | | | Reported by: bz@
* Support for booting XLP using FDT.jchandra2011-10-187-98/+216
| | | | | | | | - update xlp_machdep.c to read arguments from FDT if FDT support is compiled in. - define rmi_uart_bus_space, and use it as fdtbus_bs_tag - update conf files for FDT support - add default dts file xlp-basic.dts
* 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
OpenPOWER on IntegriCloud