272461 |
03-Oct-2014 |
gjb |
Copy stable/10@r272459 to releng/10.1 as part of the 10.1-RELEASE process.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
267734 |
22-Jun-2014 |
gavin |
Merge r267482,r267483,r267486,r267577,r267671,r267672 from head:
Remove send-pr and fix up all references to it. Replace it with a stub send-pr directing people towards the web site.
|
265999 |
14-May-2014 |
ian |
MFC r257334, r257336, r257337, r257338, r257341, r257342, r257343, r257370, r257368, r257416
Hints-only devices should return BUS_PROBE_NOWILDCARD from their probe methods.
|
261455 |
04-Feb-2014 |
eadler |
MFC r258779,r258780,r258787,r258822:
Fix undefined behavior: (1 << 31) is not defined as 1 is an int and this shifts into the sign bit. Instead use (1U << 31) which gets the expected result.
Similar to the (1 << 31) case it is not defined to do (2 << 30).
This fix is not ideal as it assumes a 32 bit int, but does fix the issue for most cases.
A similar change was made in OpenBSD.
|
256281 |
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
247463 |
28-Feb-2013 |
mav |
MFcalloutng: Switch eventtimers(9) from using struct bintime to sbintime_t. Even before this not a single driver really supported full dynamic range of struct bintime even in theory, not speaking about practical inexpediency. This change legitimates the status quo and cleans up the code.
|
245952 |
26-Jan-2013 |
pfg |
Clean some 'svn:executable' properties in the tree.
Submitted by: Christoph Mallon MFC after: 3 days
|
243882 |
05-Dec-2012 |
glebius |
Mechanically substitute flags from historic mbuf allocator with malloc(9) flags within sys.
Exceptions:
- sys/contrib not touched - sys/mbuf.h edited manually
|
241844 |
22-Oct-2012 |
eadler |
remove duplicate semicolons where possible.
Approved by: cperciva MFC after: 1 week
|
241636 |
17-Oct-2012 |
attilio |
Disconnect non-MPSAFE NTFS from the build in preparation for dropping GIANT from VFS. This code is particulary broken and fragile and other in-kernel implementations around, found in other operating systems, don't really seem clean and solid enough to be imported at all. If someone wants to reconsider in-kernel NTFS implementation for inclusion again, a fair effort for completely fixing and cleaning it up is expected.
In the while NTFS regular users can use FUSE interface and ntfs-3g port to work with their NTFS partitions.
This is not targeted for MFC.
|
236966 |
12-Jun-2012 |
des |
auth.conf is dead.
|
232896 |
12-Mar-2012 |
jmallett |
o) Use ABI, not ISA_* options, to determine whether to compile bits if libkern required for the ABI the kernel is being built for. XXX This is implemented in a kind-of nasty way that involves including source files, but it's still an improvement. o) Retire ISA_* options since they're unused and were always wrong.
|
232853 |
12-Mar-2012 |
jmallett |
Remove platform APIs which are not used by any code and which had only stub implementations or no implementation on all platforms.
Some of these functions might be good ideas, but their semantics were unclear given the lack of implementation, and an unlucky porter could be fooled into trying to implement them or, worse, being baffled when something like platform_trap_enter() failed to be called.
|
228483 |
14-Dec-2011 |
hselasky |
Implement better support for USB controller suspend and resume.
This patch should remove the need for kldunload of USB controller drivers at suspend and kldload of USB controller drivers at resume.
This patch also fixes some build issues in avr32dci.c
MFC after: 2 weeks
|
227849 |
22-Nov-2011 |
hselasky |
Rename device_delete_all_children() into device_delete_children().
Suggested by: jhb @ and marius @ MFC after: 1 week
|
227843 |
22-Nov-2011 |
marius |
- There's no need to overwrite the default device method with the default 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.
|
223562 |
26-Jun-2011 |
kevlo |
Remove duplicate header includes
|
222813 |
07-Jun-2011 |
attilio |
etire the cpumask_t type and replace it with cpuset_t usage.
This is intended to fix the bug where cpu mask objects are capped to 32. MAXCPU, then, can now arbitrarely bumped to whatever value. Anyway, as long as several structures in the kernel are statically allocated and sized as MAXCPU, it is suggested to keep it as low as possible for the time being.
Technical notes on this commit itself: - More functions to handle with cpuset_t objects are introduced. The most notable are cpusetobj_ffs() (which calculates a ffs(3) for a cpuset_t object), cpusetobj_strprint() (which prepares a string representing a cpuset_t object) and cpusetobj_strscan() (which creates a valid cpuset_t starting from a string representation). - pc_cpumask and pc_other_cpus are target to be removed soon. With the moving from cpumask_t to cpuset_t they are now inefficient and not really useful. Anyway, for the time being, please note that access to pcpu datas is protected by sched_pin() in order to avoid migrating the CPU while reading more than one (possible) word - Please note that size of cpuset_t objects may differ between kernel and userland. While this is not directly related to the patch itself, it is good to understand that concept and possibly use the patch as a reference on how to deal with cpuset_t objects in userland, when accessing kernland members. - KTR_CPUMASK is changed and now is represented through a string, to be set as the example reported in NOTES.
Please additively note that no MAXCPU is bumped in this patch, but private testing has been done until to MAXCPU=128 on a real 8x8x2(htt) machine (amd64).
Please note that the FreeBSD version is not yet bumped because of the upcoming pcpu changes. However, note that this patch is not targeted for MFC.
People to thank for the time spent on this patch: - sbruno, pluknet and Nicholas Esborn (nick AT desert DOT net) tested several revision of the patches and really helped in improving stability of this work. - marius fixed several bugs in the sparc64 implementation and reviewed patches related to ktr. - jeff and jhb discussed the basic approach followed. - kib and marcel made targeted review on some specific part of the patch. - marius, art, nwhitehorn and andreast reviewed MD specific part of the patch. - marius, andreast, gonzo, nwhitehorn and jceel tested MD specific implementations of the patch. - Other people have made contributions on other patches that have been already committed and have been listed separately.
Companies that should be mentioned for having participated at several degrees: - Yahoo! for having offered the machines used for testing on big count of CPUs. - The FreeBSD Foundation for having sponsored my devsummit attendance, which has been instrumental. - Sandvine for having offered offices and infrastructure during development.
(I really hope I didn't forget anyone, if it happened I apologize in advance).
|
221218 |
29-Apr-2011 |
jhb |
Change rman_manage_region() to actually honor the rm_start and rm_end constraints on the rman and reject attempts to manage a region that is out of range. - Fix various places that set rm_end incorrectly (to ~0 or ~0u instead of ~0ul). - To preserve existing behavior, change rman_init() to set rm_start and rm_end to allow managing the full range (0 to ~0ul) if they are not set by the caller when rman_init() is called.
|
220558 |
12-Apr-2011 |
hselasky |
We don't need to call EOWRITE4(sc, EHCI_USBINTR, 0) directly from each EHCI bus driver at detach, hence ehci_detach() does exactly this since r199718.
Submitted by: Luiz Otavio O Souza MFC after: 7 days Approved by: thompsa (mentor)
|
220303 |
03-Apr-2011 |
hselasky |
- Correct EHCI interrupt disabling at detach.
Submitted by: Luiz Otavio O Souza MFC after: 7 days Approved by: thompsa (mentor)
|
218909 |
21-Feb-2011 |
brucec |
Fix typos - remove duplicate "the".
PR: bin/154928 Submitted by: Eitan Adler <lists at eitanadler.com> MFC after: 3 days
|
218591 |
12-Feb-2011 |
jmallett |
Allow the platform code to return a bitmask of running cores rather than just a number of cores, this allows for a sparse set of CPUs. Implement support for sparse core masks on Octeon.
XXX jeff@ suggests that all_cpus should include cores that are offline or running other applications/OSes, so the platform API should be further extended to allow us to set all_cpus to include all cores that are physically-present as opposed to only those that are running FreeBSD.
Submitted by: Bhanu Prakash (with modifications) Reviewed by: jchandra Glanced at by: kib, jeff, jhb
|
217636 |
20-Jan-2011 |
jchandra |
Move 'cpu CPU_RMI' to std.xlr, this is common for all XLR cpus.
|
217625 |
20-Jan-2011 |
jchandra |
Fixes in the XLR platform code
- Fix bug in pic.h, assign reg variable, before return. - In xlr_pci.c, need to ignore the result of mmio read.
|
217616 |
19-Jan-2011 |
mdf |
Introduce signed and unsigned version of CTLTYPE_QUAD, renaming existing uses. Rename sysctl_handle_quad() to sysctl_handle_64().
|
217607 |
19-Jan-2011 |
jmallett |
Fix format of physical addresses; this fixes the n32 build.
|
217354 |
13-Jan-2011 |
jchandra |
Support for 64 bit PTEs on n32 and n64 compilation.
In n32 and n64, add support for physical address above 4GB by having 64 bit page table entries and physical addresses. Major changes are: - param.h: update PTE sizes, masks and shift values to support 64 bit PTEs. - param.h: remove DELAY(), mips_btop(same as atop), mips_ptob (same as ptoa), and reformat. - param.h: remove casting to unsigned long in trunc_page and round_page since this will be used on physical addresses. - _types.h: have 64 bit __vm_paddr_t for n32. - pte.h: update TLB LO0/1 access macros to support 64 bit PTE - pte.h: assembly macros for PTE operations. - proc.h: md_upte is now 64 bit for n32 and n64. - exception.S and swtch.S: use the new PTE macros for PTE operations. - cpufunc.h: TLB_LO0/1 registers are 64bit for n32 and n64. - xlr_machdep.c: Add memory segments above 4GB to phys_avail[] as they are supported now.
Reviewed by: jmallett (earlier version)
|
217304 |
12-Jan-2011 |
jchandra |
The message ring interrupt needs to be enabled for all cpus, not just the ones which run the message ring handler.
Some bits of the interrupt mask are part of the status register which is saved with the process context, and these bits are initialized from the cpu on which the process is created. This means that all the processes should have the same value for these interrupt mask bits, so that the interrupt mask remains the same regardless of what thread is scheduled on the cpu.
Submitted by: Sriram Gorti (srgorti at netlogicmicro dot com)
|
217265 |
11-Jan-2011 |
jhb |
Remove unneeded includes of <sys/linker_set.h>. Other headers that use it internally contain nested includes.
Reviewed by: bde
|
217072 |
06-Jan-2011 |
jhb |
Remove bogus usage of INTR_FAST. "Fast" interrupts are now indicated by registering a filter handler rather than a threaded handler. Also remove a bogus use of INTR_MPSAFE for a filter.
|
216410 |
13-Dec-2010 |
jchandra |
Updates for I2C devices on XLR engg boards.
- ds1374u : use multi-byte write. - at24co2n, max6657: remove mutex, iicbus has the necessary locking.
Submitted by: Sreekanth M. S. (kanthms at netlogicmicro com)
|
216408 |
13-Dec-2010 |
avg |
fix mips build breakage introduced in r216375: atomic_store_int doesn't exists
1) 32-bit assignment are expected to always be atomic. 2) Release/acquire memory barrier semantics doesn't seem to be needed here. So a simple assignment can be used.
Remove unused port_set_counter() while here, it also used to mis-use atomic_set_int().
Reported by: jhb Pointyhat to: avg MFC after: 3 weeks
|
216390 |
12-Dec-2010 |
jchandra |
I2C drivers for XLR/XLS processors.
- Major update to xlr_i2c.c: do multi-byte ops correctly, remove unnecessary code, add mutex to protect bus operations, style(9) fixes. - Drivers for I2C devices on XLR/XLS engineering boards, ds1374u RTC, max6657 temparature sensor and at24co2n EEPROM.
Submitted by: Sreekanth M. S. (kanthms at netlogicmicro com)
|
216375 |
11-Dec-2010 |
avg |
fix atomic_set_xxx misuse in rge
It seems that atomic_set_xxx and atomic_store_xxx were confused.
Reviewed by: jhb (general issue) MFC after: 3 weeks
|
216324 |
09-Dec-2010 |
jchandra |
Fix compilation when DEBUG option is enabled.
- remove unused code in mips/rmi/xlr_pci.c - remove unused variable in mips/rmi/dev/nlge/if_nlge.c - fix reference to old function in mips/mips/pmap.c
Reported by: Prabhath Raman (prabhath at netlogicmicro com)
|
216320 |
09-Dec-2010 |
gonzo |
- dump_avail layout should be sequence of [start, end) pairs, not <start, size>.
Spotted by: alc@
|
216318 |
09-Dec-2010 |
gonzo |
- Populate dump_avail with proper values from phys_avail
|
215939 |
27-Nov-2010 |
jchandra |
Use if_transmit method instead of if_start, this avoids the interface queue lock. Use the hardware IP checksum verification on receive.
Submitted by: Sriram Gorti (srgorti at netlogicmicro dot com)
|
215701 |
22-Nov-2010 |
dim |
After some off-list discussion, revert a number of changes to the DPCPU_DEFINE and VNET_DEFINE macros, as these cause problems for various people working on the affected files. A better long-term solution is still being considered. This reversal may give some modules empty set_pcpu or set_vnet sections, but these are harmless.
Changes reverted:
------------------------------------------------------------------------ r215318 | dim | 2010-11-14 21:40:55 +0100 (Sun, 14 Nov 2010) | 4 lines
Instead of unconditionally emitting .globl's for the __start_set_xxx and __stop_set_xxx symbols, only emit them when the set_vnet or set_pcpu sections are actually defined.
------------------------------------------------------------------------ r215317 | dim | 2010-11-14 21:38:11 +0100 (Sun, 14 Nov 2010) | 3 lines
Apply the STATIC_VNET_DEFINE and STATIC_DPCPU_DEFINE macros throughout the tree.
------------------------------------------------------------------------ r215316 | dim | 2010-11-14 21:23:02 +0100 (Sun, 14 Nov 2010) | 2 lines
Add macros to define static instances of VNET_DEFINE and DPCPU_DEFINE.
|
215317 |
14-Nov-2010 |
dim |
Apply the STATIC_VNET_DEFINE and STATIC_DPCPU_DEFINE macros throughout the tree.
|
214107 |
20-Oct-2010 |
jchandra |
Network driver updates - Fix network driver issue on a XLS eval board (major# 8). - Fix issue uncovered by r213475 in check for XGMII
Submitted by: Sriram Gorti (srgorti at netlogicmicro dot com)
|
214106 |
20-Oct-2010 |
jchandra |
On uniprocessor, warn and fixup hardware cpu mask if more than on CPU is enabled by the bootloader.
|
213893 |
15-Oct-2010 |
marius |
Convert the PHY drivers to honor the mii_flags passed down and convert the NIC drivers as well as the PHY drivers to take advantage of the mii_attach() introduced in r213878 to get rid of certain hacks. For the most part these were: - Artificially limiting miibus_{read,write}reg methods to certain PHY addresses; we now let mii_attach() only probe the PHY at the desired address(es) instead. - PHY drivers setting MIIF_* flags based on the NIC driver they hang off from, partly even based on grabbing and using the softc of the parent; we now pass these flags down from the NIC to the PHY drivers via mii_attach(). This got us rid of all such hacks except those of brgphy() in combination with bce(4) and bge(4), which is way beyond what can be expressed with simple flags.
While at it, I took the opportunity to change the NIC drivers to pass up the error returned by mii_attach() (previously by mii_phy_probe()) and unify the error message used in this case where and as appropriate as mii_attach() actually can fail for a number of reasons, not just because of no PHY(s) being present at the expected address(es).
Reviewed by: jhb, yongari
|
213484 |
06-Oct-2010 |
jchandra |
PCI fix for XLR C revision chips, limit DMA address to the first 2GB physical address. Adds a dma tag to the XLR/XLS pci bus with the lowaddr if the CPU happens to be a XLR C rev.
Submitted by: Sreekanth M. S. (kanthms at netlogicmicro dot com))
|
213475 |
06-Oct-2010 |
jchandra |
XLR/XLS network driver (nlge) updates:
- nlge_ioctl handles IFF_UP and IFF_PROMISC flags - Translate table code, to enable flow based CPU assignment added disabled by default (can be enabled by a tunable). - Changed signature of nlge_port_disable to make it consistent with nlge_port_enable - Removed TXCSUM and VLAN_HW_TAGGING from i/f capabilities.
Submitted by: Sriram Gorti (srgorti at netlogicmicro dot com)
|
213474 |
06-Oct-2010 |
jchandra |
Fix n64 compile.
|
213448 |
05-Oct-2010 |
jchandra |
Network driver support for more XLR/XLS chip versions.
Obtained from: Sriram Gorti (srgorti at netlogicmicro dot com)
|
213443 |
05-Oct-2010 |
jchandra |
Clear any pending interrupts after disabling FMN interrupts. Add debugging sysctl and counters for message ring threads (intial version). Update watermark values, and and decrease the maximum threads to 3 (this will leave a few CPUs for other processes)
Minor comment fix in nlge.
|
213441 |
05-Oct-2010 |
jchandra |
Fix asm for XKPHYS read for o32, constriants needed for input registers that are clobbered. Fixes a crash when compiled without DEBUG
|
213377 |
03-Oct-2010 |
jchandra |
Update message ring handling code for XLR/XLS
- Wakeup multiple threads per core using message ring watermark interrupts. - Update message ring handler registration, use the real device station id for registering interrupts. - rge/nlge: update for the new message ring registration code. - rge/nlge: use 2 message ring stations for incoming packets, this will allow more messages to be queued. - nlge: comment fixes, remove unused variable - style and whitespace fixes
|
213199 |
27-Sep-2010 |
jchandra |
XLS B0 revision PCI support and related changes.
- XLS B0 and later revision chips have PCIe link 2 & 3 mapped to different PIC interrupts. Update pic.h, board.h and xlr_pci.c to reflect this. - remove debug prints in xlr_pci.c - add more processor IDs to board.h, add function xlr_is_xls_b0() - some style(9) and whitespace fixes
|
212957 |
21-Sep-2010 |
jchandra |
n32 fixes for nlge.
Use correct define (__mips_n64) for n64 compilation and use correct parameter type for xlr_paddr_lw() in n32.
|
212896 |
20-Sep-2010 |
jchandra |
Add 64 bit support to nlge, and additional fixes
- 64 bit fixes for ifnlge.c - Use m_nextpkt to save mbuf vaddr on 64 bit, we cannot store the 64 bit vaddr in the 40bit freeback field. - remove unused code and unnecessary variables. - use xlr_io_mmio macro instead of adding io base address - rewrite GPIO related code to fixup nlge using xlr_write_reg and DELAY - support for engg boards major num 11 and 12 - add xlr_paddr_lw() to load 32bit value from physical address, fix inline assembly - style fixes
|
212790 |
17-Sep-2010 |
jchandra |
Fixes for XLR network accelerator driver (nlge).
- Process some tx done messages in the transmit path, to ensure that the XLR NA tx done FIFO does not overflow. - Add a message ring handler API to process atmost a given number of messages from a specified bucket mask. This will be used to process the tx done messages - Add a callout to restart transmit in the case transmit gets blocked. - Update enable_msgring_int() and disable_msgring_int(), remove unused args and make static.
Obtained from: Sriram Gorti (srgorti at netlogicmicro dot com)
|
212763 |
16-Sep-2010 |
jchandra |
RMI security accelerator driver update.
- Compile fixes for 9.0, the previous version of this driver was for FreeBSD 6. - Add virtual address field in OperationDescriptor_t, we cannot use MIPS_PHYS_TO_KSEG0 on physical address. - Fixes for new message ring API - Remove unused sys/mips/rmi/dev/sec/stats.h - Whitespace fixes
|
212759 |
16-Sep-2010 |
jchandra |
Update rge.h for r212758 - stats incremented using xlr_ldaddwu should be unsigned int.
|
212758 |
16-Sep-2010 |
jchandra |
Network driver updates.
- Move RMI MIPS extension to atomic increment word (LDADDWU) to common header file sys/mips/rmi/rmi_mips_exts.h - Fix xlr_ldaddwu() for 64 bit, it is a 32 bit operation, use unsigned int* instead of unsigned long* argument - Provide dummy xlr_enable_kx/xlr_restore_kx for n32 and n64. - Provide xlr_paddr_ld() instead of xlr_paddr_lw(), so that the descriptor formats are same for 32 and 64 bit - update nlge and rge for the changes
These changes are also needed by the security driver which will be added later.
|
212553 |
13-Sep-2010 |
jchandra |
sys/mips/rmi/msgring.h - fixes and clean up.
- Remove sync from msgrng_send, sync needs to be called just once before sending. - Fix retry logic - don't reload registers when retrying in message_send, also fix check for send pending fail. - remove unused message_send_block_fast() - merge message_receive_fast() to message_receive - style(9) fixes, and comments - rge and nlge updated for the sys/mips/rmi/msgring.h changes
|
212550 |
13-Sep-2010 |
jchandra |
bus_add_child method is needed now.
|
212409 |
10-Sep-2010 |
jchandra |
Compilation fix - when INVARIANTS are turned off.
|
212366 |
09-Sep-2010 |
jchandra |
Clean up and update sys/mips/rmi/rmi_mips_exts.h
- Provide 64 bit implementations for some macros. On n64 and n32, don't split 64 bit values. - No need for 32 bit ops for control registers. - Fix few bugs (write control reg, write_c0_register64). - Re-write EIRR/EIMR/CPUID operations using read_c0_registerXX, no need of inline assembly. - rename control reg access functions to avoid phnx, update callers. - stlye/whitespace fixes.
|
212347 |
09-Sep-2010 |
jchandra |
Minor clean up for nlge - nlna_submit_rx_free_desc() can use the same desc every time. Also merge couple of one-line functions into their caller.
|
212324 |
08-Sep-2010 |
jchandra |
nlge (alternate XLR GMAC driver) updates:
- Updates for the message ring clean up in r212321. - Instead of dropping Tx packet on credit fail, retry send until it succeeds. - Fix freeing mbufs in case of P2P descriptors: We cannot free the mbuf when the P2P descriptor freeback is received. The mbuf may be still in use by the GMAC, since the P2P freeback indicates that it read the P2D descriptors in the P2P message. Now we free just the P2P descriptor when the P2P freeback message is received. Another freeback P2D message has been added to the end of the packet descriptors, the mbuf will be freed only when we received this.
The P2P descriptor issue was reported by srgorti at netlogicmicro dot com.
|
212321 |
08-Sep-2010 |
jchandra |
Clean up fast message ring code for XLR.
Fix message ring send path: - define msgrng_access_enable() which disables local interrupts and enables message ring access. Also define msgrng_restore() which restores interrupts - remove all other msgrng enable/disable macros, no need of critical_enter and other locking here. - message_send() fixup: re-read status until pending bit clears - message_send_retry() fixup: retry only few times with interrupts disabled - Fix up message_send/message_send_retry callers - call msgrng_access_enable() and msgrng_restore() correctly so that interrupts are not disabled for long. - removed unused and obsolete code from sys/mips/rmi/msgring.h - some style fixes - more later
rge.c (XLR GMAC driver): - updated for the message ring changes - remove unused message_send_block() - retry on credit failure, this is not a permanent failure when credits are configured correctly. Add panic if credits are not available to send for a long time.
|
212285 |
07-Sep-2010 |
jchandra |
PCIe updates for XLS.
Fix interrupt routing so that the irq returned is correct for XLR and XLS. This also updates the MSI hack we had earlier - we still don't really support MSI, but we support some drivers that use MSI, by providing support for allocating one MSI per pci link - this MSI is directly mapped to the link IRQ.
|
212248 |
06-Sep-2010 |
jchandra |
XLR/XLS hardware interrupts should be programmed level triggered at the PIC. This should fix the interrupt releated issues seen after the interrupt handling re-write for SMP.
|
212102 |
01-Sep-2010 |
jchandra |
Updates for the RMI MIPS platform code - set cache_coherent_dma flag in cpuinfo for XLR, this will make sure that BUS_DMA_COHERENT flag is handled correctly in busdma_machdep.c - iodi.c, call device_get_name() just once - clear RMI specific EIRR while intializing CPUs - remove debug print in intr_machdep.c
|
212045 |
31-Aug-2010 |
jchandra |
Add the workaround for 4xx lite boards after it was lost in the last board.c update.
|
211996 |
30-Aug-2010 |
jchandra |
Move debug.h to the the rge driver directory. rge.c is the only user of debug.h. Remove debug.h references from other files.
|
211994 |
30-Aug-2010 |
jchandra |
Clean up header files in RMI platform code (sys/mips/rmi), and remove unused files.
- remove clock.c and clock.h, these are not used after the new timer code was added. - remove duplicated include files, fix header file ordering, remove some unneeded includes. - rename mips/rmi/shared_structs.h which contains the RMI boot loader interface to mips/rmi/rmi_boot_info.h. Remove unused files mips/rmi/shared_structs_func.h and sys/mips/rmi/shared_structs_offsets.h - merge mips/rmi/xlrconfig.h and mips/rmi/rmi_mips_exts.h, and remove duplicated functions. - nlge - minor change to remove unneeded argument. - Add FreeBSD svn keyword for headers
|
211946 |
28-Aug-2010 |
jchandra |
New driver nlge for XLR/XLS Network Accelerator. This will support the XGMAC and XAUI 10G interfaces in addition RGMII/SGMII 1G interfaces. This driver is work in progress.
board.c and board.h expanded to include more info.
Only one of rge and nlge can be enabled at a time, rge will be deprecated when nlge stabilizes.
Submitted by: Sriram Gorti <srgorti at netlogicmicro com>
|
211923 |
28-Aug-2010 |
jchandra |
Initial code for XLR CompactFlash driver.
Submitted by: Sreekanth M. S. <kanthms at netlogicmicro com>
|
211893 |
27-Aug-2010 |
jchandra |
Revamp XLR interrupt handling, the previous scheme does not work well on SMP.
We used to route all PIC based interrupts to cpu 0, and used the per-CPU interrupt mask to enable/disable interrupts. But the interrupt threads can run on any cpu on SMP, and the interrupt thread will re-enable the interrupts on the CPU it runs on when it is done, and not on cpu0 where the PIC will still send interrupts to.
The fix is move the disable/enable for PIC based interrupts to PIC, we will ack on PIC only when the interrupt thread is done, and we do not use the per-CPU interrupt mask.
The changes also introduce a way for subsystems to add a function that will be called to clear the interrupt on the subsystem. Currently This is used by the PCI/PCIe for doing additional work during the interrupt handling.
|
211814 |
25-Aug-2010 |
jchandra |
Provide timecounter based on XLR PIC timer.
- Use timer 7 in XLR PIC as a 32 counter - provide pic_init_timer(), pic_set_timer(), pic_timer_count32() and pic_timer_count() PIC timer operations. - register this timer as platform_timecounter on rmi platform.
|
211812 |
25-Aug-2010 |
jchandra |
XLR PIC code update. - Fix a bug in xlr_pic_init (use irq in PIC_IRQ_IS_EDGE_TRIGGERED) - use new macro PIC_INTR_TO_IRQ() and PIC_IRT_x() in xlr_pic_init
|
211811 |
25-Aug-2010 |
jchandra |
XLR PIC code update and style(9) fixes.
- style(9) fixes to mips/rmi platform files - update pic.h to add pic_setup_intr() and use pic_setup_intr() for setting up interrupts which are routed thru PIC. - remove rmi_spin_mutex_safe and haslock, and make sure that the functions are called only after mutexes are available.
|
211809 |
25-Aug-2010 |
jchandra |
Rename on_chip.c to fmn.c, as the file has just the fast messaging network code. The iodi.c has the bus for SoC devices, so the name on_chip.c is misleading.
|
211802 |
25-Aug-2010 |
jchandra |
RMI XLR platform code clean-up.
- move PIC code to xlr_machdep.c - move fast message ring code completely to on_chip.c - move memory initialization to a new function xlr_mem_init() - style fixes
|
211799 |
25-Aug-2010 |
jchandra |
Sync up XLR tick.c with the new MIPS tick.c
|
211280 |
13-Aug-2010 |
jchandra |
Rename TARGET_XLR_XLS to CPU_RMI to match other CPU_xxx definitions. use CPU_RMI all XLR configurations. Update ident string for N32 and N64 kernels.
|
211191 |
11-Aug-2010 |
jchandra |
Fix for 64 bit compile, with SMP enabled.
|
210845 |
04-Aug-2010 |
jchandra |
ithd_name no longer defined, use td_name. Fix compile with KTR enabled.
|
210630 |
29-Jul-2010 |
jchandra |
Update rge driver for 64 bit kernel. - stored virtual addresses should be 64bit - physical memory can be directly accessed using XKPHYS pointers in 64 bit. - no need to enable KX
|
210549 |
27-Jul-2010 |
jchandra |
mips/rmi/bus_space_rmi_pci.c is needed even when PCI is disabled. This file really provides a bus that does byteswapping, and can be used by non-PCI components too.
|
210547 |
27-Jul-2010 |
jchandra |
The changes in r210542 moved setting counter_upper and counter_lower_last outside the critical section - fix that.
Reported by: mav
|
210542 |
27-Jul-2010 |
jchandra |
The count/compare values have to be tracked per CPU.
Reviewed by: mav
|
210528 |
27-Jul-2010 |
jchandra |
Fixup mips/rmi for the new mips timer code(r210403). This will get XLR booting again.
The code is a copy of the mips/mips/tick.c with minor modifications for XLR interrupt handling. Disable mips/rmi/clock.c for now, the PIC based timer code will be added later.
|
210403 |
23-Jul-2010 |
mav |
Update MIPS timer code (except RMI) to utilize new MI event timer infrastructure.
Reviewed by: neel
|
210126 |
15-Jul-2010 |
jchandra |
Fix for 64 bit compilation.
RMI bootloader passes argv[] and envp[] as an array of 32 bit pointers. Convert the pointers to correct pointer type before use.
|
209808 |
08-Jul-2010 |
jchandra |
64 bit compilation support XLR platform code. Mostly changes to make casting between int and pointer and printing 64bit values safe for 32 and 64 bit compile.
Approved by: rrs
|
209646 |
02-Jul-2010 |
jchandra |
Add support for XLS 108 chips - update board.c/board.h to setup GMAC driver parameters correctly.
Approved by: rrs (mentor) Obtained from: Sriram Gorti <srgorti@netlogicmicro.com>
|
209318 |
18-Jun-2010 |
jchandra |
Add support for newer XLS chips/boards in the GMAC driver. Improved processor id code in board.h, remove unnecessary macros.
Approved by: rrs(mentor)
|
208480 |
24-May-2010 |
jchandra |
Remove unused code in sys/mips/rmi : - ehcireg.h,ehcivar.h : USB related files from old merge - pcibus.c : was merged into xlr_pci.c earlier - xlr_boot1_console.c : obsolete console code using bootloader hooks - sys/mips/rmi/perfmon* : obsolete custom performance monitoring code
Approved by: rrs (mentor)
|
208369 |
21-May-2010 |
jchandra |
Changes to boot on a subset of threads on an XLR/XLS core. - Adds re-partitioning TLB per core for enabled threads. - Adds hardware thread id to cpuid mapping - updates rge driver packet distribution and message ring handling threads to be started based on hardware thread id. - remove unused early debugging code to set control registers. - coding style fixes
Approved by: rrs (mentor)
|
208265 |
18-May-2010 |
rpaulo |
Add a device description.
|
208250 |
18-May-2010 |
rrs |
Adds the file I forgot to add... that handles the mpwait.S for RMI
Approved by: JC
|
208249 |
18-May-2010 |
rrs |
Adds JC's cleanup patches that fix it so we call an platform dependant topo function as well as clean up all the XLR specific ifdefs around smp platform init.
Obtained from: JC
|
208165 |
16-May-2010 |
rrs |
This pushes all of JC's patches that I have in place. I am now able to run 32 cores ok.. but I still will hang on buildworld with a NFS problem. I suspect I am missing a patch for the netlogic rge driver.
JC check and see if I am missing anything except your core-mask changes
Obtained from: JC
|
206895 |
20-Apr-2010 |
rpaulo |
Remove svn:executable prop.
|
206803 |
18-Apr-2010 |
rpaulo |
Delete svn:executable prop.
|
206717 |
17-Apr-2010 |
jmallett |
o) Use inline functions to access coprocessor 0 registers rather than external ones implemented using assembly. o) Use TRAPF_USERMODE() consistently rather than USERMODE(). Eliminate <machine/psl.h> as a result. o) Use intr_*() rather than *intr(), consistently. o) Use register_t instead of u_int in some trap code. o) Merge some more endian-related macros to machine/asm.h from NetBSD. o) Add PTR_LI macro, which loads an address with the correct sign-extension for a pointer. o) Restore interrupts when bailing out due to an excessive IRQ in nexus_setup_intr(). o) Remove unused functions from psraccess.S. o) Enter temporary virtual entries for large memory access into the page tables rather than simply hoping they stay resident in the TLB and we don't need to do a refill for them. o) Abstract out large memory mapping setup/teardown using some macros. o) Do mips_dcache_wbinv_range() when using temporary virtual addresses just like we do when we can use the direct map.
|
204646 |
03-Mar-2010 |
joel |
The NetBSD Foundation has granted permission to remove clause 3 and 4 from the software.
Obtained from: NetBSD
|
204577 |
02-Mar-2010 |
rrs |
- Move rmi_pci_bus_space to header and avoid extern - remove unused and commented code (MIPS_BUS_SPACE_PCI, pic_usb_ack) - use rmi_pci_bus_space for USB too (needs byteswap) - uncomment xls_ehci.c in files.xlr - changes to xls_ehci.c - updated with dev/usb/controller/ehci_*.c as
Obtained from: JC - c.jayachandran@gmail.com
|
204175 |
21-Feb-2010 |
rrs |
Fix another fo-pa of mine... duplicate patches should not be applied and randy needs coffee in the morning when working to help keep things sorted out... obviously :-)
|
204137 |
20-Feb-2010 |
rrs |
Fix for the rge driver for boards without rge6 and rge7. - changes to avoid adding theses instances on specific chips Obtained from: C. Jayachandran - JC - c.jayachandran@gmail.com
|
204136 |
20-Feb-2010 |
rrs |
Changes for pci and pci-e support - add bus_space_rmi_pci.c for PCI bus space - files.xlr update for changes in files - pcibus.c merged into xlr_pci.c (they were small files with inter-dependencies) - xlr_pci.c - lot of changes here with few fixes, formatting cleanup Obtained from: C. Jayachandran (JC) - c.jayachandran@gmail.com
|
204135 |
20-Feb-2010 |
rrs |
Opps forgot to add this: - add bus_space_rmi_pci.c for PCI bus space
Obtained from: C. Jayachandran - <c.jayachandran@gmail.com>
|
204131 |
20-Feb-2010 |
rrs |
Cleanups for sys/mips/rmi/bus_space_rmi.c - remove pci related code from bus_space_rmi.c, we will have another file for PCI bus space functions which will do byte-swapping. - remove local SWAP implementation - added TODO stub for unimplemented functions
Obtained from: C. Jayachandran - c.jayachandran@gmail.com
|
204130 |
20-Feb-2010 |
rrs |
Some fixes to the current RMI interrupt handling, changes in this patch are: - (cleanup) remove rmi specific 'struct mips_intrhand' - this is no longer needed since 'struct intr_event' have all the required hooks - add xlr_cpu_establish_hardintr, which has args for pre/post ithread and filter hooks, so that the PCI code can add the PCI controller interrupt ack code here - make 'cpu_establish_hardintr' use the above function. - (fix) change type of eirr/eimr from register_t to uint64_t. These have to be 64bit otherwise we cannot handle interrupts from 32. - (fix) use eimr to mask eirr before checking interrupts, so that we will not handle masked interrupts.
Obtained from: C. Jayachandran - c.jayachandran@gmail.com
|
203754 |
10-Feb-2010 |
rrs |
If a mbuf is split across two pages, we have code that detects this and makes two transmit descriptors. However its possible that the algorithm detects when the second page is not used (when the data aligns perfectly to the bottom of the page). This caused a 0 len descriptor to be added which locks up the rge device. Skip such things with a continue.
JC provided this patch... Thanks JC :-) Obtained from: JC (c.jayachandran@gmail.com)
|
203150 |
29-Jan-2010 |
rrs |
Its possible that our RMI box has memory extending above 4Gig. If so when we add the base address with the size we will wrap. So for now we just ignore such memory and only use what we can. When we get 64 bit working then we will be much better ;->
|
203149 |
29-Jan-2010 |
rrs |
Move ID up into comment block.. per bsdimp
|
203113 |
28-Jan-2010 |
rrs |
Make compilable.. i.e. the FreeBSD id I added must be in comments.
|
203112 |
28-Jan-2010 |
rrs |
Changes the msg ring so its a filter not a handler. Somehow rrs missed this.. Thanks to JC for catching this ;-)
Obtained from: JC (jayachandranc@netlogicmicro.com
|
203024 |
26-Jan-2010 |
rrs |
Spacing changes in pic_ack and pic_delayed_ack
|
203010 |
26-Jan-2010 |
rrs |
1) Make sure static is init'd to 0 2) In one place make sure we call the backup startup routine (from the timer).
|
203009 |
26-Jan-2010 |
rrs |
To prevent a LOR we need to pass in a lock flag in the pic routines. In some places we hold the pic lock, others we do not.
|
203008 |
26-Jan-2010 |
rrs |
Fix up the msg ring driver a bit tighter so that we don't loose an interrupt which we appeared to be doing.
|
203007 |
26-Jan-2010 |
rrs |
Fixes setup of clock. It was not properly initialized, thus backward time warnings were being spewed to the console.
|
202905 |
24-Jan-2010 |
rrs |
Changes the order of the setting the int happened (inside the lock).
|
202809 |
22-Jan-2010 |
rrs |
This hopefully will fix the network problem I was seeing. Basically the msg ring interrupt was being re-enabled inside a spinlock as the thread set it self up for rescheduling. This won't work since inside the re-enable is another spin lock.. which means on return from the reenable the interrupts have been reenabled. Thus you would get a clock int and end up panicing holding a spin lock to long :-o
|
202175 |
12-Jan-2010 |
imp |
Set the svn:eol-style = native and svn:mime-type = text/plain properties on all files in this tree.
Submitted by: rpaulo@
|
202173 |
12-Jan-2010 |
imp |
Place proper svn:keywords tag on all these files. They were created somehow without them on projects/mips, and that mistake was propigated over to head.
Submitted by: rpaulo@
|
202105 |
11-Jan-2010 |
imp |
Using svn cp rather than cp to copy these files over had the benefit of preserving their history. It had the problem that it also copied over mergeinfo data. Since we're retiring the projects/mips branch, I'm removing the svn:mergeinfo property from them all.
Submitted by: jhb
|
202092 |
11-Jan-2010 |
imp |
Correct a path in an include I missed earlier Remove references to if_watchdog. The rge_watchdog routine was empty anyway.
|
202066 |
11-Jan-2010 |
imp |
Attempt to cope with the dev/rmi -> mips/rmi/dev move.
|
201979 |
10-Jan-2010 |
imp |
Merge from projects/mips to head by hand:
Copy sys/dev/rmi to sys/mips/rmi/dev [sic]. For devices that are on only one SoC, or family of SoC, we place them under sys/<vendor>/dev. I'll fix the build problems this causes as best I can since rmi kernel require external toolchains due to lack of support for rmi op-codes in the ancient binutils we have in the tree.
|
201917 |
09-Jan-2010 |
imp |
Merge from projects/mips to head by hand:
Copy over the support files (except sys/conf and sys/mips/conf) for RMI XLR processor support. This port has been contributed by RMI and brought up to date by Randal Stewart (rrs@). This port is a work in progress, and there might still be significant changes. The port makes it to multi-user, but is still early beta.
|
201881 |
09-Jan-2010 |
imp |
Rename mips_pcpu_init to mips_pcpu0_init since it applies only to the BSP. Provide a missing prototype.
|
201845 |
08-Jan-2010 |
imp |
Centralize initialization of pcpu, and set curthread early...
|
200901 |
23-Dec-2009 |
rrs |
Add missing function that doesintr naming and init.
|
200900 |
23-Dec-2009 |
rrs |
This is a list of the files for RMI's md_root file system to get to multi-user. There are still some rough edges, rge has an issue. And someone held a spin lock to long.. But its coming along :-)
|
200769 |
21-Dec-2009 |
rrs |
Fixes so kdb works.
|
200755 |
20-Dec-2009 |
rrs |
Adds JC's fix to get rid of stray intr's.
Obtained from: JC - jayachandraanc@netlogicmicro.com
|
199203 |
11-Nov-2009 |
rrs |
Ok set in the values in clock 7 as in the original codes (I had changed one by accident) Also do the pic_ack/pic_delayed_ack after the interrupt so we clear it. The clock with these changes starts working. Its off doing a short/long short/long warning but it now runs.
My NFS mount now works but has the same problem with sbin/init (errno 8 ENOEXEC) so it panics with no init.
Either this is a problem with my buildworld.. OR its a yet undiscovered RMI issue.
|
199099 |
09-Nov-2009 |
rrs |
Ok we need to have the clock handlers has filters. This gets us up to a mount request :-)
|
199098 |
09-Nov-2009 |
rrs |
a little more paran's
|
199090 |
09-Nov-2009 |
rrs |
White space changes.
|
199089 |
09-Nov-2009 |
rrs |
- Comment out recrusive call to setup interrupt. - Change the way we pass the irq.
|
198985 |
06-Nov-2009 |
rrs |
Ok With this commit we actually get through the mi_startup (or to the last of it).. and hit a panic after :
uart0: <16550 or compatible> on iodi0 Trap cause = 2 (TLB miss....)
I did have to take the pci bus OUT of the build to get this far, hit a cache error with the PCI code in. Interesting thing is the machine reboots too ;-)
|
198957 |
05-Nov-2009 |
rrs |
white space changes
|
198956 |
05-Nov-2009 |
rrs |
ok we now get so that the uart init's and we can print. We cannot set baud rate as they did in 6.4, this hoses things and we loose our 38400 default term.
We now lock somewhere in tcinit.
|
198790 |
02-Nov-2009 |
rrs |
Fix spacing
|
198629 |
29-Oct-2009 |
rrs |
adds rmi specific mips extensions file and makes sure the includes point to the new place.
|
198625 |
29-Oct-2009 |
rrs |
White space changes
> Description of fields to fill in above: 76 columns --| > PR: If a GNATS PR is affected by the change. > Submitted by: If someone else sent in the change. > Reviewed by: If someone else reviewed your modification. > Approved by: If you needed approval for this commit. > Obtained from: If the change is from a third party. > MFC after: N [day[s]|week[s]|month[s]]. Request a reminder email. > Security: Vulnerability reference (one per line) or description. > Empty fields above will be automatically removed.
M rmi/xls_ehci.c M rmi/clock.h M rmi/xlr_pci.c M rmi/perfmon.h M rmi/uart_bus_xlr_iodi.c M rmi/perfmon_percpu.c M rmi/iodi.c M rmi/pcibus.c M rmi/perfmon_kern.c M rmi/perfmon_xlrconfig.h M rmi/pcibus.h M rmi/tick.c M rmi/xlr_boot1_console.c M rmi/debug.h M rmi/uart_cpu_mips_xlr.c M rmi/xlrconfig.h M rmi/interrupt.h M rmi/xlr_i2c.c M rmi/shared_structs.h M rmi/msgring.c M rmi/iomap.h M rmi/ehcireg.h M rmi/msgring.h M rmi/shared_structs_func.h M rmi/on_chip.c M rmi/pic.h M rmi/xlr_machdep.c M rmi/ehcivar.h M rmi/board.c M rmi/clock.c M rmi/shared_structs_offsets.h M rmi/perfmon_utils.h M rmi/board.h M rmi/msgring_xls.c M rmi/intr_machdep.c
|
198607 |
29-Oct-2009 |
rrs |
more Updates on the RMI code close to compiling now ;-)
|
198565 |
28-Oct-2009 |
thompsa |
Fix build from r198563 (again). Sigh.
|
198564 |
28-Oct-2009 |
thompsa |
Fix build from r198563
|
198563 |
28-Oct-2009 |
thompsa |
Use init_static_kenv() and setenv() to simplify the environment string handling.
|
198485 |
26-Oct-2009 |
rrs |
White space changes.
|
198484 |
26-Oct-2009 |
rrs |
Fix Copyright ;-)
|
198160 |
15-Oct-2009 |
rrs |
More initial RMI files. Note that these so far do NOT compile and many of them may disappear. For example the xlr_boot1_console.c is old code that is ifdef'd out. I will clean these sorts of things up as I make progress on the port. So far the only thing I have I think straightened out is the bits around the interupt handling... and hey that may be broke ;-)
|
198155 |
15-Oct-2009 |
rrs |
Adds the first files from the RMI work with my re-work of their intr_machdep.c to use updated interfaces etc. More coming.. and some day it may compile ;-)
|
198154 |
15-Oct-2009 |
rrs |
Does 4 things: 1) Adds future RMI directories 2) Places intr_machdep.c in specfic files.arch pointing to the generic intr_machdep.c. This allows us to have an architecture dependant intr_machdep.c (which we will need for RMI) in the machine specific directory 3) removes intr_machdep.c from files.mips 4) Adds some TARGET_XLR_XLS ifdef's for the machine specific intra_machdep.h. We may need to look at finding a better place to put this. But first I want to get this thing compiling.
|