#
24042910 |
| 19-May-2021 |
Marcin Wojtas <mw@FreeBSD.org> |
Rename ofwpci.c to ofw_pcib.c
It's a class0 driver that implements some pcib methods and creates a pci bus as its children. The "ofw_pci" name will be used by a new driver that will be a subclass of
Rename ofwpci.c to ofw_pcib.c
It's a class0 driver that implements some pcib methods and creates a pci bus as its children. The "ofw_pci" name will be used by a new driver that will be a subclass of the pci bus. No functional changes intended.
Submitted by: Kornel Duleba <mindal@semihalf.com> Reviewed by: andrew Obtained from: Semihalf Sponsored by: Alstom Group Differential Revision: https://reviews.freebsd.org/D30226
show more ...
|
Revision tags: release/13.0.0 |
|
#
16e549eb |
| 05-Apr-2021 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Merge the QorIQ GPIO drivers between arm and powerpc
Summary: They're nearly identical, so don't use two copies. Merge the newer driver into the older one, and move it to a common location.
Add th
Merge the QorIQ GPIO drivers between arm and powerpc
Summary: They're nearly identical, so don't use two copies. Merge the newer driver into the older one, and move it to a common location.
Add the Semihalf and associated copyrights in addition to mine, since it's a non-trivial amount of code merged.
Reviewed By: mw Differential Revision: https://reviews.freebsd.org/D29520
show more ...
|
#
af366d35 |
| 08-Feb-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
amd64: implement strlen in assembly
The C variant in libkern performs excessive branching to find the non-zero byte instead of using the bsfq instruction. The same code patched to use it is still sl
amd64: implement strlen in assembly
The C variant in libkern performs excessive branching to find the non-zero byte instead of using the bsfq instruction. The same code patched to use it is still slower than the routine implemented here as the compiler keeps neglecting to perform certain optimizations (like using leaq).
On top of that the routine can is a starting point for copyinstr which operates on words instead of bytes.
Tested with glibc test suite.
Sample results (calls/s):
Haswell: $(perl -e "print 'A' x 3"): stock: 211198039 patched:338626619 asm: 465609618
$(perl -e "print 'A' x 100"): stock: 83151997 patched: 98285919 asm: 120719888
AMD EPYC 7R32: $(perl -e "print 'A' x 3"): stock: 282523617 asm: 491498172
$(perl -e "print 'A' x 100"): stock: 114857172 asm: 112082057
show more ...
|
#
2e58ec01 |
| 19-Nov-2020 |
Mark Johnston <markj@FreeBSD.org> |
Move kern_clocksource.c to sys/conf/files
Sponsored by: The FreeBSD Foundation
|
#
8b2133d4 |
| 06-Nov-2020 |
Leandro Lupori <luporl@FreeBSD.org> |
Fix powerpc and LINT builds
Fix build errors introduced by r367417 and r367390:
- Guard label reached only by powerpc64 - Guard vm_reserv_level_iffullpop call, that is not defined on powerpc vari
Fix powerpc and LINT builds
Fix build errors introduced by r367417 and r367390:
- Guard label reached only by powerpc64 - Guard vm_reserv_level_iffullpop call, that is not defined on powerpc variants that don't support superpages - Add missing hwpmc file, for when hwpmc is built into kernel
show more ...
|
Revision tags: release/12.2.0 |
|
#
b75abea4 |
| 23-Sep-2020 |
Brandon Bergren <bdragon@FreeBSD.org> |
[PowerPC64LE] Set up powerpc.powerpc64le architecture
This is the initial set up for PowerPC64LE.
The current plan is for this arch to remain experimental for FreeBSD 13.
This started as a weekend
[PowerPC64LE] Set up powerpc.powerpc64le architecture
This is the initial set up for PowerPC64LE.
The current plan is for this arch to remain experimental for FreeBSD 13.
This started as a weekend learning project for me and kinda snowballed from there.
(More to follow momentarily.)
Reviewed by: imp (earlier version), emaste Sponsored by: Tag1 Consulting, Inc. Differential Revision: https://reviews.freebsd.org/D26399
show more ...
|
Revision tags: release/11.4.0 |
|
#
b4a7ce06 |
| 10-Jun-2020 |
Eric Joyner <erj@FreeBSD.org> |
ixl(4): Add FW recovery mode support and other things
Update the iflib version of ixl driver based on the OOT version ixl-1.11.29.
Major changes:
- Extract iflib specific functions from ixl_pf_mai
ixl(4): Add FW recovery mode support and other things
Update the iflib version of ixl driver based on the OOT version ixl-1.11.29.
Major changes:
- Extract iflib specific functions from ixl_pf_main.c to ixl_pf_iflib.c to simplify code sharing between legacy and iflib version of driver
- Add support for most recent FW API version (1.10), which extends FW LLDP Agent control by user to X722 devices
- Improve handling of device global reset
- Add support for the FW recovery mode
- Use virtchnl function to validate virtual channel messages instead of using separate checks
- Fix MAC/VLAN filters accounting
Submitted by: Krzysztof Galazka <krzysztof.galazka@intel.com> Reviewed by: erj@ Tested by: Jeffrey Pieper <jeffrey.e.pieper@intel.com> MFC after: 1 week Relnotes: yes Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D24564
show more ...
|
#
d3111144 |
| 06-Jun-2020 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpc: Use IFUNCs for copyin/copyout/etc
Summary: Radix on AIM, and all of Book-E (currently), can do direct addressing of user space, instead of needing to map user addresses into kernel space. T
powerpc: Use IFUNCs for copyin/copyout/etc
Summary: Radix on AIM, and all of Book-E (currently), can do direct addressing of user space, instead of needing to map user addresses into kernel space. Take advantage of this to optimize the copy(9) functions for this behavior, and avoid effectively NOP translations.
Test Plan: Tested on powerpcspe, powerpc64/booke, powerpc64/AIM
Reviewed by: bdragon Differential Revision: https://reviews.freebsd.org/D25129
show more ...
|
#
45b69dd6 |
| 27-May-2020 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpc/mmu: Convert PowerPC pmap drivers to ifunc from kobj
With IFUNC support in the kernel, we can finally get rid of our poor-man's ifunc for pmap, utilizing kobj. Since moea64 uses a second ti
powerpc/mmu: Convert PowerPC pmap drivers to ifunc from kobj
With IFUNC support in the kernel, we can finally get rid of our poor-man's ifunc for pmap, utilizing kobj. Since moea64 uses a second tier kobj as well, for its own private methods, this adds a second pmap install function (pmap_mmu_init()) to perform pmap 'post-install pre-bootstrap' initialization, before the IFUNCs get initialized.
Reviewed by: bdragon
show more ...
|
#
852c303b |
| 25-May-2020 |
Conrad Meyer <cem@FreeBSD.org> |
copystr(9): Move to deprecate (attempt #2)
This reapplies logical r360944 and r360946 (reverting r360955), with fixed copystr() stand-in replacement macro. Eventually the goal is to convert consume
copystr(9): Move to deprecate (attempt #2)
This reapplies logical r360944 and r360946 (reverting r360955), with fixed copystr() stand-in replacement macro. Eventually the goal is to convert consumers and kill the macro, but for a first step it helps if the macro is correct.
Prior commit message:
Unlike the other copy*() functions, it does not serve to copy from one address space to another or protect against potential faults. It's just an older incarnation of the now-more-common strlcpy().
Add a coccinelle script to tools/ which can be used to mechanically convert existing instances where replacement with strlcpy is trivial. In the two cases which matched, fuse_vfsops.c and union_vfsops.c, the code was further refactored manually to simplify.
Replace the declaration of copystr() in systm.h with a small macro wrapper around strlcpy (with correction from brooks@ -- thanks).
Remove N redundant MI implementations of copystr. For MIPS, this entailed inlining the assembler copystr into the only consumer, copyinstr, and making the latter a leaf function.
Reviewed by: jhb (earlier version) Discussed with: brooks (thanks!) Differential Revision: https://reviews.freebsd.org/D24672
show more ...
|
#
051fc58c |
| 12-May-2020 |
Conrad Meyer <cem@FreeBSD.org> |
Revert r360944 and r360946 until reported issues can be resolved
Reported by: cy
|
#
9cfae28e |
| 12-May-2020 |
Conrad Meyer <cem@FreeBSD.org> |
Remove deleted files from the build
Fix build break introduced in r360944.
Reported by: kevans
|
#
0e00c709 |
| 11-May-2020 |
John Baldwin <jhb@FreeBSD.org> |
Remove support for DES and Triple DES from OCF.
It no longer has any in-kernel consumers via OCF. smbfs still uses single DES directly, so sys/crypto/des remains for that use case.
Reviewed by: ce
Remove support for DES and Triple DES from OCF.
It no longer has any in-kernel consumers via OCF. smbfs still uses single DES directly, so sys/crypto/des remains for that use case.
Reviewed by: cem Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24773
show more ...
|
#
32075647 |
| 11-May-2020 |
John Baldwin <jhb@FreeBSD.org> |
Remove support for the Blowfish algorithm from OCF.
It no longer has any in-kernel consumers.
Reviewed by: cem Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://revi
Remove support for the Blowfish algorithm from OCF.
It no longer has any in-kernel consumers.
Reviewed by: cem Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24772
show more ...
|
#
65bbba25 |
| 11-May-2020 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpc64: Implement Radix MMU for POWER9 CPUs
Summary: POWER9 supports two MMU formats: traditional hashed page tables, and Radix page tables, similar to what's presesnt on most other architectures
powerpc64: Implement Radix MMU for POWER9 CPUs
Summary: POWER9 supports two MMU formats: traditional hashed page tables, and Radix page tables, similar to what's presesnt on most other architectures. The PowerISA also specifies a process table -- a table of page table pointers-- which on the POWER9 is only available with the Radix MMU, so we can take advantage of it with the Radix MMU driver.
Written by Matt Macy.
Differential Revision: https://reviews.freebsd.org/D19516
show more ...
|
#
ccb1ebe0 |
| 03-Apr-2020 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpc/amigaone: Add CPLD driver for AmigaOne A1222 "Tabor"
Like the X5000, the main CPLD on the A1222 is the communication medium between the CPU and the GPIO CPLD. It provides a mailbox communic
powerpc/amigaone: Add CPLD driver for AmigaOne A1222 "Tabor"
Like the X5000, the main CPLD on the A1222 is the communication medium between the CPU and the GPIO CPLD. It provides a mailbox communication feature, along with dual-port RAM accessible from both the CPU and GPIO CPLD, and 3 fan speed reporting registers.
show more ...
|
#
c5568ba0 |
| 12-Mar-2020 |
Leandro Lupori <luporl@FreeBSD.org> |
Enable ixl device on PowerPC64
The ixl driver now works on PowerPC64 and may be compiled in-kernel and as a module.
Reviewed by: alfredo, erj Sponsored by: Eldorado Research Institute (eldorado.org
Enable ixl device on PowerPC64
The ixl driver now works on PowerPC64 and may be compiled in-kernel and as a module.
Reviewed by: alfredo, erj Sponsored by: Eldorado Research Institute (eldorado.org.br) Differential Revision: https://reviews.freebsd.org/D23974
show more ...
|
#
f7ed37c5 |
| 06-Mar-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r358678 through r358711.
|
#
d8c51c6f |
| 05-Mar-2020 |
Leandro Lupori <luporl@FreeBSD.org> |
[aacraid] Port driver to big-endian
Port aacraid driver to big-endian (BE) hosts.
The immediate goal of this change is to make it possible to use the aacraid driver on PowerPC64 machines that have
[aacraid] Port driver to big-endian
Port aacraid driver to big-endian (BE) hosts.
The immediate goal of this change is to make it possible to use the aacraid driver on PowerPC64 machines that have Adaptec Series 8 SAS controllers.
Adapters supported by this driver expect FIB contents in little-endian (LE) byte order. All FIBs have a fixed header part as well as a data part that depends on the command being issued to the controller.
In this way, on BE hosts, the FIB header and all FIB data structures used in aacraid.c and aacraid_cam.c need to be converted to LE before being sent to the adapter and converted to BE when coming from it.
The functions to convert each struct are on aacraid_endian.c. For little-endian (LE) targets, they are macros that expand to nothing. In some cases, when only a few fields of a large structure are used, the fields are converted inline, by the code using them.
PR: 237463 Reviewed by: jhibbits Sponsored by: Eldorado Research Institute (eldorado.org.br) Differential Revision: https://reviews.freebsd.org/D23887
show more ...
|
#
310fc6c5 |
| 02-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r357389 through r357407.
|
#
bb9c7e26 |
| 02-Feb-2020 |
Warner Losh <imp@FreeBSD.org> |
Move font.h generation to conf/files from conf/files.*
Use ${SRCTOP} instead of /usr/share. Prefer to depend on option sc_dflt_fnt instead of sc. gc the 4 otherwise identical instances in the tree.
Move font.h generation to conf/files from conf/files.*
Use ${SRCTOP} instead of /usr/share. Prefer to depend on option sc_dflt_fnt instead of sc. gc the 4 otherwise identical instances in the tree. Platforms that don't need this won't included it.
show more ...
|
#
53d2936c |
| 20-Jan-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r356848 through r356919.
|
#
2a05eb9f |
| 19-Jan-2020 |
Justin Hibbits <jhibbits@FreeBSD.org> |
PowerPC: Add CPLD driver for AmigaOne X5000
Summary: The CPLD is the communications medium between the CPU and the XMOS "Xena" event coprocessor. It provides a mailbox communication feature, along
PowerPC: Add CPLD driver for AmigaOne X5000
Summary: The CPLD is the communications medium between the CPU and the XMOS "Xena" event coprocessor. It provides a mailbox communication feature, along with dual-port RAM to be used between the CPU and XMOS. Also, it provides basic board stats as well, such as PCIe presence, JTAG signals, and CPU fan speed reporting (in revolutions per second). Only fan speed reading is handled, as a sysctl.
Reviewed by: bdragon Differential Revision: https://reviews.freebsd.org/D23136
show more ...
|
#
9aafc7c0 |
| 03-Jan-2020 |
Brandon Bergren <bdragon@FreeBSD.org> |
[PowerPC] [MIPS] Implement 32-bit kernel emulation of atomic64 operations
This is a lock-based emulation of 64-bit atomics for kernel use, split off from an earlier patch by jhibbits.
This is neede
[PowerPC] [MIPS] Implement 32-bit kernel emulation of atomic64 operations
This is a lock-based emulation of 64-bit atomics for kernel use, split off from an earlier patch by jhibbits.
This is needed to unblock future improvements that reduce the need for locking on 64-bit platforms by using atomic updates.
The implementation allows for future integration with userland atomic64, but as that implies going through sysarch for every use, the current status quo of userland doing its own locking may be for the best.
Submitted by: jhibbits (original patch), kevans (mips bits) Reviewed by: jhibbits, jeff, kevans Differential Revision: https://reviews.freebsd.org/D22976
show more ...
|
#
1c8102d8 |
| 21-Dec-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpc: Only build mpc85xx i2c driver for mpc85xx
No need to build it for every other platform.
|