aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Convert Freescale PowerPC platforms to FDT convention.Rafal Jaworowski2010-07-1135-2475/+1960
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The following systems are affected: - MPC8555CDS - MPC8572DS This overhaul covers the following major changes: - All integrated peripherals drivers for Freescale MPC85XX SoC, which are currently in the FreeBSD source tree are reworked and adjusted so they derive config data out of the device tree blob (instead of hard coded / tabelarized values). - This includes: LBC, PCI / PCI-Express, I2C, DS1553, OpenPIC, TSEC, SEC, QUICC, UART, CFI. - Thanks to the common FDT infrastrucutre (fdtbus, simplebus) we retire ocpbus(4) driver, which was based on hard-coded config data. Note that world for these platforms has to be built WITH_FDT. Reviewed by: imp Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=209908
* Provide more defines for PCI-Express device ctrl.Rafal Jaworowski2010-07-111-0/+3
| | | | Notes: svn path=/head/; revision=209907
* Introduce PowerPC-specific helper routines for FDT.Rafal Jaworowski2010-07-111-0/+168
| | | | | | | | Reviewed by: imp Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=209906
* Save fdtbus trigger / polarity data at their correct index.Rafal Jaworowski2010-07-111-2/+2
| | | | Notes: svn path=/head/; revision=209905
* Let simplebus(4) diagnostics be a bit more descriptive.Rafal Jaworowski2010-07-111-4/+7
| | | | Notes: svn path=/head/; revision=209904
* Provide a missing interrupt-parent for the CPM / QUICC node in the DTS.Rafal Jaworowski2010-07-111-0/+1
| | | | Notes: svn path=/head/; revision=209903
* Change the implementation of vm_hold_free_pages() so that it performs atAlan Cox2010-07-111-26/+16
| | | | | | | | | | | | most one call to pmap_qremove(), and thus one TLB shootdown, instead of one call and TLB shootdown per page. Simplify the interface to vm_hold_free_pages(). MFC after: 3 weeks Notes: svn path=/head/; revision=209902
* Make kernel panic with reasonable message if no usable event timer found.Alexander Motin2010-07-111-0/+2
| | | | Notes: svn path=/head/; revision=209901
* Remove interval validation from cpu_tick_calibrate(). As I found, checkAlexander Motin2010-07-111-36/+14
| | | | | | | | | | | was needed at preliminary version of the patch, where number of CPU ticks was divided strictly on 16 seconds. Final code instead uses real interval duration, so precise interval should not be important. Same time aliasing issues around second boundary causes false positives, periodically logging useless "t_delta ... too long/short" messages when HZ set below 256. Notes: svn path=/head/; revision=209900
* Fix SVN mismerge. We somehow ended up with the 32-bit powerpc versionNathan Whitehorn2010-07-112-4/+4
| | | | | | | in arch/powerpc64 instead of the 64-bit one. Notes: svn path=/head/; revision=209893
* Fixes a page fault in bwi_pci_probe() because the array isn't terminatedWeongyo Jeong2010-07-101-1/+2
| | | | | | | | | | | with NULL. PR: kern/148473 Submitted by: Grzegorz Dabrowski <grzegorz.dabrowski at gmail dot com> MFC after: 1 week Notes: svn path=/head/; revision=209892
* OpenSSL configuration for powerpc64Nathan Whitehorn2010-07-101-0/+217
| | | | | | | Obtained from: projects/ppc64 Notes: svn path=/head/; revision=209890
* Teach crunchide(1) about PPC ELF64.Nathan Whitehorn2010-07-102-1/+5
| | | | Notes: svn path=/head/; revision=209889
* Fixes a bug for LP PHY that some frames have 2 padding bytes at theWeongyo Jeong2010-07-101-10/+11
| | | | | | | | | | | | start so we should adjust the mbuf if the driver is running in PIO mode. Now it should work well with WPA authentication and association for LP PHY devices. Tested by: Warren Block <wblock at wonkity.com> MFC after: 1 month Notes: svn path=/head/; revision=209888
* Reduce the number of global TLB shootdowns generated by pmap_qenter().Alan Cox2010-07-102-12/+18
| | | | | | | | | | | | | | | | | | | | | Specifically, teach pmap_qenter() to recognize the case when it is being asked to replace a mapping with the very same mapping and not generate a shootdown. Unfortunately, the buffer cache commonly passes an entire buffer to pmap_qenter() when only a subset of the mappings are changing. For the extension of buffers in allocbuf() this was resulting in unnecessary shootdowns. The addition of new pages to the end of the buffer need not and did not trigger a shootdown, but overwriting the initial mappings with the very same mappings was seen as a change that necessitated a shootdown. With this change, that is no longer so. For a "buildworld" on amd64, this change eliminates 14-15% of the pmap_invalidate_range() shootdowns, and about 4% of the overall shootdowns. MFC after: 3 weeks Notes: svn path=/head/; revision=209887
* Since powerpc and powerpc64 share an instruction set, bind can and shouldNathan Whitehorn2010-07-101-2/+2
| | | | | | | | use the 32-bit atomic operations unmodified. Accomplish this by switching some MACHINE_ARCH values to MACHINE_CPUARCH. Notes: svn path=/head/; revision=209886
* RTLD support for powerpc64. A few small modifications to the MakefileNathan Whitehorn2010-07-106-0/+741
| | | | | | | | | | | | | | | | and symbol map are required to support various consequences of the dot symbol scheme: - Symbols beginning with a dot are reserved, so start private symbols with an underscore. - In order to set RTLD breakpoints, gdb must be able to locate the text entry point, not the data section function descriptor, so add .r_debug_state to the symbol map on powerpc64. Obtained from: projects/ppc64 Notes: svn path=/head/; revision=209885
* If ata_sata_phy_reset() failed and ata_generic_reset() is not called, markAlexander Motin2010-07-107-1/+24
| | | | | | | | channel as having no devices connected. This improves hot-unplug operation on legacy-emulating SATA controllers. Notes: svn path=/head/; revision=209884
* On attach, grab channel lock before setting up interrupt. This fixes crashAlexander Motin2010-07-101-3/+5
| | | | | | | | in ATA_CAM mode if phy connect event arrive before CAM bus initialization completed. Notes: svn path=/head/; revision=209883
* Teach libstand what to do for powerpc64: the same thing as powerpc. LikeNathan Whitehorn2010-07-101-6/+8
| | | | | | | | amd64, libstand apps for powerpc64 systems are 32-bit, due to 32-bit Open Firmware implementations. Notes: svn path=/head/; revision=209882
* 64-bit PowerPC KVM support.Nathan Whitehorn2010-07-101-0/+218
| | | | Notes: svn path=/head/; revision=209881
* Powerpc64 thread libraries support.Nathan Whitehorn2010-07-104-0/+226
| | | | Notes: svn path=/head/; revision=209880
* Provide 64-bit PowerPC support in libc.Nathan Whitehorn2010-07-1038-2/+2443
| | | | | | | Obtained from: projects/ppc64 Notes: svn path=/head/; revision=209878
* powerpc64 floating-point is identical to powerpc, so use the sameNathan Whitehorn2010-07-101-0/+2
| | | | | | | code on both architectures. Notes: svn path=/head/; revision=209877
* The 64-bit PowerPC ABI implemented in binutils 2.15 requires some specialNathan Whitehorn2010-07-102-1/+13
| | | | | | | | | | | | | | quirks for weak-symbol handling. Text symbols require also marking weak the special dot-symbol associated with the function, and data symbols require that you not do that. To fix this, provide a hacked __weak_reference for powerpc64, and define a new __weak_reference_data for the single weak data symbol in base. Revert after: binutils 2.17 import Obtained from: projects/ppc64 Notes: svn path=/head/; revision=209876
* 32-bit sysctl emulation is also interesting on powerpc64.Nathan Whitehorn2010-07-101-1/+1
| | | | Notes: svn path=/head/; revision=209875
* Add definitions for powerpc64 ELF relocation types. Some 64-bit relocationsNathan Whitehorn2010-07-101-0/+21
| | | | | | | | are identical to 32-bit relocations in meaning, name, and number, and I have chosen not to duplicate those here. Notes: svn path=/head/; revision=209874
* Document pl_siginfo and PT_FLAG_SI for PT_LWPINFO.Konstantin Belousov2010-07-101-4/+20
| | | | | | | MFC after: 1 month Notes: svn path=/head/; revision=209873
* Make hw.ata.ata_dma_check_80pin tunable affect not only device side, butAlexander Motin2010-07-1011-15/+22
| | | | | | | | | also controller side cable checks. Make respective sysctl writable. PR: kern/143462 Notes: svn path=/head/; revision=209872
* Fix reading of empty fifolog files. When we don't have anythingGiorgos Keramidas2010-07-101-1/+3
| | | | | | | | | | | to inflate, skip the rest of the fifolog reader code to avoid hitting the assert about Z_OK a bit further down. Approved by: phk MFC after: 1 week Notes: svn path=/head/; revision=209871
* C startup support for 64-bit PowerPC.Nathan Whitehorn2010-07-104-0/+248
| | | | | | | Obtained from: projects/ppc64 Notes: svn path=/head/; revision=209869
* Minor modifications to know what to do with powerpc64.Nathan Whitehorn2010-07-103-2/+5
| | | | Notes: svn path=/head/; revision=209868
* Teach our toolchain how to generate 64-bit PowerPC binaries. This fixesNathan Whitehorn2010-07-1023-23/+1298
| | | | | | | | | | | a variety of bugs in binutils related to handling of 64-bit PPC ELF, provides a GCC configuration for 64-bit PowerPC on FreeBSD, and associated build systems tweaks. Obtained from: projects/ppc64 Notes: svn path=/head/; revision=209867
* Fix spacing.Konstantin Belousov2010-07-091-1/+1
| | | | | | | | Noted by: pgollucci MFC after: 3 weeks Notes: svn path=/head/; revision=209866
* Some revision of Yukon controller generates corrupted frame when TXPyun YongHyeon2010-07-091-8/+21
| | | | | | | | | | | | | checksum offloading is enabled. The frame has a valid checksum value so payload might be modified during TX checksum calculation. Disable TX checksum offloading but give users chance to enable it when they know their controller works without problems with TX checksum offloading. Reported by: Andrzej Tobola <ato <> iem dot pw dot edu dot pl> Notes: svn path=/head/; revision=209865
* For both i386 and amd64 pmap,Konstantin Belousov2010-07-094-6/+4
| | | | | | | | | | | | | | | | - change the type of pm_active to cpumask_t, which it is; - in pmap_remove_pages(), compare with PCPU(curpmap), instead of dereferencing the long chain of pointers [1]. For amd64 pmap, remove the unneeded checks for validity of curpmap in pmap_activate(), since curpmap should be always valid after r209789. Submitted by: alc [1] Reviewed by: alc MFC after: 3 weeks Notes: svn path=/head/; revision=209862
* Add support for the VM_ALLOC_COUNT() hint to vm_page_alloc(). Consequently,Alan Cox2010-07-093-10/+5
| | | | | | | | | | | | | | | the maintenance of vm_pageout_deficit can be localized to just two places: vm_page_alloc() and vm_pageout_scan(). This change also corrects an off-by-one error in the maintenance of vm_pageout_deficit. Historically, the buffer cache functions, allocbuf() and vm_hold_load_pages(), have not taken into account that vm_page_alloc() already increments vm_pageout_deficit by one. Reviewed by: kib Notes: svn path=/head/; revision=209861
* Don't use pack() for structures that is used purely for software state.Xin LI2010-07-092-3/+3
| | | | | | | | | | | Otherwise the resulting, unaligned mutex structure would trigger panic. Submitted by: Tom Cough <tom.couch lsi.com> Reported/Tested by: jhb MFC after: 3 days Notes: svn path=/head/; revision=209860
* Fix of a VLAN problem by jhb, the checksum capabilityJack F Vogel2010-07-091-1/+1
| | | | | | | | | got lost along the way. MFC: asap Notes: svn path=/head/; revision=209859
* The number after 2 is 3, not 4.Nathan Whitehorn2010-07-091-1/+1
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=209853
* Remove an unnecessary include of opt_psim.h, which is not present onNathan Whitehorn2010-07-091-1/+0
| | | | | | | powerpc64. Notes: svn path=/head/; revision=209852
* MFppc64:Nathan Whitehorn2010-07-091-3/+3
| | | | | | | | Minor 64-bit-cleanliness upgrades and support for platform detection on subtly-broken OF implementations like in the Mambo simulator. Notes: svn path=/head/; revision=209851
* MFppc64:Nathan Whitehorn2010-07-091-7/+7
| | | | | | | | Use longs instead of ints as the native word type in bcopy(). This will expand nicely on 64-bit systems. Notes: svn path=/head/; revision=209850
* MFppc64:Nathan Whitehorn2010-07-091-3/+3
| | | | | | | | Check if devices are direct-mapped individually instead of just checking the value of hw_direct_map. Notes: svn path=/head/; revision=209849
* Accidentally committed an older version of this comment rather than theJohn Baldwin2010-07-091-4/+4
| | | | | | | final one. Notes: svn path=/head/; revision=209848
* Refine a comment.John Baldwin2010-07-091-5/+4
| | | | | | | Reviewed by: bde Notes: svn path=/head/; revision=209847
* Improve last commit: use bpf_mtap2() to avoiding stack usage.Gleb Smirnoff2010-07-091-13/+6
| | | | | | | Prodded by: julian Notes: svn path=/head/; revision=209845
* Remove redundant high >= 0.Jaakko Heinonen2010-07-091-1/+1
| | | | | | | Reported by: rstone Notes: svn path=/head/; revision=209844
* Fix build by defining MAX() macro here.Jung-uk Kim2010-07-091-0/+1
| | | | Notes: svn path=/head/; revision=209842
* Improve cxgb(4)'s behaviour when faced with temporarily "bouncy" links:Navdeep Parhar2010-07-095-40/+55
| | | | | | | | | | | | | | | | | - Run the adapter's tick at 1Hz and remove link state checks from it. Instead, have each port check its link state. Delay the check so that it takes place slightly after the driver is notified of a change in link state. This is a cheap way to debounce these notifications if many are received in rapid succession. POLL_LINK_1ST_TIME flag can also be eliminated as a side effect of these changes. - Do not reset the PHY when link goes down. - Clear port's link_fault flag if the PHY indicates link is down. - get_link_status_r should leave speed and duplex alone when link is down. MFC after: 1 month Notes: svn path=/head/; revision=209841