#
76832996 |
|
12-Feb-2024 |
Eric Joyner <erj@FreeBSD.org> |
ice_ddp: Update package to 1.3.36.0 This is intended to be used with the upcoming ice 1.39.13-k driver update, but is still backwards compatible with previous versions of the driver. Signed-off-by: Eric Joyner <erj@FreeBSD.org> MFC after: 3 days Sponsored by: Intel Corporation
|
#
7c569caa |
|
19-Sep-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
iicbus: Move i2c sensors drivers into new sensor subdirectory No reason that they should live directly under iicbus Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D41913
|
#
06589d6e |
|
19-Sep-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
iicbus: Move ADC drivers into a new adc subfolder No reason that they should live directly under iicbus Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D41911
|
#
22d7dd83 |
|
19-Sep-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
iicbus: Move adm1030 and adt746x to new pwm subdirectory Those are (mainly) pwm controller so move it under a new subdirectory. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D41910
|
#
e04c4b4a |
|
21-Aug-2023 |
Eric Joyner <erj@FreeBSD.org> |
ice_ddp: Update to 1.3.35.0 This is intended to be used with the upcoming updated ice(4) version 1.38.16-k. Signed-off-by: Eric Joyner <erj@FreeBSD.org> MFC after: 3 days Sponsored by: Intel Corporation
|
#
031beb4e |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line sh pattern Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
|
#
a8926207 |
|
06-Jul-2023 |
Mitchell Horne <mhorne@FreeBSD.org> |
Consistently provide ffs/fls using builtins Use of compiler builtin ffs/ctz functions will result in optimized instruction sequences when possible, and fall back to calling a function provided by the compiler run-time library. We have slowly shifted our platforms to take advantage of these builtins in 60645781d613 (arm64), 1c76d3a9fbef (arm), 9e319462a03a (powerpc, partial). Some platforms still rely on the libkern implementations of these functions provided by libkern, namely riscv, powerpc (ffs*, flsll), and i386 (ffsll and flsll). These routines are slow, as they perform a linear search for the bit in question. Even on platforms lacking dedicated bit-search instructions, such as riscv, the compiler library will provide better-optimized routines, e.g. by using binary search. Consolidate all definitions of these functions (whether currently using builtins or not) to libkern.h. This should result in equivalent or better performing routines in all cases. One wart in all of this is the existing HAVE_INLINE_F*** macros, which we use in a few places to conditionally avoid the slow libkern routines. These aren't easily removed in one commit. For now, provide these defines unconditionally, but marked for removal after subsequent cleanup. Removal of the now unused libkern routines will follow in the next commit. Reviewed by: dougm, imp (previous version) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D40698
|
#
d4c78130 |
|
24-Apr-2023 |
Warner Losh <imp@FreeBSD.org> |
powerpc: syscalls.c is standard No need to add it here, much less make it optional on ktr. Sponsored by: Netflix
|
#
2a58b312 |
|
03-Apr-2023 |
Martin Matuska <mm@FreeBSD.org> |
zfs: merge openzfs/zfs@431083f75 Notable upstream pull request merges: #12194 Fix short-lived txg caused by autotrim #13368 ZFS_IOC_COUNT_FILLED does unnecessary txg_wait_synced() #13392 Implementation of block cloning for ZFS #13741 SHA2 reworking and API for iterating over multiple implementations #14282 Sync thread should avoid holding the spa config write lock when possible #14283 txg_sync should handle write errors in ZIL #14359 More adaptive ARC eviction #14469 Fix NULL pointer dereference in zio_ready() #14479 zfs redact fails when dnodesize=auto #14496 improve error message of zfs redact #14500 Skip memory allocation when compressing holes #14501 FreeBSD: don't verify recycled vnode for zfs control directory #14502 partially revert PR 14304 (eee9362a7) #14509 Fix per-jail zfs.mount_snapshot setting #14514 Fix data race between zil_commit() and zil_suspend() #14516 System-wide speculative prefetch limit #14517 Use rw_tryupgrade() in dmu_bonus_hold_by_dnode() #14519 Do not hold spa_config in ZIL while blocked on IO #14523 Move dmu_buf_rele() after dsl_dataset_sync_done() #14524 Ignore too large stack in case of dsl_deadlist_merge #14526 Use .section .rodata instead of .rodata on FreeBSD #14528 ICP: AES-GCM: Refactor gcm_clear_ctx() #14529 ICP: AES-GCM: Unify gcm_init_ctx() and gmac_init_ctx() #14532 Handle unexpected errors in zil_lwb_commit() without ASSERT() #14544 icp: Prevent compilers from optimizing away memset() in gcm_clear_ctx() #14546 Revert zfeature_active() to static #14556 Remove bad kmem_free() oversight from previous zfsdev_state_list patch #14563 Optimize the is_l2cacheable functions #14565 FreeBSD: zfs_znode_alloc: lock the vnode earlier #14566 FreeBSD: fix false assert in cache_vop_rmdir when replaying ZIL #14567 spl: Add cmn_err_once() to log a message only on the first call #14568 Fix incremental receive silently failing for recursive sends #14569 Restore ASMABI and other Unify work #14576 Fix detection of IBM Power8 machines (ISA 2.07) #14577 Better handling for future crypto parameters #14600 zcommon: Refactor FPU state handling in fletcher4 #14603 Fix prefetching of indirect blocks while destroying #14633 Fixes in persistent error log #14639 FreeBSD: Remove extra arc_reduce_target_size() call #14641 Additional limits on hole reporting #14649 Drop lying to the compiler in the fletcher4 code #14652 panic loop when removing slog device #14653 Update vdev state for spare vdev #14655 Fix cloning into already dirty dbufs #14678 Revert "Do not hold spa_config in ZIL while blocked on IO" Obtained from: OpenZFS OpenZFS commit: 431083f75bdd3efaee992bdd672625ec7240d252
|
#
8923de59 |
|
13-Feb-2023 |
Piotr Kubaj <pkubaj@FreeBSD.org> |
ice(4): Update to 1.37.7-k Notable changes include: - DSCP QoS Support (leveraging support added in rG9c950139051298831ce19d01ea5fb33ec6ea7f89) - Improved PFC handling and TC queue assignments (now all remaining queues are assigned to TC 0 when more than one TC is enabled and the number of available queues does not evenly divide between them) - Support for dumping the internal FW state for additional debugging by Intel support - Support for allowing "No FEC" to be a valid state for the LESM to negotiate when using non-standard compliant modules Also includes various bug fixes and smaller enhancements, too. Signed-off-by: Eric Joyner <erj@FreeBSD.org> Reviewed by: erj@ Tested by: Jeff Pieper <jeffrey.pieper@intel.com> MFC after: 3 days Relnotes: yes Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D38109 |
#
2508da22 |
|
24-Jan-2023 |
Eric Joyner <erj@FreeBSD.org> |
ice_ddp: Update package to 1.3.30.0 This updated DDP is intended to be used with the forthcoming ice(4) driver update to 1.37.7-k. (But it will still work with the current version.) Co-authored-by: Piotr Kubaj <pkubaj@FreeBSD.org> Signed-off-by: Eric Joyner <erj@FreeBSD.org> MFC after: 1 week Sponsored by: Intel Corporation |
#
8c6e5d8c |
|
07-Sep-2022 |
Andrew Turner <andrew@FreeBSD.org> |
Import an optimized str{n}cmp on arm64 These are from the Arm Optimized Routines and don't use the VFP so are safe to use in the kernel. Sponsored by: The FreeBSD Foundation |
#
d1aefbc0 |
|
23-Jun-2022 |
Martin Matuska <mm@FreeBSD.org> |
zfs: fix static module build broken in 1f1e2261e |
#
8a13362d |
|
01-Dec-2021 |
Eric Joyner <erj@FreeBSD.org> |
ice(4): Add RDMA Client Interface This allows the "irdma" driver to communicate with the ice(4) driver to allow it access to the underlying device's hardware resources as well as synchronize access to shared resources. This interface already existed in the standalone out-of-tree 1.34.2 driver; this commit adds and enables it in the in-kernel driver. Note: Adds hack to module Makefile to compile interface/.m files These are required for the RDMA client interface, but they don't build as-is like the normal .c files. The source directory doesn't seem to be included by default, so add lines that specifically add them as libraries so that ice_rdma.h can be found and the interface files will compile. Signed-off-by: Eric Joyner <erj@FreeBSD.org> MFC after: 1 week Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D30889 |
#
56429dae |
|
04-Mar-2022 |
Eric Joyner <erj@FreeBSD.org> |
ice(4): Update to 1.34.2-k - Adds FW logging support - Once enabled, this lets the firmware print event and error messages to the log, increasing the visibility into what the hardware is doing; this is useful for debugging - General bug fixes - Adds inital DCB support to the driver - Notably, this adds support for DCBX to the driver; now with the fw_lldp sysctl set to 1, the driver and adapter will adopt a DCBX configuration sent from a link partner - Adds statistcs sysctls for priority flow control frames - Adds new configuration sysctls for DCB-related features: (VLAN) user priority to TC mapping; ETS bandwidth allocation; priority flow control - Remove unused SR-IOV files (until support gets added) Signed-off-by: Eric Joyner <erj@FreeBSD.org> Tested by: jeffrey.e.pieper@intel.com MFC after: 3 days MFC with: 213e91399b, e438f0a975 Relnotes: yes Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D34024 |
#
960ce3f7 |
|
20-Feb-2022 |
Michal Meloun <mmel@FreeBSD.org> |
Fix a534b50e245d on powerpc. MFC with: 1bd3e8ba696633ccd7525030d951b58ade167814 |
#
e438f0a9 |
|
01-Dec-2021 |
Eric Joyner <erj@FreeBSD.org> |
ice_ddp: Update to 1.3.27.0 This is intended to be used with forthcoming ice(4) driver version 1.34.2. Signed-off-by: Eric Joyner <erj@FreeBSD.org> Sponsored by: Intel Corporation |
#
a0f3abb0 |
|
20-Jan-2022 |
Piotr Kubaj <pkubaj@FreeBSD.org> |
powerpc: enable ice in GENERIC64LE Approved by: erj Differential Revision: https://reviews.freebsd.org/D33974 |
#
c583b025 |
|
23-Dec-2021 |
Brandon Bergren <bdragon@FreeBSD.org> |
[PowerPC] PowerMac timebase sync for G4 Summary: Disable timebase on (some) AIM platforms (tested on PowerMac G4) prior to synchronization. Some platforms use a GPIO to enable and disable timebase, while others use a platform function. This mirrors 0d69f00b on mpc85xx. Todo: * Implement various G5 timebase controls. * Print out platform code on unknown G5s so we can collect it. * Change API to be give/take pairs like Linux does so it's possible to do a software sync protocol. Reviewed By: #powerpc, jhibbits Subscribers: mikael, markmi_dsl-only.net, luporl, alfredo Tags: #powerpc Differential Revision: https://reviews.freebsd.org/D29136 |
#
ecbbe831 |
|
24-Nov-2021 |
Mark Johnston <markj@FreeBSD.org> |
netinet: Deduplicate most in_cksum() implementations in_cksum() and related routines are implemented separately for each platform, but only i386 and arm have optimized versions. Other platforms' copies of in_cksum.c are identical except for style differences and support for big-endian CPUs. Deduplicate the implementations for the rest of the platforms. This will make it easier to implement in_cksum() for unmapped mbufs. On arm and i386, define HAVE_MD_IN_CKSUM to mean that the MI implementation is not to be compiled. No functional change intended. Reviewed by: kp, glebius MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33095 |
#
451756d1 |
|
23-Aug-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
powerpc: retire bcmp Unused since ba96f37758412151 ("Use __builtin for various mem* and b* (e.g. bzero) routines.") Reviewed by: jhibbits Sponsored by: Rubicon Communications, LLC ("Netgate") |
#
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 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 |
#
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 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 |
#
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 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 |
#
2e58ec01 |
|
18-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 variants that don't support superpages - Add missing hwpmc file, for when hwpmc is built into kernel |
#
b75abea4 |
|
22-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 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 |
#
b4a7ce06 |
|
09-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_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 |
#
d3111144 |
|
05-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. 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 |
#
45b69dd6 |
|
26-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 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 |
#
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 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 |
#
051fc58c |
|
11-May-2020 |
Conrad Meyer <cem@FreeBSD.org> |
Revert r360944 and r360946 until reported issues can be resolved Reported by: cy |
#
9cfae28e |
|
11-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: cem Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24773 |
#
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://reviews.freebsd.org/D24772 |
#
65bbba25 |
|
10-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. 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 |
#
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 communication feature, along with dual-port RAM accessible from both the CPU and GPIO CPLD, and 3 fan speed reporting registers. |
#
c5568ba0 |
|
11-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.br) Differential Revision: https://reviews.freebsd.org/D23974 |
#
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 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 |
#
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. Platforms that don't need this won't included it. |
#
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 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 |
#
9aafc7c0 |
|
02-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 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 |
#
1c8102d8 |
|
20-Dec-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpc: Only build mpc85xx i2c driver for mpc85xx No need to build it for every other platform. |
#
a16111e6 |
|
09-Dec-2019 |
Leandro Lupori <luporl@FreeBSD.org> |
[PPC64] Enable opal console use as a GDB DBGPORT This change makes it possible to use OPAL console as a GDB debug port. Similar to uart and uart_phyp debug ports, it has to be enabled by setting the hw.uart.dbgport variable to the serial console node of the device tree. Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D22649 |
#
9e319462 |
|
07-Dec-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpc: Use builtins for fls/flsl Summary: There's no need to use the fallback fls() and flsl() libkern functions when the PowerISA includes instructions that already do the bulk of the work. Take advantage of this through the GCC builtins __builtin_clz() and __builtin_clzl(). Reviewed by: luporl Differential Revision: https://reviews.freebsd.org/D22340 |
#
4ceaf951 |
|
25-Nov-2019 |
Leandro Lupori <luporl@FreeBSD.org> |
[PPC64] Enable phyp vty use as a GDB DBGPORT This change makes it possible to use a POWER Hypervisor virtual terminal device (phyp vty) as a GDB debug port. Similar to the uart debug port, it has to be enabled by setting the hw.uart_phyp.dbgport variable to the vty node of the device tree. Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D22205 |
#
34ed25a8 |
|
15-Oct-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpc: Add AmigaOne platform, a subclass of MPC85xx Summary: The AmigaOne platform, encompassing the X5000 and A1222 at this time, is based on the mpc85xx platform, but includes some things not listed in the device tree. Some custom devices, like CPLD, could be added to the device tree with an overlay, or other means. However, some cannot easily be done, such as the power button interrupt. The directory will also become a location to add AmigaOne platform drivers, such as the aforementioned CPLD, and its children. Reviewed by: bdragon Differential Revision: https://reviews.freebsd.org/D21829 |
#
0ecc478b |
|
14-Oct-2019 |
Leandro Lupori <luporl@FreeBSD.org> |
[PPC64] Initial kernel minidump implementation Based on POWER9BSD implementation, with all POWER9 specific code removed and addition of new methods in PPC64 MMU interface, to isolate platform specific code. Currently, the new methods are implemented on pseries and PowerNV (D21643). Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D21551 |
#
d0c0856f |
|
10-Oct-2019 |
Andriy Gapon <avg@FreeBSD.org> |
emulate illumos membar_producer with atomic_thread_fence_rel membar_producer is supposed to be a store-store barrier. Also, in the code that FreeBSD has ported from illumos membar_producer is used only with regular stores to regular memory (with respect to caching). We do not have an MI primitive for the store-store barrier, so atomic_thread_fence_rel is the closest we have as it provides (load | store) -> store barrier. Previously, membar_producer was an empty function call on all 32-bit arm-s, 32-bit powerpc, riscv and all mips variants. I think that it was inadequate. On other platforms, such as amd64, arm64, i386, powerpc64, sparc64, membar_producer was implemented using stronger primitives than required for a store-store barrier with respect to regular memory access. For example, it used sfence on amd64 and lock-ed nop in i386 (despite TSO). On powerpc64 we now use recommended lwsync instead of eieio. On sparc64 FreeBSD uses TSO mode. On arm64/aarch64 we now use dmb sy instead of dmb ish. Not sure if this is an improvement, actually. After this change we can drop opensolaris_atomic.S for aarch64, amd64, powerpc64 and sparc64 as all required atomic operations have either direct or light-weight mapping to FreeBSD native atomic operations. Discussed with: kib MFC after: 4 weeks |
#
1c56203b |
|
13-Sep-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpc64/powernv: Add opal NVRAM driver for PowerNV systems Add a very basic NVRAM driver for OPAL which can be used by the IBM powerpc-utils nvram utility, not to be confused with the base nvram utility, which only operates on powermac_nvram. The IBM utility handles all partitions itself, treating the nvram device as a plain store. An alternative would be to manage partitions in the kernel, and augment the base nvram utility to deal with different backing stores, but that complicates the driver significantly. Instead, present the same interface IBM's utlity expects, and we get the usage for free. Tested by: bdragon |
#
f5a95d9a |
|
24-Jun-2019 |
Warner Losh <imp@FreeBSD.org> |
Remove NAND and NANDFS support NANDFS has been broken for years. Remove it. The NAND drivers that remain are for ancient parts that are no longer relevant. They are polled, have terrible performance and just for ancient arm hardware. NAND parts have evolved significantly from this early work and little to none of it would be relevant should someone need to update to support raw nand. This code has been off by default for years and has violated the vnode protocol leading to panics since it was committed. Numerous posts to arch@ and other locations have found no actual users for this software. Relnotes: Yes No Objection From: arch@ Differential Revision: https://reviews.freebsd.org/D20745 |
#
c363b16c |
|
20-Jun-2019 |
Conrad Meyer <cem@FreeBSD.org> |
sys: Remove DEV_RANDOM device option Remove 'device random' from kernel configurations that reference it (most). Replace perhaps mistaken 'nodevice random' in two MIPS configs with 'options RANDOM_LOADABLE' instead. Document removal in UPDATING; update NOTES and random.4. Reviewed by: delphij, markm (previous version) Approved by: secteam(delphij) Differential Revision: https://reviews.freebsd.org/D19918 |
#
5ca5dfe9 |
|
31-May-2019 |
Conrad Meyer <cem@FreeBSD.org> |
random(4): Fix RANDOM_LOADABLE build I introduced an obvious compiler error in r346282, so this change fixes that. Unfortunately, RANDOM_LOADABLE isn't covered by our existing tinderbox, and it seems like there were existing latent linking problems. I believe these were introduced on accident in r338324 during reduction of the boolean expression(s) adjacent to randomdev.c and hash.c. It seems the RANDOM_LOADABLE build breakage has gone unnoticed for nine months. This change correctly annotates randomdev.c and hash.c with !random_loadable to match the pre-r338324 logic; and additionally updates the HWRNG drivers in MD 'files.*', which depend on random_device symbols, with !random_loadable (it is invalid for the kernel to depend on symbols from a module). (The expression for both randomdev.c and hash.c was the same, prior to r338324: "optional random random_yarrow | random !random_yarrow !random_loadable". I.e., "random && (yarrow || !loadable)." When Yarrow was removed ("yarrow := False"), the expression was incorrectly reduced to "optional random" when it should have retained "random && !loadable".) Additionally, I discovered that virtio_random was missing a MODULE_DEPEND on random_device, which breaks kld load/link of the driver on RANDOM_LOADABLE kernels. Address that issue as well. PR: 238223 Reported by: Eir Nym <eirnym AT gmail.com> Reviewed by: delphij, markm Approved by: secteam(delphij) Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D20466 |
#
9e774e53 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove bm(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230 |
#
50886464 |
|
29-Apr-2019 |
Leandro Lupori <luporl@FreeBSD.org> |
[PPC64] Turn opal_flash.c into a device This change makes it easier to enable/disable the inclusion of OPAL flash in the kernel. Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D20098 |
#
8af4cc4d |
|
22-Mar-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powernv: Add Hypervisor Maintenance Interrupt handler Attempting to build www/firefox on POWER9 resulted in a HMI exception being thrown, a fatal trap currently. This is typically caused by timer facility errors, but examination of the Hypervisor Maintenance Exception Register (HMER) yielded only that an exception had recovered, with no information of the actual exception cause. When an HMI occurs, OPAL_HANDLE_HMI or OPAL_HANDLE_HMI2 must be called to handle the exception at the firmware level. If the exception is handled, we can continue. This adds only the preliminary handler, enough to prevent package building from panicking. An enhancement in the future is to use the flags returned by OPAL_HANDLE_HMI2 to print more useful error messages, and log maintenance events. Reviewed by: luporl MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D19634 |
#
bc94b700 |
|
22-Mar-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpc: Re-merge isa3 HPT with moea64 native HPT r345402 fixed the bug that led to the split of the ISA 3.0 HPT handling from the existing manager. The cause of the bug was gcc moving the register holding VPN to a different register (not r0), which triggered bizarre behaviors. With the fix, things work, so they can be re-merged. No performance lost with the merge. |
#
6775dfdf |
|
28-Feb-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpc/powernv: Add OPAL flash device driver Firmware needed by petitboot, for example, GPU firmware, can be installed to a partition in the flash filesystem. This driver exposes the full flash given by the device tree, letting the user manage firmware, etc, from FreeBSD. To use the partitions provided by the flash module, the fdt_slicer module is needed, but the module isn't needed for raw access, so there's no direct dependency link in here. MFC after: 2 weeks |
#
dac618a6 |
|
28-Feb-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpc/powernv: Add asynchronous token management for powernv The OPAL firmware only supports a finite number of in-flight asynchronous operations. Rather than have each subsystem try to manage its own, use a central management service to hand out tokens. More work can be done to improve asynchronous behavior, such as funneling things through a future OPAL heartbeat handler, but capabilities will be added as needed. Augment the existing consumers (i2c and sensors) to use this new API. MFC after: 4 weeks |
#
61ebc359 |
|
21-Feb-2019 |
Bruce Evans <bde@FreeBSD.org> |
Move scterm_teken.c from 6 MD files lists to the MI files list so that it is easier to configure. It is MI, unlike some of the other syscons files already in the MI list. Move scvtb.c similarly. It is needed whenever sc is configured, and is more MI than most of the files already in the MI list. This only changes the combined list for arm64 and mips. These arches already cannot build sc or even NOTES. |
#
d49fc192 |
|
01-Feb-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpc/powernv: Add a driver for the POWER9 XIVE interrupt controller The XIVE (External Interrupt Virtualization Engine) is a new interrupt controller present in IBM's POWER9 processor. It's a very powerful, very complex device using queues and shared memory to improve interrupt dispatch performance in a virtualized environment. This yields a ~10% performance improvment over the XICS emulation mode, measured in both buildworld, and 'dd' from nvme to /dev/null. Currently, this only supports native access. MFC after: 1 month |
#
8763f217 |
|
14-Dec-2018 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpcspe: Don't require FPU_EMU for powerpcspe IEEE emulation Build only the necessary fpu_emu files for supporting the SPE IEEE-754 emulation exception handler. MFC after: 1 week |
#
a8e3f99e |
|
27-Sep-2018 |
Mateusz Guzik <mjg@FreeBSD.org> |
amd64: implement memcmp in assembly Both the in-kernel C variant and libc asm variant have very poor performance. The former compiles to a single byte comparison loop, which breaks down even for small sizes. The latter uses rep cmpsq/b which turn out to have very poor throughput and are slower than a hand-coded 32-byte comparison loop. Depending on size this is about 3-4 times faster than the current routines. Reviewed by: kib Approved by: re (gjb) Differential Revision: https://reviews.freebsd.org/D17328 |
#
b14959da |
|
16-Aug-2018 |
Justin Hibbits <jhibbits@FreeBSD.org> |
random: Add PowerPC 'darn' instruction entropy source Summary: PowerISA 3.0 adds a 'darn' instruction to "deliver a random number". This driver was modeled after (rather, copied and gutted of) the Ivy Bridge rdrand driver. This uses the "Conditional Random Number" behavior to remove input bias. From the ISA reference the 'darn' instruction, and the random number generator backing it, conforms to the NIST SP800-90B and SP800-90C standards, compliant to the extent possible at the time the hardware was designed, and guarantees a minimum 0.5 bits of entropy per bit returned. Reviewed By: markm, secteam (delphij) Approved by: secteam (delphij) Differential Revision: https://reviews.freebsd.org/D16552 |
#
0bf0bb83 |
|
25-Jul-2018 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Support building IPMI as a module on powerpc64 This still only supports IPMI via OPAL on powerpc64, but now it can be tested with a GENERIC kernel. |
#
3ddc2cde |
|
24-Jul-2018 |
Breno Leitao <leitao@FreeBSD.org> |
ofw: Load initrd file This is an OFW initrd module that would load the initrd from device tree parameters and give the to the md driver. With this patch, it is possible to pass a rootfs image through kexec in PowerNV mode (powerpc64). In order to user it, you should set the MD_ROOT_MEM option in your kernel configuration. Reviewed by: jhibbits Approved by: jhibbits (mentor) Differential Revision: https://reviews.freebsd.org/D15705 |
#
b99540b6 |
|
21-Jun-2018 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add the rest of the files for r335481 Missed hooking PMCR cpufreq(4) to the build, and adding the SPR to the header. |
#
ebf95d96 |
|
14-Jun-2018 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Split the PowerISA 3.0 HPT implementation from historic PowerISA 3.0 makes several changes to not only the format of the HPT but also the behavior surrounding it. For instance, TLBIE no longer requires serialization. Removing this lock cuts buildworld time in half on a 18-core/72-thread POWER9 system, demonstrating that this lock is highly contended on such a system. There was odd behavior observed trying to make this change in a backwards-compatible manner in moea64_native.c, so the best option was to fully split it, and largely revert the original changes adding POWER9 support to the original file. Suggested by: nwhitehorn |
#
1a3eaf6c |
|
21-May-2018 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add an IPMI attachment for PowerNV systems IPMI access on PowerNV systems is done through the OPAL firmware. This adds a simple attachment for communicating with the FSP/BMC on these machines. This has been tested on a Talos POWER9 workstation, only in the bootup phase, noting the successful attachment messages: ... ipmi0: IPMI device rev. 0, firmware rev. 2.00, version 2.0, device support mask 0 ipmi0: Number of channels 2 ... The ipmi device has not been added to GENERIC64, but may be after further testing. It may also eventually be added to the ipmi module at that point. |
#
9c6ba29d |
|
21-May-2018 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Basic OPAL sensor support for POWER9 platforms Summary: PowerNV architectures (in the test case POWER9) export sensors via the device tree, which are accessed via OPAL calls. This adds sysctl nodes for each device in a generic fashion. New sysctl nodes are: dev.opal_sensor.N.sensor dev.opal_sensor.N.sensor_min dev.opal_sensor.N.sensor_max dev.opal_sensor.N.type dev.opal_sensor.N.label These are rooted at a parent attachment under opal, called opalsens. This does not add support for the "sensor groups" defined in the device tree. Reviewed by: breno.leitao_gmail.com Differential Revision: https://reviews.freebsd.org/D15362 |
#
baaa3c4d |
|
09-May-2018 |
Warner Losh <imp@FreeBSD.org> |
Simplify things a little Rather than include a copy for memmove to call bcopy to call memcpy (which handles overlapping copies), make memmove a strong reference to memcpy to save the two calls. Differential Revision: https://reviews.freebsd.org/D15374 |
#
5aa07b05 |
|
09-May-2018 |
Warner Losh <imp@FreeBSD.org> |
Move MI-ish bcopy routine to libkern riscv and powerpc have nearly identical bcopy.c that's supposed to be mostly MI. Move it to the MI libkern. Differential Revision: https://reviews.freebsd.org/D15374 |
#
9c11d8d4 |
|
17-Apr-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Remove the unused fuwintr() and suiwintr() functions. Half of implementations always failed (returned (-1)) and they were previously used in only one place. Reviewed by: kib, andrew Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D15102 |
#
98b158d4 |
|
27-Mar-2018 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Fix another optional standard. Build openpic_ofw again. |
#
d9093074 |
|
15-Mar-2018 |
Wojciech Macek <wma@FreeBSD.org> |
Reverting r330925 for now |
#
7c95bf1e |
|
14-Mar-2018 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Fix fat-fingering ("optional standard") and move all the OF code to being marked "standard", which is less confusing than having it conditional on AIM CPUs here, and then picked up through options FDT from conf/files on Book-E. Request by: jhibbits |
#
94f513c8 |
|
14-Mar-2018 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
The expression (aim | fdt) is always true on PowerPC. The last PowerPC platform that can run without a device tree (PS3) still uses the OF_*() functions to check if one exists and OF_* is used unconditionally in core parts of the system like powerpc/machdep.c. Reflect this reality in files.powerpc, for example by changing occurrences of aim | fdt to standard. |
#
22eedd96 |
|
14-Mar-2018 |
Wojciech Macek <wma@FreeBSD.org> |
PowerNV: Fix I2C to compile if FDT is disabled Submitted by: Wojciech Macek <wma@semihalf.com> Obtained from: Semihalf Sponsored by: IBM, QCM Technologies |
#
4ffd72e3 |
|
01-Mar-2018 |
Wojciech Macek <wma@FreeBSD.org> |
PowerNV: Initial support for OPAL I2C transfers Add I2C OPAL driver and a set of dummy-ones to allow all I2C things on Power8 to attach. TODO: better async token management Submitted by: Wojciech Macek <wma@semihalf.com> Obtained from: Semihalf Sponsored by: IBM, QCM Technologies |
#
6d13fd63 |
|
21-Feb-2018 |
Wojciech Macek <wma@FreeBSD.org> |
PowerNV: Put processor to power-save state in idle thread When processor enters power-save state it releases resources shared with other cpu threads which makes other cores working much faster. This patch also implements saving and restoring registers that might get corrupted in power-save state. Submitted by: Patryk Duda <pdk@semihalf.com> Obtained from: Semihalf Reviewed by: jhibbits, nwhitehorn, wma Sponsored by: IBM, QCM Technologies Differential revision: https://reviews.freebsd.org/D14330 |
#
ed03d62a |
|
12-Jan-2018 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Remove fdt fixups for powerpc, they are no longer needed. If a fixup really is needed, it should be fixed in u-boot, not in FreeBSD. Suggested by: nwhitehorn |
#
e9f96ff4 |
|
12-Jan-2018 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Enable L2 cache on supported PowerQUICC and QorIQ platforms Some PowerQUICC and QorIQ platforms have a L2 cache managed via the memory-mapped configuration registers, and appear as a node in the device tree. This adds basic support to enable the cache. |
#
ac9b4325 |
|
12-Jan-2018 |
Wojciech Macek <wma@FreeBSD.org> |
PowerNV: initial support for PCIe host controller Provide initial support for PCIe host controller as well as for IOMMU mapping. This commit allows proper bus enumeration, but does not guarantee DMA operations are working. Created by: Nathan Whitehorn <nwhitehorn@freebsd.org> Submitted by: Wojciech Macek <wma@semihalf.com> Sponsored by: FreeBSD Foundation |
#
fb3855e0 |
|
11-Jan-2018 |
Wojciech Macek <wma@FreeBSD.org> |
PowerNV: initial support for OPAL OPAL is a dedicated firmware acting as a hypervisor. Add generic functions to provide all access. Created by: Nathan Whitehorn <nw@freebsd.org> Submitted by: Wojciech Macek <wma@freebsd.org> |
#
2ad33187 |
|
28-Dec-2017 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Remove ELF note for Open Firmware. It is marked optional in a single 1996 draft of a never-finalized standard (CHRP) and is irrelevant in practice on FreeBSD since we load the kernel with loader(8) on Open Firmware platforms anyway. Moreover, loader(8), which is directly loaded by Open Firmware, has never had an equivalent note. MFC after: 2 weeks |
#
809cd50f |
|
04-Nov-2017 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add Freescale QorIQ SATA controller support. The Freescale SATA controller has many similarities to AHCI controllers, so this driver is a heavily modified AHCI driver. Currently it seems to only do SATA 1.0 speeds (~100-150MB/s), so there is still room for improvement. Still to be done: * Address erratum SATA-A-006187 -- Spread Spectrum Support (intermittent non-recoverable transient data integrity error seen when SSC enabled). * Linux doesn't read the log page as it hangs on the P1022. See if that's applicable to this, and address accordingly. * Try to determine what's holding back performance, and address it. MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D6071 |
#
d99b73d8 |
|
20-Jul-2017 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Compile the atomic64 emulation for powerpcspe With this, ZFS builds for and runs (not quite stablely) on powerpcspe. |
#
452adeee |
|
20-Jul-2017 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add cpufreq support for P1022 and MPC8536 P1022 and MPC8536 include a 'jog' feature for clock control (jog being a slower form of run mode). This is done by changing the PLL multiplier, and cannot be done if any core is in doze or sleep mode. |
#
d139c624 |
|
01-Apr-2017 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add Freescale eSPI driver found on QorIQ SoCs |
#
d9720179 |
|
19-Feb-2017 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add a driver for the RouterBoard RB800 User LED This may work on other RouterBoard PPC platforms, but I don't have any to test with. |
#
fcf59617 |
|
06-Feb-2017 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Merge projects/ipsec into head/. Small summary ------------- o Almost all IPsec releated code was moved into sys/netipsec. o New kernel modules added: ipsec.ko and tcpmd5.ko. New kernel option IPSEC_SUPPORT added. It enables support for loading and unloading of ipsec.ko and tcpmd5.ko kernel modules. o IPSEC_NAT_T option was removed. Now NAT-T support is enabled by default. The UDP_ENCAP_ESPINUDP_NON_IKE encapsulation type support was removed. Added TCP/UDP checksum handling for inbound packets that were decapsulated by transport mode SAs. setkey(8) modified to show run-time NAT-T configuration of SA. o New network pseudo interface if_ipsec(4) added. For now it is build as part of ipsec.ko module (or with IPSEC kernel). It implements IPsec virtual tunnels to create route-based VPNs. o The network stack now invokes IPsec functions using special methods. The only one header file <netipsec/ipsec_support.h> should be included to declare all the needed things to work with IPsec. o All IPsec protocols handlers (ESP/AH/IPCOMP protosw) were removed. Now these protocols are handled directly via IPsec methods. o TCP_SIGNATURE support was reworked to be more close to RFC. o PF_KEY SADB was reworked: - now all security associations stored in the single SPI namespace, and all SAs MUST have unique SPI. - several hash tables added to speed up lookups in SADB. - SADB now uses rmlock to protect access, and concurrent threads can do SA lookups in the same time. - many PF_KEY message handlers were reworked to reflect changes in SADB. - SADB_UPDATE message was extended to support new PF_KEY headers: SADB_X_EXT_NEW_ADDRESS_SRC and SADB_X_EXT_NEW_ADDRESS_DST. They can be used by IKE daemon to change SA addresses. o ipsecrequest and secpolicy structures were cardinally changed to avoid locking protection for ipsecrequest. Now we support only limited number (4) of bundled SAs, but they are supported for both INET and INET6. o INPCB security policy cache was introduced. Each PCB now caches used security policies to avoid SP lookup for each packet. o For inbound security policies added the mode, when the kernel does check for full history of applied IPsec transforms. o References counting rules for security policies and security associations were changed. The proper SA locking added into xform code. o xform code was also changed. Now it is possible to unregister xforms. tdb_xxx structures were changed and renamed to reflect changes in SADB/SPDB, and changed rules for locking and refcounting. Reviewed by: gnn, wblock Obtained from: Yandex LLC Relnotes: yes Sponsored by: Yandex LLC Differential Revision: https://reviews.freebsd.org/D9352 |
#
eecaab52 |
|
01-Nov-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Merge i.MX and PowerPC SDHCI drivers Summary: i.MX5 and PowerPC use a very similar eSDHC controller, which is also similar to the uSDHC controller used by i.MX6. The imx_sdhci driver works almost completely with PowerPC, with some minor tweaks. There is one caveat with this: reset currently does not work on PowerPC, so has been #ifdef'd out until this can be tracked down and fixed. If resets are done the controller will timeout all data transactions. Without a reset, it appears to work just fine. This is part 3, following up r308186 and r308187. Test Plan: This has been tested on a PowerPC QorIQ P1022 board. It has not been tested on i.MX, but no regressions are expected. Reviewed By: imp Differential Revision: https://reviews.freebsd.org/D8407 |
#
dc9b124d |
|
21-Oct-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Create a new MACHINE_ARCH for Freescale PowerPC e500v2 Summary: The Freescale e500v2 PowerPC core does not use a standard FPU. Instead, it uses a Signal Processing Engine (SPE)--a DSP-style vector processor unit, which doubles as a FPU. The PowerPC SPE ABI is incompatible with the stock powerpc ABI, so a new MACHINE_ARCH was created to deal with this. Additionaly, the SPE opcodes overlap with Altivec, so these are mutually exclusive. Taking advantage of this fact, a new file, powerpc/booke/spe.c, was created with the same function set as in powerpc/powerpc/altivec.c, so it becomes effectively a drop-in replacement. setjmp/longjmp were modified to save the upper 32-bits of the now-64-bit GPRs (upper 32-bits are only accessible by the SPE). Note: This does _not_ support the SPE in the e500v1, as the e500v1 SPE does not support double-precision floating point. Also, without a new MACHINE_ARCH it would be impossible to provide binary packages which utilize the SPE. Additionally, no work has been done to support ports, work is needed for this. This also means no newer gcc can yet be used. However, gcc's powerpc support has been refactored which would make adding a powerpcspe-freebsd target very easy. Test Plan: This was lightly tested on a RouterBoard RB800 and an AmigaOne A1222 (P1022-based) board, compiled against the new ABI. Base system utilities (/bin/sh, /bin/ls, etc) still function appropriately, the system is able to boot multiuser. Reviewed By: bdrewery, imp Relnotes: yes Differential Revision: https://reviews.freebsd.org/D5683 |
#
1e6afa0e |
|
26-Sep-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add NXP/Freescale DIU driver for PowerPC SoCs Summary: This enables some features of the DIU, using a static configuration, specified either via a 'edid' property on the 'display' FDT node, or a 'video-mode' environment variable (bootarg). 'video-mode' was chosen because it matches u-boot's naming, so it can be set with: setenv bootargs video-mode=${video-mode} at the u-boot CLI. Mouse cursor is not supported currently, as a hardware cursor is not supported by framebuffer VT yet. Currently it only supports a 32bpp ARGB (actually BGRA) format, and only a single composite plane, at up to 1280x1024. Differential Revision: https://reviews.freebsd.org/D8022 |
#
6cedae09 |
|
02-Aug-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Merge MPC85XX and QorIQ config options Summary: MPC85XX and QorIQ are very similar. When the DPAA dTSEC driver was added, QORIQ_DPAA was brought in as a config option to support the differences in hardware register settings between QorIQ (e500mc-, e5500- based) SoCs and QUICC (e500v1/e500v2-based) SoCs, particularly in the Local Access Window (LAW) target settings. Unify these settings using macros to hide details and ease porting, and use a new function (mpc85xx_is_qoriq()) to distinguish between QorIQ and QUICC SoCs at runtime. An alternative to using the function could be to use a variable initialized at platform attach time, which may incur less overhead at runtime. Since it's not in the critical path once booted, this optimization doesn't seem necessary at first pass. Reviewed by: nwhitehorn MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D7294 |
#
8ba8cb91 |
|
23-May-2016 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Move the OFW iicbus code to dev/iicbus to stop polluting dev/ofw with unrelated code. Discussed with: nwhitehorn (a long time ago) |
#
d4faefae |
|
01-Apr-2016 |
Zbigniew Bodek <zbb@FreeBSD.org> |
Fix PowerPC LINT build after r297392 PowerPC has real Open Firmware and does not necessarily need FDT. Make ofwpci.c only PCI dependent. Pointed out by: emaste Reviewed by: nwhitehorn Obtained from: Semihalf |
#
c43a8674 |
|
29-Mar-2016 |
Zbigniew Bodek <zbb@FreeBSD.org> |
Reduce OFW PCI code duplication - involves ARM, PPC and SPARC64 Import portions of the PowerPC OF PCI implementation into new file "ofwpci.c", common for other platforms. The files ofw_pci.c and ofw_pci.h from sys/powerpc/ofw no longer exist. All required declarations are moved to sys/dev/ofw/ofwpci.h. This creates a new ofw_pci_write_ivar() function and modifies some others methods. Most functions contain existing ppc implementations in the majority unchanged. Now there is no need to have multiple identical copies of methods for various architectures. Requested by: jhibbits Reviewed by: jhibbits, marius Submitted by: Marcin Mazurek <mma@semihalf.com> Obtained from: Semihalf Sponsored by: Annapurna Labs Differential Revision: https://reviews.freebsd.org/D4879 |
#
bc7b9300 |
|
21-Dec-2015 |
Ian Lepore <ian@FreeBSD.org> |
Implement OF_decode_addr() for arm. Move most of powerpc's implementation into a new function that other platforms can share. This creates a new ofw_reg_to_paddr() function (in a new ofw_subr.c file) that contains most of the existing ppc implementation, mostly unchanged. The ppc code now calls the new MI code from the MD code, then creates a ppc-specific bus_space mapping from the results. The new arm implementation does the same in an arm-specific way. This also moves the declaration of OF_decode_addr() from ofw_machdep.h to openfirm.h, except on sparc64 which uses a different function signature. This will help all FDT platforms to set up early console access using OF_decode_addr(). |
#
68a71d75 |
|
29-Nov-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add Freescale QorIQ GPIO driver. Still missing interrupt support, to come later. Sponsored by: Alex Perez/Inertial Computing |
#
5d89896c |
|
17-Nov-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add support for new LAW registers in QorIQ SoCs. QorIQ SoCs (e5500 core, P5 family) have 2 BARs for local access windows, while MPC85XX, and P1/P2 families use only a single BAR register. This also adds the QORIQ_DPAA option, mutually exclusive to MPC85XX, to handle this difference. Obtained from: Semihalf Sponsored by: Alex Perez/Inertial Computing |
#
3d3e385e |
|
22-Oct-2015 |
Conrad Meyer <cem@FreeBSD.org> |
Add libkern ffsll() for parity with flsll() Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D3962 |
#
67da38c5 |
|
21-Sep-2015 |
Ed Maste <emaste@FreeBSD.org> |
Move kbd.c to main sys/conf/files list It is (optionally) used on all architectures. Sponsored by: The FreeBSD Foundation |
#
5d6961b0 |
|
26-Aug-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Fix freescale sdhc driver, and add it to the files list. Also, add it to the mmc DRIVER_MODULE attachment list. |
#
6aabc119 |
|
21-Aug-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Create a RouterBoard platform and use it to create a flash map Summary: The RouterBoard uses a predefined partition map which doesn't exist in the fdt. This change allows overriding the fdt slicer with a custom slicer, and uses this custom slicer to define the flash map on the RouterBoard RB800. D3305 converts the mpc85xx platform into a base class, so that systems based on the mpc85xx platform can add their own overrides. This change builds on D3305, and creates a RouterBoard (RB800) platform to initialize the slicer override. Reviewed By: nwhitehorn, imp Differential Revision: https://reviews.freebsd.org/D3345 |
#
3f3cffed |
|
05-Jul-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Merge booke and aim interrupt.c files. Summary: Both booke and AIM interrupt.c files contain nearly identical code. This merges the two files, to reduce duplication. Reviewers: #powerpc, marcel Reviewed By: marcel Subscribers: imp Differential Revision: https://reviews.freebsd.org/D2991 |
#
4f4d15f0 |
|
10-Jun-2015 |
Ruslan Bukin <br@FreeBSD.org> |
Allow DTrace to be compiled-in to the kernel. This will require for AArch64 as we dont have modules yet. Sponsored by: HEIF5 Sponsored by: ARM Ltd. Differential Revision: https://reviews.freebsd.org/D1997 |
#
809923ca |
|
11-May-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add a PCI bridge for the Freescale PCIe Root Complex Summary: The Freescale PCIe Root Complex shows up as a Processor class device, PowerPC subclass, so the generic PCI code ignores it for a bridge. This adds support for it. As part of this, update the Freescale PCI hostbridge driver, to allow probing beyond the root complex, instead of only allowing "proper" PCI-PCI bridges. Reviewers: #powerpc, marcel, nwhitehorn Reviewed By: nwhitehorn Subscribers: imp Differential Revision: https://reviews.freebsd.org/D2442 Relnotes: yes |
#
98be38e7 |
|
04-May-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Implement a driver for the PowerPC-base RouterBoard (RB333/600/800/1100) Summary: This has been tested on the RB800, but should work on the RB333, RB600, and RB1100 as well. It's currently missing ECC support, but read and write are complete. Reviewers: imp Reviewed By: imp Subscribers: imp Differential Revision: https://reviews.freebsd.org/D2223 |
#
f23bfc68 |
|
29-Apr-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Also happened to miss this in r282264. |
#
a7452468 |
|
18-Apr-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Implement hwpmc(4) for Freescale e500 core. This supports e500v1, e500v2, and e500mc. Tested only on e500v2, but the performance counters are identical across all, with e500mc having some additional events. Relnotes: Yes |
#
c4f9a741 |
|
04-Apr-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add file missed in r281096. |
#
a616b821 |
|
04-Apr-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Fix whitespace. |
#
ca54502a |
|
04-Apr-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add mpc85xx_gpio to the build conf. Missed this in the previous commit. |
#
ecaecbc7 |
|
27-Mar-2015 |
Ian Lepore <ian@FreeBSD.org> |
Make simplebus a base class of ofwbus. This allows the elimination of duplicated code in the two classes, and also allows devices in FDT-based systems to declare simplebus as their parent and still work correctly when the FDT data describes the device at the root of the tree rather than as a child of a simplebus (which is common for interrupt, clock, and power controllers). Differential Revision: https://reviews.freebsd.org/D1990 Submitted by: Michal Meloun |
#
29d0137a |
|
09-Feb-2015 |
Rui Paulo <rpaulo@FreeBSD.org> |
Remove FreeBSD/wii. This port failed to gain traction and probably only a couple Wii consoles ran FreeBSD all the way to single user mode with an md(4). IPC support was never implemented, so it was impossible to use any peripheral Any further development, if any, will happen at https://github.com/rpaulo/wii. Discussed with: nathanw (a long time ago), jhibbits |
#
64b83a05 |
|
14-Jan-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add Altivec/VMX register support to ptrace. MFC after: 2 weeks Relnotes: yes |
#
5cead939 |
|
14-Dec-2014 |
Rui Paulo <rpaulo@FreeBSD.org> |
Move ofw_cpu.c to sys/dev/ofw so that it can be used by other architectures. Differential Revision: https://reviews.freebsd.org/D1307 Reviewed by: jhibbits |
#
e9152038 |
|
15-Oct-2014 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Move the adm1030 driver to the proper location, and rename it. For compatibility, 'device windtunnel' is still supported, but one should use 'device adm1030' instead, and this has been updated in GENERIC and NOTES. |
#
c8d2ffd6 |
|
05-Aug-2014 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Merge all MD sf_buf allocators into one MI, residing in kern/subr_sfbuf.c The MD allocators were very common, however there were some minor differencies. These differencies were all consolidated in the MI allocator, under ifdefs. The defines from machine/vmparam.h turn on features required for a particular machine. For details look in the comment in sys/sf_buf.h. As result no MD code left in sys/*/*/vm_machdep.c. Some arches still have machine/sf_buf.h, which is usually quite small. Tested by: glebius (i386), tuexen (arm32), kevlo (arm32) Reviewed by: kib Sponsored by: Netflix Sponsored by: Nginx, Inc. |
#
49588d0f |
|
10-May-2014 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Move the PS3 framebuffer console to use vt instead of syscons and adjust GENERIC64 for PowerPC to use vt with it. Much to my chagrin, PS3 support seems to have bitrotted somewhat since the last time I tried it. ehci panics on attach and interrupt handling seems to be faulty. This should be fixed soon... |
#
f25e50cf |
|
14-Feb-2014 |
Andriy Gapon <avg@FreeBSD.org> |
provide fast versions of ffsl and flsl for i386; ffsll and flsll for amd64 Reviewed by: jhb MFC after: 10 days X-MFC note: consider thirdparty modules depending on these symbols Sponsored by: HybridCluster |
#
65d08437 |
|
05-Feb-2014 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Move Open Firmware device root on PowerPC, ARM, and MIPS systems to a sub-node of nexus (ofwbus) rather than direct attach under nexus. This fixes FDT on x86 and will make coexistence with ACPI on ARM systems easier. SPARC is unchanged. Reviewed by: imp, ian |
#
c017acc7 |
|
02-Feb-2014 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add driver for the ADT7460/ADT7467 fan controller found in later PowerBooks and iBooks. Original work by andreast. MFC after: 1 month |
#
169dd953 |
|
31-Jan-2014 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add hwpmc(4) support for the PowerPC 970 class processors, direct events. This also fixes asserts on removal of the module for the mpc74xx. The PowerPC 970 processors have two different types of events: direct events and indirect events. Thus far only direct events are supported. I included some documentation in the driver on how indirect events work, but support is for the future. MFC after: 1 month |
#
e1c161e7 |
|
30-Jan-2014 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Unbreak non-SMP builds. This was broken by r259284. Also, reorganize the code introduced in that revision a bit. Reviewed by: nwhitehorn MFC after: 3 weeks |
#
4702d987 |
|
12-Dec-2013 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add PMU-based CPU frequency scaling. This method is used on most Titanium PowerBooks. MFC after: 1 month |
#
27cf7d04 |
|
05-Dec-2013 |
Aleksandr Rybalko <ray@FreeBSD.org> |
Merge VT(9) project (a.k.a. newcons). Reviewed by: nwhitehorn MFC_to_10_after: re approval Sponsored by: The FreeBSD Foundation |
#
43fdca95 |
|
05-Dec-2013 |
John Baldwin <jhb@FreeBSD.org> |
Fix debug printfs in FPU_EMU to compile on powerpc64 and enable it for powerpc64. This fixes the LINT64 kernel config. Approved by: nwhitehorn (the idea, not the actual patch) |
#
49aba28a |
|
01-Dec-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Make uart_cpu_powerpc work on both FDT and OFW systems. This is the last remaining modification required to build kernels that work with both on PowerPC. |
#
debe4455 |
|
17-Nov-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Split the function of the PCB_FPU flags into two: PCB_FPU now indicates that the actual FPU is enabled, while PCB_FPREGS indicates that the FPU state structure in the PCB is valid. This separation reflects the situation on FPU-less systems in which the FP state is used by the emulator but we don't actually want to try to turn on the non-existant FPU. Use this flag to save and restore FP regs properly on both AIM and Book-E. As a side effect, this sets up hard-FP and Altivec on Book-E CPUs with such abilities except for a trap handler to call enable_fpu()/enable_altivec(). |
#
817ba5c0 |
|
12-Nov-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Following the approach with ACPI DMAR on x86, split IOMMU handling into a variant PCI bus instead of trying to shoehorn it into the PCI host bridge adapter. Besides matching better the architecture on other platforms, this also allows systems with multiple partitionable endpoints per PCI host bridge to work correctly. |
#
e39c26a9 |
|
11-Nov-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Use the same implementation of copyinout.c for both AIM and Book-E. This fixes some bugs in both implementations related to validity checks on mapping bounds. |
#
bdac4360 |
|
11-Nov-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Follow up r223485, which made AIM use the ABI thread pointer instead of PCPU fields for curthread, by doing the same to Book-E. This closes some potential races switching between CPUs. As a side effect, it turns out the AIM and Book-E swtch.S implementations were the same to within a few registers, so move that to powerpc/powerpc. MFC after: 3 months |
#
302acc2e |
|
11-Nov-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Rename the "bare" platform "mpc85xx", which is what it actually is, and add actual platform probing based on PVR. Still needs a little more work: in particular, the CCRS setup should move here. Also turn "bare" into a truly bare platform that doesn't pretend to know how to do anything except get the memory map. This should also be enhanced to process the FDT reserved memory list, but that is for another day. |
#
629aa519 |
|
11-Nov-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Make tsec work with the device tree present on the RB800. The previous code assumed that the MDIO bus was a direct child of the Ethernet interface. It may not be and indeed on many device trees is not. While here, add proper locking for MII transactions, which may be on a bus shared by several MACs. Hardware donated by: Benjamin Perrault |
#
178cdf9a |
|
25-Oct-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Convert e500 PCI driver to use common PPC PCI bus glue. No functional changes. |
#
a8126ae5 |
|
23-Oct-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Factor out MI portions of the PowerPC nexus device into /sys/dev/ofw. The sparc64 driver will be modified to use this shortly. |
#
17593f86 |
|
22-Oct-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Standards-conformance and code deduplication: - Use bus reference phandles in place of FDT offsets as IRQ domain keys - Unify the identical macio/fdt/mambo OpenPIC drivers into one - Be more forgiving (following ePAPR) about what we need from the device tree to identify an OpenPIC - Correctly map all IRQs into an interrupt domain - Set IRQ_*_CONFORM for interrupts on an unknown PIC type instead of failing attachment for that device. |
#
e4cf0633 |
|
20-Oct-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Since the PS3 port was committed, the AIM nexus device works perfectly fine on all PowerPC platforms, whether or not they have Open Firmware. Remove some more duplication and have there be only one nexus driver. |
#
228f09b3 |
|
20-Oct-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Replace the two almost-exactly-identical AIM and Book-E clock.c implementations with a single one after the application of a very small amount of #ifdef. |
#
1cfdc971 |
|
20-Oct-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Unify the AIM and Book-E vm_machdep.c implementations, which previously differed only with respect to the AIM version not following style(9) and some additional features for 64-bit systems and machines with direct maps in the AIM implementation that are no-ops on Book-E (at least for now). |
#
757e5b29 |
|
19-Oct-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add initial driver for POWER hypervisor interpartition ethernet. This is sufficient to pass traffic but needs some more work before merging to STABLE. |
#
4f835517 |
|
02-Oct-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Only build the POWER hypervisor UART driver if device uart is included in the kernel config. Approved by: re (gjb) |
#
391dff86 |
|
28-Sep-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add driver for the PAPR VSCSI virtual SCSI controller. This lets FreeBSD install directly into standard POWER LPARs, as found for example in QEMU. The core of this device is the SCSI RDMA protocol as also found in Infiniband. The SRP portions of the driver will be factored out and placed /sys/cam in the future to allow them to be used for IB storage. Thanks to Scott Long for a great deal of implementation help. Reviewed by: scottl Approved by: re (kib) |
#
7a8d25c0 |
|
17-Sep-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Merge in support for PAPR-compliant (Power Architecture Platform Requirements) systems from the projects/pseries branch. This in principle includes all IBM POWER hardware released in the last 15 years with the exception of POWER3-based systems when run in 64-bit mode. The main development target, however, has been the PAPR logical partition support that is the default target in KVM on POWER and QEMU -- mileage may vary on actual hardware at present. Much of the heavy lifting here was done by Andreas Tobler. Approved by: re (kib) |
#
98fa0351 |
|
05-Sep-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Fix build. |
#
237abf0c |
|
28-Jun-2013 |
Davide Italiano <davide@FreeBSD.org> |
- Trim an unused and bogus Makefile for mount_smbfs. - Reconnect with some minor modifications, in particular now selsocket() internals are adapted to use sbintime units after recent'ish calloutng switch. |
#
cb34ed44 |
|
20-May-2013 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add basic support for FDT to i386 & amd64. This change includes: 1. Common headers for fdt.h and ofw_machdep.h under x86/include with indirections under i386/include and amd64/include. 2. New modinfo for loader provided FDT blob. 3. Common x86_init_fdt() called from hammer_time() on amd64 and init386() on i386. 4. Split-off FDT specific low-level console functions from FDT bus methods for the uart(4) driver. The low-level console logic has been moved to uart_cpu_fdt.c and is used for arm, mips & powerpc only. The FDT bus methods are shared across all architectures. 5. Add dev/fdt/fdt_x86.c to hold the fdt_fixup_table[] and the fdt_pic_table[] arrays. Both are empty right now. FDT addresses are I/O ports on x86. Since the core FDT code does not handle different address spaces, adding support for both I/O ports and memory addresses requires some thought and discussion. It may be better to use a compile-time option that controls this. Obtained from: Juniper Networks, Inc. |
#
b3caab66 |
|
30-Apr-2013 |
Brooks Davis <brooks@FreeBSD.org> |
MFP4 changes 222065 and 222068: Add a simplebus attachment for cfi(4)'s FDT support and move cfi_bus_fdt.c to sys/conf/files so non-ppc architectures are supported. Sponsored by: DARPA, AFRL |
#
61e642bc |
|
23-Apr-2013 |
Rui Paulo <rpaulo@FreeBSD.org> |
wiigpio depends on options WII. |
#
d3576a3f |
|
03-Nov-2012 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add the bus attachment for the embedded EHCI HC. |
#
e3cdd5e1 |
|
24-Oct-2012 |
Warner Losh <imp@FreeBSD.org> |
Hoist the MI compat_freebsd32 files up into files from files.*. |
#
5d26cae7 |
|
24-Oct-2012 |
Warner Losh <imp@FreeBSD.org> |
Move common fdt into files. Duplicate in files.powerpc the files shared with aim. Config is smart enough to cope with multiple lines of the same path with different options. This reduces the needless duplication. |
#
915f83e6 |
|
21-Oct-2012 |
Rui Paulo <rpaulo@FreeBSD.org> |
Make the Wii GPIO driver a separate device. |
#
2e564269 |
|
17-Oct-2012 |
Attilio Rao <attilio@FreeBSD.org> |
Disconnect non-MPSAFE SMBFS from the build in preparation for dropping GIANT from VFS. In addition, disconnect also netsmb, which is a base requirement for SMBFS. In the while SMBFS regular users can use FUSE interface and smbnetfs port to work with their SMBFS partitions. Also, there are ongoing efforts by vendor to support in-kernel smbfs, so there are good chances that it will get relinked once properly locked. This is not targeted for MFC. |
#
31ec0f7a |
|
21-Aug-2012 |
Adrian Chadd <adrian@FreeBSD.org> |
Initial support for running FreeBSD on the Nintendo Wii. We're able to reach single user mode using a memory disk device as the file system. This port includes the framebuffer driver, the PIC driver, a platform driver and the GPIO driver. The IPC driver (to talk to IOS kernels) is not yet written but there's a placeholder for it. There are still some MMU problems and to get a working system you need to patch locore32.S. Since we haven't found the best way yet to address that problem, we're not committing those changes yet. The problem is related to the different BAT layout on the Wii and to the fact that the Homebrew loader doesn't clean up the special registers (including the 8 BATs) before passing control to us. You'll need a Wii with Homebrew loader and a TV that can do NTSC (for now). Submitted by: Margarida Gouveia |
#
9c3fbfbd |
|
19-Aug-2012 |
Andreas Tobler <andreast@FreeBSD.org> |
Add a new sound driver for PowerMacs, found here on my Quad G5. It allows simple playback and volume control like the other Mac drivers, not more. |
#
a894f6a0 |
|
19-Aug-2012 |
Andreas Tobler <andreast@FreeBSD.org> |
Add a new temperature driver for certain PowerMacs. Found here on my Quad G5. |
#
d0ec68d4 |
|
03-Aug-2012 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add backlight support for nVidia-based PowerBooks/iBooks/iMacs. Approved by: nwhitehorn (mentor) MFC after: 9.1-RELEASE |
#
7c45c9e4 |
|
02-Jul-2012 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add a driver for the Freescale FCM module in the localbus controller. This driver does not yet handle multiple chip selects properly. Note that the NAND infrastructure does not perform full page reads or writes, which means that this driver cannot make use of the hardware ECC that is otherwise present. |
#
aea81038 |
|
22-Jun-2012 |
Konstantin Belousov <kib@FreeBSD.org> |
Implement mechanism to export some kernel timekeeping data to usermode, using shared page. The structures and functions have vdso prefix, to indicate the intended location of the code in some future. The versioned per-algorithm data is exported in the format of struct vdso_timehands, which mostly repeats the content of in-kernel struct timehands. Usermode reading of the structure can be lockless. Compatibility export for 32bit processes on 64bit host is also provided. Kernel also provides usermode with indication about currently used timecounter, so that libc can fall back to syscall if configured timecounter is unknown to usermode code. The shared data updates are initiated both from the tc_windup(), where a fast task is queued to do the update, and from sysctl handlers which change timecounter. A manual override switch kern.timecounter.fast_gettime allows to turn off the mechanism. Only x86 architectures export the real algorithm data, and there, only for tsc timecounter. HPET counters page could be exported as well, but I prefer to not further glue the kernel and libc ABI there until proper vdso-based solution is developed. Minimal stubs neccessary for non-x86 architectures to still compile are provided. Discussed with: bde Reviewed by: jhb Tested by: flo MFC after: 1 month |
#
aa6bc7dc |
|
30-May-2012 |
Rafal Jaworowski <raj@FreeBSD.org> |
Extract vendor specific Book-E pieces into separate files and have a common skeleton (maybe we should kobj-tize this one day). Note the PPC4xx bit is not connected to the build yet. Obtained from: AppliedMicro, Semihalf. |
#
17f4cae4 |
|
27-May-2012 |
Rafal Jaworowski <raj@FreeBSD.org> |
Let us manage differences of Book-E PowerPC variations i.e. vendor / implementation specific vs. the common architecture definition. Bring PPC4XX defines (PSL, SPR, TLB). Note the new definitions under BOOKE_PPC4XX are not used in the code yet. This change set is not supposed to affect existing E500 support, it's just another reorg step before bringing support for E500mc, E5500 and PPC465. Obtained from: AppliedMicro, Freescale, Semihalf |
#
0a67fa33 |
|
26-May-2012 |
Rafal Jaworowski <raj@FreeBSD.org> |
Move OpenPIC FDT bus glue to a shared location, so that other PowerPC platforms can use it, not only MPC85XX. This is just reorg, no functional changes. |
#
a1f8f448 |
|
22-Apr-2012 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Remove dead code. The routines in atomic.S did not work properly anyway, and were everywhere unused. If we turn out to need them, they should be reimplemented. MFC after: 2 weeks |
#
88c7c434 |
|
27-Mar-2012 |
Peter Wemm <peter@FreeBSD.org> |
Allow (with a license warning) "options ZFS" to work in static kernels. The 'make depend' rules have to use custom -I paths for the special compat includes for the opensolaris/zfs headers. This option will pull in the couple of files that are shared with dtrace, but they appear to correctly use the MODULE_VERSION/MODULE_DEPEND rules so loader should do the right thing, as should kldload. Reviewed by: pjd (glanced at) |
#
3cc28bd9 |
|
26-Feb-2012 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add backlight control to ATI-graphics PowerBooks and iBooks. Approved by: nwhitehorn (mentor) MFC after: 1 week |
#
b490f4d7 |
|
04-Feb-2012 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Missed file in r230993. |
#
b6faf3cf |
|
16-Oct-2011 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add support for special keys (volume/brightness/eject) on Apple laptops with ADB keyboards. Submitted by: Justin Hibbits <jrh29 at alumni dot cwru dot edu> MFC after: 9.0-RELEASE |
#
9f2c359f |
|
13-Aug-2011 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add support for the Blu-Ray drive found in the Sony Playstation 3 and fix some realted minor bugs in PS3 internal storage support. Submitted by: glevand <geoffrey.levand@mail.ru> Approved by: re (bz) |
#
9ba8a927 |
|
19-Jun-2011 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add an OHCI driver to complement the EHCI one. The infrastructure to attach both to the parent ps3bus was in r223313. This driver itself comes from the ps3 project branch. |
#
0d317057 |
|
19-Jun-2011 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Driver for PS3's internal hard disk. Hopefully this can be CAM-ified in the future, but presents a set of simple block devices for now. With (forthcoming) boot loader support or vfs.root.mountfrom, allows booting PS3s from disk. Submitted by: glevand <geoffrey.levand@mail.ru> |
#
03c6aeca |
|
04-Jun-2011 |
Andreas Tobler <andreast@FreeBSD.org> |
Add new fan controller driver for the G4 MDD PowerMac. Submitted and tested by Justin Hibbits. Approved by: nwhitehorn (mentor) |
#
0d7136ba |
|
02-Jun-2011 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Missed file in r222613. |
#
d188174a |
|
29-May-2011 |
Andreas Tobler <andreast@FreeBSD.org> |
Add a new driver, the ad7417, to read temperatures and voltages on some PowerMac's. Approved by: nwhitehorn (mentor) |
#
84d77676 |
|
28-May-2011 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Factor out the SMU fan management code into a new module (powermac_thermal) that will connect all of the various sensors and fan control modules on Apple hardware with software-controlled fans (e.g. all G5 systems). MFC after: 1 month |
#
70df4233 |
|
19-Apr-2011 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Compile in in_cksum* implementations for both IPv6 and IPv6. While in_pseudo() etc. is often used in offloading feature support, in_cksum() is mostly used to fix some broken hardware. Keeping both around for the moment allows us to compile NIC drivers even in an IPv6 only environment without the need to mangle them with #ifdef INETs in a way they are not prepared for. This will leave some dead code paths that will not be exercised for IPv6. Reviewed by: gnn Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC after: 3 days |
#
2fea6431 |
|
17-Jan-2011 |
Jung-uk Kim <jkim@FreeBSD.org> |
Add reader/writer lock around mem_range_attr_get() and mem_range_attr_set(). Compile sys/dev/mem/memutil.c for all supported platforms and remove now unnecessary dev_mem_md_init(). Consistently define mem_range_softc from mem.c for all platforms. Add missing #include guards for machine/memdev.h and sys/memrange.h. Clean up some nearby style(9) nits. MFC after: 1 month |
#
03479763 |
|
05-Jan-2011 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Import support for the Sony Playstation 3 using the OtherOS feature available on firmwares 3.15 and earlier. Caveats: Support for the internal SATA controller is currently missing, as is support for framebuffer resolutions other than 720x480. These deficiencies will be remedied soon. Special thanks to Peter Grehan for providing the hardware that made this port possible, and thanks to Geoff Levand of Sony Computer Entertainment for advice on the LV1 hypervisor. |
#
bef5da7f |
|
03-Dec-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add an abstraction layer to the 64-bit AIM MMU's page table manipulation logic to support modifying the page table through a hypervisor. This uses KOBJ inheritance to provide subclasses of the base 64-bit AIM MMU class with additional methods for page table manipulation. Many thanks to Peter Grehan for suggesting this design and implementing the MMU KOBJ inheritance mechanism. |
#
e2326639 |
|
03-Dec-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Provide a simple IOMMU framework on PowerPC, which is required to support PPC hypervisors. |
#
fe3b4685 |
|
11-Nov-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Remove use of a separate ofw_pmap on 32-bit CPUs. Many Open Firmware mappings need to end up in the kernel anyway since the kernel begins executing in OF context. Separating them adds needless complexity, especially since the powerpc64 and mmu_oea64 code gave up on it a long time ago. As a side effect, the PPC ofw_machdep code is no longer AIM-specific, so move it to powerpc/ofw. |
#
50fd2a5b |
|
31-Oct-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add a driver for the Apple Uninorth AGP host bridge found in all PowerPC Macintoshes with an AGP bus. |
#
da89fa28 |
|
15-Oct-2010 |
Andreas Tobler <andreast@FreeBSD.org> |
Add three new drivers for fan control and temperature reading on the PowerMac7,2. - The fcu driver lets us read and write the fan RPMs for all fans in the PowerMac7,2. This driver is PowerMac specific. - The ds1775 is a driver to read the temperature for the drive bay sensor. - The max6690 is another driver to read temperatures. Here it is used to read the inlet, the backside and the U3 heatsink temperature. An additional driver, the ad7417, will follow later. Thanks to nwhitehorn for guiding me through this driver development. Approved by: nwhitehorn (mentor) |
#
eecadc70 |
|
03-Oct-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add a memory-range interface to /dev/mem on PowerPC using PAT attributes. Unlike actual MTRR, this only controls the mapping attributes for subsequent mmap() of /dev/mem. Nonetheless, the support is sufficiently MTRR-like that Xorg can use it, which translates into an enormous increase in graphics performance on PowerPC. MFC after: 2 weeks |
#
707c2fb9 |
|
10-Sep-2010 |
Alexander Motin <mav@FreeBSD.org> |
Update PowerPC event timer code to use new event timers infrastructure. Reviewed by: nwitehorn Tested by: andreast H/W donated by: Gheorghe Ardelean |
#
b2a237be |
|
31-Aug-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Restructure how reset and poweroff are handled on PowerPC systems, since the existing code was very platform specific, and broken for SMP systems trying to reboot from KDB. - Add a new PLATFORM_RESET() method to the platform KOBJ interface, and migrate existing reset functions into platform modules. - Modify the OF_reboot() routine to submit the request by hand to avoid the IPIs involved in the regular openfirmware() routine. This fixes reboot from KDB on SMP machines. - Move non-KDB reset and poweroff functions on the Powermac platform into the relevant power control drivers (cuda, pmu, smu), instead of using them through the Open Firmware backdoor. - Rename platform_chrp to platform_powermac since it has become increasingly Powermac specific. When we gain support for IBM systems, we will grow a new platform_chrp. |
#
895051e3 |
|
19-Aug-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
FPU EMU is 32-bit only for now, so mark it as a powerpc-only feature. This fixes powerpc64 LINT. |
#
2c16c8d7 |
|
31-Jul-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add support for the IBM Full-System Simulator (Mambo). This code has been developed against the 970 and Cell simulators. |
#
c3e289e1 |
|
12-Jul-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
MFppc64: Kernel sources for 64-bit PowerPC, along with build-system changes to keep 32-bit kernels compiling (build system changes for 64-bit kernels are coming later). Existing 32-bit PowerPC kernel configurations must be updated after this change to specify their architecture. |
#
cc81c44d |
|
12-Jul-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Unify ABI-related bits of the Book-E and AIM machdep routines (exec_setregs, etc.) in order to simplify the addition of 64-bit support, and possible future extension of the Book-E code to handle hard floating point and Altivec. MFC after: 1 month |
#
d1d3233e |
|
11-Jul-2010 |
Rafal Jaworowski <raj@FreeBSD.org> |
Convert Freescale PowerPC platforms to FDT convention. 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 |
#
9efb0787 |
|
05-Jun-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add a driver for the CPU temperature sensors attached over I2C on the PowerMac 11,2. |
#
ca2c1931 |
|
16-May-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add support for the U4 PCI-Express bridge chipset used in late-generation Powermac G5 systems. MSI and several other things are not presently supported. The U3/U4 internal device support portions of this change were contributed by Andreas Tobler. MFC after: 1 week |
#
9b934d09 |
|
03-Sep-2009 |
Ed Schouten <ed@FreeBSD.org> |
Move libteken out of the syscons directory. I initially committed libteken to sys/dev/syscons/teken, but now that I'm working on a console driver myself, I noticed this was not a good decision. Move it to sys/teken to make it easier for other drivers to use a terminal emulator. Also list teken.c in sys/conf/files, instead of listing it in all the files.arch files separately. |
#
1016f143 |
|
22-Jun-2009 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add cpufreq support on the PowerPC G5, along with a skeleton SMU driver in order to slew CPU voltage during frequency changes. The OpenBSD SMU driver was an extremely helpful reference for this. |
#
f2396192 |
|
22-Jun-2009 |
Rafal Jaworowski <raj@FreeBSD.org> |
Keep file list sorted. |
#
f07ef6e4 |
|
22-Jun-2009 |
Rafal Jaworowski <raj@FreeBSD.org> |
DS1553 RTC module driver. On the MPC8555CDS system it hangs off of the LBC bus. Obtained from: Semihalf |
#
757cb6db |
|
22-Jun-2009 |
Rafal Jaworowski <raj@FreeBSD.org> |
Integrated I2C controller driver (found in MPC85xx and other SOC parts). Obtained from: Freescale, Semihalf |
#
02b553ca |
|
06-Jun-2009 |
Rafal Jaworowski <raj@FreeBSD.org> |
Initial version of the sec(4) driver for the integrated security engine found in Freescale system-on-chip devices. The following algorithms and schemes are currently supported: - 3DES, AES, DES - MD5, SHA1, SHA256, SHA384, SHA512 Reviewed by: philip Obtained from: Freescale, Semihalf |
#
9eb9db93 |
|
31-May-2009 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Introduce support for cpufreq on PowerPC with the dynamic frequency switching capabilities of the MPC7447A and MPC7448. |
#
28bb01e5 |
|
21-May-2009 |
Rafal Jaworowski <raj@FreeBSD.org> |
Initial support for SMP on PowerPC MPC85xx. Tested with Freescale dual-core MPC8572DS development system. Obtained from: Freescale, Semihalf |
#
b40ce02a |
|
13-May-2009 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Factor out platform dependent things unrelated to device drivers into a new platform module. These are probed in early boot, and have the responsibility of determining the layout of physical memory, determining the CPU timebase frequency, and handling the zoo of SMP mechanisms found on PowerPC. Reviewed by: marcel, raj Book-E parts by: raj |
#
ac741ae5 |
|
23-Apr-2009 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add suppport for ISA and ISA interrupts to make the ATA controller in the VIA southbridge functional in the CDS (Configurable Development System) for MPC85XX. The embedded USB controllers look operational but the interrupt steering is still wrong. |
#
8446b206 |
|
05-Apr-2009 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add an Open Firmware access module for real-mode OF accesses to the PowerPC build. This is required for the IBM Mambo simulator, as well as a variety of non-Apple PowerPC hardware. |
#
7bf5cfed |
|
04-Apr-2009 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Modularize the Macintosh built-in ATA along the lines of the rest of the ATA system as an optional atamacio device. PR: powerpc/133161 Submitted by: Bruce Cran |
#
27457a80 |
|
03-Apr-2009 |
Marcel Moolenaar <marcel@FreeBSD.org> |
PowerPC, meet kernel core dumps. The support is based on a generic dumper that creates an ELF core file and uses PMAP functions to scan and iterate over memory chunks, as well as handle memory mappings used during dumping. the PMAP layer can choose to return physical memory chunks or virtual memory chunks. For minidumps, the chunks should be virtual. The default MMU I/F implementation for the scan_md() method returns NULL. Thus, when a PMAP implementation does not implement the required methods, an empty core file is created. Here, empty means having an ELF header only. Obtained from: Juniper Networks |
#
1c96bdd1 |
|
03-Apr-2009 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add support for 64-bit PowerPC CPUs operating in the 64-bit bridge mode provided, for example, on the PowerPC 970 (G5), as well as on related CPUs like the POWER3 and POWER4. This also adds support for various built-in hardware found on Apple G5 hardware (e.g. the IBM CPC925 northbridge). Reviewed by: grehan |
#
802cb57e |
|
28-Feb-2009 |
Ed Schouten <ed@FreeBSD.org> |
Add memmove() to the kernel, making the kernel compile with Clang. When copying big structures, LLVM generates calls to memmove(), because it may not be able to figure out whether structures overlap. This caused linker errors to occur. memmove() is now implemented using bcopy(). Ideally it would be the other way around, but that can be solved in the future. On ARM we don't do add anything, because it already has memmove(). Discussed on: arch@ Reviewed by: rdivacky |
#
cd7a30c4 |
|
20-Feb-2009 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Include altivec.c, missed on previous commit r188860. This should unbreak the build. |
#
8486eb86 |
|
25-Jan-2009 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add support for the I2S and davbus audio controllers found in Apple PowerPC hardware. Submitted by: Marco Trillo |
#
a9cade51 |
|
14-Jan-2009 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Driver for Apple Keywest I2C controllers found in MacIO ASICs. Used for power and thermal control, as well as GPIOs on Xserves and controlling sound codecs for Apple built-in audio. Submitted by: Marco Trillo Obtained from: NetBSD |
#
3bb481ff |
|
14-Jan-2009 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Import an Open Firmware I2C bus module. This attaches firmware device tree indicated I2C devices, and provides an ofw_bus interface for driver probing. This should be MI, but is currently provided only on PowerPC due to lack of sparc64 hardware with an I2C controller. Discussed on: freebsd-arch |
#
b2b734e7 |
|
13-Jan-2009 |
Rafal Jaworowski <raj@FreeBSD.org> |
Rework BookE pmap towards multi-core support. o Eliminate tlb0[] (a s/w copy of TLB0) - The table contents cannot be maintained reliably in multiple MMU environments, where asynchronous events (invalidations from other cores) can change our local TLB0 contents underneath. - Simplify and optimize TLB flushing: system wide invalidations are performed using tlbivax instruction (propagates to other cores), for local MMU invalidations a new optimized routine (assembly) is introduced. o Improve and simplify TID allocation and management. - Let each core keep track of its TID allocations. - Simplify TID recycling, eliminate dead code. - Drop the now unused powerpc/booke/support.S file. o Improve page tables management logic. o Simplify TLB1 manipulation routines. o Other improvements and polishing. Obtained from: Freescale, Semihalf |
#
b4b1c516 |
|
01-Jan-2009 |
Ed Schouten <ed@FreeBSD.org> |
Replace syscons terminal renderer by a new renderer that uses libteken. Some time ago I started working on a library called libteken, which is terminal emulator. It does not buffer any screen contents, but only keeps terminal state, such as cursor position, attributes, etc. It should implement all escape sequences that are implemented by the cons25 terminal emulator, but also a fair amount of sequences that are present in VT100 and xterm. A lot of random notes, which could be of interest to users/developers: - Even though I'm leaving the terminal type set to `cons25', users can do experiments with placing `xterm-color' in /etc/ttys. Because we only implement a subset of features of xterm, this may cause artifacts. We should consider extending libteken, because in my opinion xterm is the way to go. Some missing features: - Keypad application mode (DECKPAM) - Character sets (SCS) - libteken is filled with a fair amount of assertions, but unfortunately we cannot go into the debugger anymore if we fail them. I've done development of this library almost entirely in userspace. In sys/dev/syscons/teken there are two applications that can be helpful when debugging the code: - teken_demo: a terminal emulator that can be started from a regular xterm that emulates a terminal using libteken. This application can be very useful to debug any rendering issues. - teken_stress: a stress testing application that emulates random terminal output. libteken has literally survived multiple terabytes of random input. - libteken also includes support for UTF-8, but unfortunately our input layer and font renderer don't support this. If users want to experiment with UTF-8 support, they can enable `TEKEN_UTF8' in teken.h. If you recompile your kernel or the teken_demo application, you can hold some nice experiments. - I've left PC98 the way it is right now. The PC98 platform has a custom syscons renderer, which supports some form of localised input. Maybe we should port PC98 to libteken by the time syscons supports UTF-8? - I've removed the `dumb' terminal emulator. It has been broken for years. It hasn't survived the `struct proc' -> `struct thread' conversion. - To prevent confusion among people that want to hack on libteken: unlike syscons, the state machines that parse the escape sequences are machine generated. This means that if you want to add new escape sequences, you have to add an entry to the `sequences' file. This will cause new entries to be added to `teken_state.h'. - Any rendering artifacts that didn't occur prior to this commit are by accident. They should be reported to me, so I can fix them. Discussed on: current@, hackers@ Discussed with: philip (at 25C3) |
#
91416fb2 |
|
19-Dec-2008 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Modularize the Open Firmware client interface to allow run-time switching of OFW access semantics, in order to allow future support for real-mode OF access and flattened device frees. OF client interface modules are implemented using KOBJ, in a similar way to the PPC PMAP modules. Because we need Open Firmware to be available before mutexes can be used on sparc64, changes are also included to allow KOBJ to be used very early in the boot process by only using the mutex once we know it has been initialized. Reviewed by: marius, grehan |
#
33644623 |
|
01-Dec-2008 |
Sam Leffler <sam@FreeBSD.org> |
Switch to ath hal source code. Note this removes the ath_hal module; the ath module now brings in the hal support. Kernel config files are almost backwards compatible; supplying device ath_hal gives you the same chip support that the binary hal did but you must also include options AH_SUPPORT_AR5416 to enable the extended format descriptors used by 11n parts. It is now possible to control the chip support included in a build by specifying exactly which chips are to be supported in the config file; consult ath_hal(4) for information. |
#
b4dbc599 |
|
26-Oct-2008 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add ADB support. This provides support for the external ADB bus on the PowerMac G3 as well as the internal ADB keyboard and mice in PowerBooks and iBooks. This also brings in Mac GPIO support, for which we should eventually have a better interface. Obtained from: NetBSD (CUDA and PMU drivers) |
#
e00251b7 |
|
25-Oct-2008 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add a driver for flash memory that implements to the Common Flash Memory Interface (CFI). The flash memory can be read and written to through /dev/cfi# and an ioctl() exists so processes can read the query information. The driver supports the AMD and Intel command set, though only the AMD command has been tested. Obtained from: Juniper Networks, Inc. |
#
08077f58 |
|
25-Oct-2008 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add a driver for the Local Bus Controller. Obtained from: Juniper Networks, Inc. |
#
51d163d3 |
|
14-Oct-2008 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Convert PowerPC AIM PCI and nexus busses to standard OFW bus interface. This simplifies certain device attachments (Kauai ATA, for instance), and makes possible others on new hardware. On G5 systems, there are several otherwise standard PCI devices (Serverworks SATA) that will not allow their interrupt properties to be written, so this information must be supplied directly from Open Firmware. Obtained from: sparc64 |
#
b7382e09 |
|
27-Sep-2008 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add DMA support for Apple built-in ATA controllers. Tested by: grehan, marcotrillo@gmail.com MFC after: 1 month |
#
321e12c8 |
|
26-Aug-2008 |
Rafal Jaworowski <raj@FreeBSD.org> |
tsec: Refactor driver's structure. Split the driver into the core functionality part (sys/dev/tsec/if_tsec.c) and the bus attachment (sys/dev/tsec/if_tsec_ocp.c). This lets better integrate and maintain the driver in other environments with different attachment abstractions (there is at least one other FreeBSD port -- MPC83xx -- which uses this TSEC driver, but with different local bus model i.e. some OF derivative). While there, clean up and fix minor cosmetics. Obtained from: Semihalf |
#
cf99524a |
|
07-Jun-2008 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add support for the Apple Big Mac (BMAC) Ethernet controller, found on various Apple G3 models. Submitted by: Nathan Whitehorn |
#
7d8ccad7 |
|
07-Jun-2008 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add support for Apple's Descriptor-Based DMA (DBDMA) engine. The DMA engine is usful to various existing drivers, such as ata(4) and scc(4), and is used bhy the soon to be added bm(4). Submitted by: Nathan Whitehorn |
#
1c17588f |
|
29-Apr-2008 |
Marcel Moolenaar <marcel@FreeBSD.org> |
mp_machdep.c is only conditional upon smp, not aim. If booke grows support for smp, mp_machdep.c needs to be included as well. |
#
12640815 |
|
27-Apr-2008 |
Marcel Moolenaar <marcel@FreeBSD.org> |
MFp4: SMP support |
#
a1cd472a |
|
26-Apr-2008 |
Rafal Jaworowski <raj@FreeBSD.org> |
Introduce a dedicated file for MPC85xx-specific routines. Move cpu_reset() there, as it's not relevant to Book-E specification, but is an implementation detail, directly dependent on the given SoC version. |
#
321578e3 |
|
03-Mar-2008 |
Rafal Jaworowski <raj@FreeBSD.org> |
Connect MPC85XX to the PowerPC build. The kernel config file is KERNCONF=MPC85XX, so the usual procedure applies: 1. make buildworld TARGET_ARCH=powerpc 2. make buildkernel TARGET_ARCH=powerpc TARGET_CPUTYPE=e500 KERNCONF=MPC85XX This default config uses kernel-level FPU emulation. For the soft-float world approach: 1. make buildworld TARGET_ARCH=powerpc TARGET_CPUTYPE=e500 2. disable FPU_EMU option in sys/powerpc/conf/MPC85XX 3. make buildkernel TARGET_ARCH=powerpc TARGET_CPUTYPE=e500 KERNCONF=MPC85XX Approved by: cognet (mentor) MFp4: e500 |
#
4bbf0886 |
|
23-Feb-2008 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Hook-up the FPU emulator. It's optional upon FPU_EMU. |
#
104954fe |
|
30-Jan-2008 |
Peter Grehan <grehan@FreeBSD.org> |
Enable ofwdump on powerpc (finally). Tested on G3 & G4 machines. Submitted by: Dan Stekloff <dsteklof at c i s c o dot com> Discussed with: marcel |
#
de2fa7b8 |
|
19-Dec-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Redefine bus_space_tag_t on PowerPC from a 32-bit integral to a pointer to struct bus_space. The structure contains function pointers that do the actual bus space access. The reason for this change is that previously all bus space accesses were little endian (i.e. had an explicit byte-swap for multi-byte accesses), because all busses on Macs are little endian. The upcoming support for Book E, and in particular the E500 core, requires support for big-endian busses because all embedded peripherals are in the native byte-order. With this change, there's no distinction between I/O port space and memory mapped I/O. PowerPC doesn't have I/O port space. Busses assign tags based on the byte-order only. For that purpose, two global structures exist (bs_be_tag and bs_le_tag), of which the address can be taken to get a valid tag. Obtained from: Juniper, Semihalf |
#
bd71bd37 |
|
15-Dec-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Make files under src/sys/powerpc/aim, as well as Open Firmware related files dependent upon option/cpu AIM. This is in preparation of adding support for Book-E (e500) support. Obtained from: Juniper, Semihalf |
#
dd3456c0 |
|
14-Dec-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Sort. |
#
47abecea |
|
14-Dec-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Update file list after repocopying select files from src/sys/powerpc/powerpc to src/sys/powerpc/aim. |
#
3c90d1ea |
|
02-Dec-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) |
#
a9d185b2 |
|
25-Oct-2007 |
David E. O'Brien <obrien@FreeBSD.org> |
Align. |
#
b2630c29 |
|
02-Jul-2007 |
George V. Neville-Neil <gnn@FreeBSD.org> |
Commit the change from FAST_IPSEC to IPSEC. The FAST_IPSEC option is now deprecated, as well as the KAME IPsec code. What was FAST_IPSEC is now IPSEC. Approved by: re Sponsored by: Secure Computing |
#
9f94082e |
|
06-Apr-2007 |
Yoshihiro Takahashi <nyan@FreeBSD.org> |
sort. |
#
89c40e5f |
|
05-Apr-2007 |
Alexander Kabaev <kan@FreeBSD.org> |
Be more conservative and compile libkern/memset.c only on architectures than need it. These are i386, amd64 and powerpc so far. |
#
1d3aed33 |
|
07-Feb-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Evolve the ctlreq interface added to geom_gpt into a generic partitioning class that supports multiple schemes. Current schemes supported are APM (Apple Partition Map) and GPT. Change all GEOM_APPLE anf GEOM_GPT options into GEOM_PART_APM and GEOM_PART_GPT (resp). The ctlreq interface supports verbs to create and destroy partitioning schemes on a disk; to add, delete and modify partitions; and to commit or undo changes made. |
#
2c298b17 |
|
17-Dec-2006 |
Matt Jacob <mjacob@FreeBSD.org> |
opt_ah.h ends up copied into a kernelcompile directory in some aches as a read-only file. In a number of cases this has led to compiles failing- usually due to some strange NFS drift which thinks that the opt_ah.h in the compile directory is out of date wrt the source it is copied from. When the copy is executed again, it fails because the target is read-only. Oops. Modify the compile hooks avoid this. Discussed with a while back with: Sam Leffler |
#
663cf7fe |
|
23-Oct-2006 |
Ruslan Ermilov <ru@FreeBSD.org> |
Move MI parts of syscons into MI "files". |
#
9302d5e0 |
|
24-Aug-2006 |
Peter Grehan <grehan@FreeBSD.org> |
Remove file that snuck in accidentally in Marcel's gdb commit. |
#
512b2fb1 |
|
24-Aug-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add skeletal support for GDB. In particular gdb_cpu_getreg() needs implementing to make GDB support usable. |
#
e5d34218 |
|
01-Aug-2006 |
Maxim Sobolev <sobomax@FreeBSD.org> |
Add device to access and modify Open Firmware NVRAM settings in PowerPC-based Apple's machines and small utility to do it from userland modelled after the similar utility in Darwin/OSX. Only tested on 1.25GHz G4 Mac Mini. MFC after: 1 month |
#
b895d145 |
|
26-Jul-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Remove zs(4). It has been replaced by scc(4) & uart(4). |
#
cd320bc9 |
|
26-Jul-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Replace sio_iobus.c with uart_iobus.c. |
#
1773f778 |
|
08-Jun-2006 |
Sam Leffler <sam@FreeBSD.org> |
add glue for ath_hal MFC after: 1 month |
#
d94607de |
|
24-Apr-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Revert previous commit. It's not part of the ppc(4) changes. |
#
cea4d875 |
|
24-Apr-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
o Move ISA specific code from ppc.c to ppc_isa.c -- a bus front- end for isa(4). o Add a seperate bus frontend for acpi(4) and allow ISA DMA for it when ISA is configured in the kernel. This allows acpi(4) attachments in non-ISA configurations, as is possible for ia64. o Add a seperate bus frontend for pci(4) and detect known single port parallel cards. o Merge PC98 specific changes under pc98/cbus into the MI driver. The changes are minor enough for conditional compilation and in this form invites better abstraction. o Have ppc(4) usabled on all platforms, now that ISA specifics are untangled enough. |
#
2825701d |
|
31-Mar-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add the MacIO attachment for scc(4). |
#
ce8f0013 |
|
30-Mar-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Allow uart(4) to be built on PowerPC. |
#
8d96e455 |
|
05-Mar-2006 |
Yaroslav Tykhiy <ytykhiy@gmail.com> |
Retire NETSMBCRYPTO as a kernel option and make its functionality enabled by default in NETSMB and smbfs.ko. With the most of modern SMB providers requiring encryption by default, there is little sense left in keeping the crypto part of NETSMB optional at the build time. This will also return smbfs.ko to its former properties users are rather accustomed to. Discussed with: freebsd-stable, re (scottl) Not objected by: bp, tjr (silence) MFC after: 5 days |
#
a8e06f2a |
|
27-Nov-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
Make config(8) understand ORed dependecies in "files*" and improve tracking of known devices. Bump config(8) version. |
#
d03dab65 |
|
22-Nov-2005 |
Marius Strobl <marius@FreeBSD.org> |
Move zs.c from files to files.powerpc as zs(4) by now is only supported on powerpc (more or less...). That way people updating from FreeBSD 5 to FreeBSD 6 and beyond on sparc64 will get an error from config(8) rather than a mysterious compile error when they have a stale 'device zs' in their kernel config file. MFC after: 2 weeks |
#
bba6f0a9 |
|
22-Nov-2005 |
Marius Strobl <marius@FreeBSD.org> |
- Add a new method ofw_bus_default_get_devinfo() that allows to retrieve a newly introduced struct ofw_bus_devinfo which can hold the OFW info of a device recallable via the ofw_bus KOBJ interface. Introduce a set of functions ofw_bus_gen_get_*() which use ofw_bus_default_get_devinfo() to provide generic subroutines for implementing the rest of the ofw_bus KOBJ interface in a bus driver. This is inspired by bus_get_resource_list() and bus_generic_rl_*_resource() and allows to reduce code duplication in bus drivers as they only have to provide an ofw_bus_default_get_devinfo() implementation in order to provide the ofw_bus KOBJ interface via ofw_bus_gen_get_*(). - While here add a comment to ofw_bus_if.m describing the intention of the ofw_bus KOBJ interface. Reviewed by: marcel |
#
f9c702db |
|
07-Nov-2005 |
Peter Grehan <grehan@FreeBSD.org> |
Insert a layer of indirection to the pmap code, using a kobj for the interface. This allows run-time selection of MMU code, based on CPU-type detection, or tunable-overrides when testing new code. Pre-requisite for G5 support. conf/files.powerpc - remove pmap.c - add mmu_if.h, mmu_oea.c, pmap_dispatch.c powerpc/include/mmuvar.h - definitions for MMU implementations powerpc/include/pmap.h - remove pmap_pte_spill declaration - add pmap_mmu_install declaration - size the phys_avail array - pmap_bootstrapped is now global-scope powerpc/powerpc/machdep.c - call kobj_machdep_init early in the boot sequence to allow kobj usage prior to SI_SUB_LOCK - install the OEA pmap code. This will be moved to CPU-specific init code in the future. powerpc/powerpc/mmu_if.m - Kobj MMU interface definitions powerpc/powerpc/pmap_dispatch.c - central dispatch for pmap calls - contains the global mmu kobj and the routine to locate the the mmu implementation and init the kobj |
#
b16d349f |
|
11-Jun-2005 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Refactor the NETSMBCRYPTO option so that it does the same on all platforms. ARM is excluded as it doesn't yet have any crypto sources. Approved by: re (dwhite) MFC after: 1 day |
#
f263522a |
|
09-Jun-2005 |
Joseph Koshy <jkoshy@FreeBSD.org> |
MFP4: - Implement sampling modes and logging support in hwpmc(4). - Separate MI and MD parts of hwpmc(4) and allow sharing of PMC implementations across different architectures. Add support for P4 (EMT64) style PMCs to the amd64 code. - New pmcstat(8) options: -E (exit time counts) -W (counts every context switch), -R (print log file). - pmc(3) API changes, improve our ability to keep ABI compatibility in the future. Add more 'alias' names for commonly used events. - bug fixes & documentation. |
#
c6a37e84 |
|
04-Apr-2005 |
John Baldwin <jhb@FreeBSD.org> |
Divorce critical sections from spinlocks. Critical sections as denoted by critical_enter() and critical_exit() are now solely a mechanism for deferring kernel preemptions. They no longer have any affect on interrupts. This means that standalone critical sections are now very cheap as they are simply unlocked integer increments and decrements for the common case. Spin mutexes now use a separate KPI implemented in MD code: spinlock_enter() and spinlock_exit(). This KPI is responsible for providing whatever MD guarantees are needed to ensure that a thread holding a spin lock won't be preempted by any other code that will try to lock the same lock. For now all archs continue to block interrupts in a "spinlock section" as they did formerly in all critical sections. Note that I've also taken this opportunity to push a few things into MD code rather than MI. For example, critical_fork_exit() no longer exists. Instead, MD code ensures that new threads have the correct state when they are created. Also, we no longer try to fixup the idlethreads for APs in MI code. Instead, each arch sets the initial curthread and adjusts the state of the idle thread it borrows in order to perform the initial context switch. This change is largely a big NOP, but the cleaner separation it provides will allow for more efficient alternative locking schemes in other parts of the kernel (bare critical sections rather than per-CPU spin mutexes for per-CPU data for example). Reviewed by: grehan, cognet, arch@, others Tested on: i386, alpha, sparc64, powerpc, arm, possibly more |
#
c0763d37 |
|
16-Aug-2004 |
Suleiman Souhlal <ssouhlal@FreeBSD.org> |
Add /dev/mem and /dev/kmem to powerpc. Approved by: grehan (mentor) |
#
26280d88 |
|
12-Aug-2004 |
Marius Strobl <marius@FreeBSD.org> |
- Introduce an ofw_bus kobj-interface for retrieving the OFW node and a subset ("compatible", "device_type", "model" and "name") of the standard properties in drivers for devices on Open Firmware supported busses. The standard properties "reg", "interrupts" und "address" are not covered by this interface because they are only of interest in the respective bridge code. There's a remaining standard property "status" which is unclear how to support properly but which also isn't used in FreeBSD at present. This ofw_bus kobj-interface allows to replace the various (ebus_get_node(), ofw_pci_get_node(), etc.) and partially inconsistent (central_get_type() vs. sbus_get_device_type(), etc.) existing IVAR ones with a common one. This in turn allows to simplify and remove code-duplication in drivers for devices that can hang off of more than one OFW supported bus. - Convert the sparc64 Central, EBus, FHC, PCI and SBus bus drivers and the drivers for their children to use the ofw_bus kobj-interface. The IVAR- interfaces of the Central, EBus and FHC are entirely replaced by this. The PCI bus driver used its own kobj-interface and now also uses the ofw_bus one. The IVARs special to the SBus, e.g. for retrieving the burst size, remain. Beware: this causes an ABI-breakage for modules of drivers which used the IVAR-interfaces, i.e. esp(4), hme(4), isp(4) and uart(4), which need to be recompiled. The style-inconsistencies introduced in some of the bus drivers will be fixed by tmm@ in a generic clean-up of the respective drivers later (he requested to add the changes in the "new" style). - Convert the powerpc MacIO bus driver and the drivers for its children to use the ofw_bus kobj-interface. This invloves removing the IVARs related to the "reg" property which were unused and a leftover from the NetBSD origini of the code. There's no ABI-breakage caused by this because none of these driver are currently built as modules. There are other powerpc bus drivers which can be converted to the ofw_bus kobj-interface, e.g. the PCI bus driver, which should be done together with converting powerpc to use the OFW PCI code from sparc64. - Make the SBus and FHC front-end of zs(4) and the sparc64 eeprom(4) take advantage of the ofw_bus kobj-interface and simplify them a bit. Reviewed by: grehan, tmm Approved by: re (scottl) Discussed with: tmm Tested with: Sun AX1105, AXe, Ultra 2, Ultra 60; PPC cross-build on i386 |
#
cd445f61 |
|
12-Jul-2004 |
Peter Grehan <grehan@FreeBSD.org> |
db_memrw.c has been subsumed into db_interface.c ala sparc64 |
#
e700eaa0 |
|
10-Jul-2004 |
Peter Grehan <grehan@FreeBSD.org> |
Fix build for non-WITNESS case spotted by: Suleiman Souhlal <refugee@segfaulted.com> |
#
010b69ba |
|
23-Mar-2004 |
Alan Cox <alc@FreeBSD.org> |
Add an implementation of uiomove_fromphys() for PowerPC. This implementation uses the direct virtual-to-physical mapping. Discussed with: grehan |
#
321fd460 |
|
12-Feb-2004 |
Peter Grehan <grehan@FreeBSD.org> |
Work-in-progress for the 'Kauai' ATA device in Mac notebooks. The device seems to be the macio ATA cell with a PCI front-end, and has no relation to PIIX-style ATA/PCI devices. |
#
db55e39a |
|
28-Jan-2004 |
Peter Grehan <grehan@FreeBSD.org> |
Implement UMA_MD_SMALL_ALLOC, since the BAT registers allow direct addressing of memory. Makes a substantial improvement for apps that stress the limited amount of KVM on PPC (e.g. untarring the ports tree). uma_machdep.c stolen from amd64/ia64. |
#
473795dc |
|
20-Jan-2004 |
Peter Grehan <grehan@FreeBSD.org> |
Add syscons files, and also generate a syscons font since Apple SVGA adapters don't have one available in their ROMs. |
#
f8735aa3 |
|
15-Jan-2004 |
Peter Grehan <grehan@FreeBSD.org> |
- add openpic macio and psim/iobus attachments - alpha sort powermac files |
#
1de30b60 |
|
13-Jan-2004 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Add ffsl(), fls() flsl() to platforms that don't already have them. |
#
c8718f79 |
|
28-Jun-2003 |
Peter Grehan <grehan@FreeBSD.org> |
Hook grackle system controller/heathrow interrupt controller to PPC build. |
#
5d1b6a85 |
|
28-Feb-2003 |
Ruslan Ermilov <ru@FreeBSD.org> |
Standardize handling of locore.[sS] etc. files. Submitted by: jake, bde, ru |
#
84188b7c |
|
23-Feb-2003 |
Peter Grehan <grehan@FreeBSD.org> |
Add apple partition map GEOM module |
#
d674899b |
|
06-Feb-2003 |
Benno Rice <benno@FreeBSD.org> |
Add a driver that attaches to the gpio node of macio and allows you to enter DDB when the interrupt button (aka the "programmer's switch") is pressed. This isn't unfortunately an NMI, but it's a handy way to get into DDB quickly if needed. |
#
fb954d9d |
|
04-Feb-2003 |
Benno Rice <benno@FreeBSD.org> |
Add cpu.c. This contains one exported function, cpu_setup(), which handles setup of and printing information about cpus. Obtained from: NetBSD (parts) |
#
308d2886 |
|
01-Feb-2003 |
Benno Rice <benno@FreeBSD.org> |
Build glue for zs_macio. |
#
e263f030 |
|
28-Jan-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
NO_GEOM cleanup: remove subr_disklabel.c from powerpc and x86_64. |
#
e24f6473 |
|
21-Jan-2003 |
Peter Grehan <grehan@FreeBSD.org> |
Convert remaining .s files to .S Approved by: benno |
#
03cb4028 |
|
17-Jan-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove subr_diskslice.c and subr_diskmbr.c which I can find no trace of why should be needed in the powerpc files. Not compile tested. |
#
2a2c7962 |
|
17-Jan-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move subr_disklabel.c and subr_diskslice.c from being MI to MD files, so that they can be left out where they are unneeded. |
#
a65a2806 |
|
08-Jan-2003 |
Benno Rice <benno@FreeBSD.org> |
Add a pcib variant to allow us to fix up interrupt assignments. We probably want to do something wrt bus enumeration as well at some point. |
#
e1f89bae |
|
18-Sep-2002 |
Peter Grehan <grehan@FreeBSD.org> |
- added macio and psim files - removed unused extintr.c Approved by: benno |
#
99bc8c72 |
|
09-Jul-2002 |
Benno Rice <benno@FreeBSD.org> |
Add setjmp (needed for DDB). |
#
45b4eca5 |
|
09-Jul-2002 |
Benno Rice <benno@FreeBSD.org> |
Add DDB support. |
#
98f8e6c0 |
|
09-Jul-2002 |
Benno Rice <benno@FreeBSD.org> |
Driver for the Apple UniNorth Host-PCI bridge. This is in a PowerMac-specific subdirectory as it is hoped that we will support more than just the PowerMac platform. |
#
3008110e |
|
09-Jul-2002 |
Benno Rice <benno@FreeBSD.org> |
Add ofw_pci.c in the pci case. |
#
25b60a3b |
|
08-Jul-2002 |
Benno Rice <benno@FreeBSD.org> |
1) Add busdma machdep code. 2) Add bus_pio.h and bus_memio.h (which do nothing). Submitted by: Peter Grehan <peterg@ptree32.com.au> (1) |
#
ca019208 |
|
09-Jul-2002 |
Benno Rice <benno@FreeBSD.org> |
Driver for OpenPIC compatible interrupt controllers. It's fairly PowerMac specific at the moment, but that should be fixable. |
#
f6a7723d |
|
09-Jul-2002 |
Benno Rice <benno@FreeBSD.org> |
Add interrupt handling support code. I've tried to make this fairly platform-independant as some PowerPC platforms may not have openpic-style interrupt controllers. This may not have the best performance but it works for now. |
#
825467ca |
|
29-Jun-2002 |
Benno Rice <benno@FreeBSD.org> |
Add in_cksum.c |
#
6c2a0625 |
|
29-Jun-2002 |
Benno Rice <benno@FreeBSD.org> |
Many fixes to low-level trap and interrupt handling: - Tidy up clock code. Don't repeatedly call hardclock(). - Remove intrnames, decrnest and intrcnt from locore.s - Coalesce all trap handling into a single stub that then calls a dispatch function. Submitted by: Peter Grehan <peterg@ptree32.com.au> |
#
289fc68d |
|
13-May-2002 |
Benno Rice <benno@FreeBSD.org> |
Build the fpu support routines. |
#
b23e18d6 |
|
30-Apr-2002 |
Benno Rice <benno@FreeBSD.org> |
Add sigcode.S |
#
2819d0ad |
|
14-Apr-2002 |
Benno Rice <benno@FreeBSD.org> |
Add ofwd to the GENERIC config for powerpc. |
#
d74ac681 |
|
26-Mar-2002 |
Matthew Dillon <dillon@FreeBSD.org> |
Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt disablement assumptions in kern_fork.c by adding another API call, cpu_critical_fork_exit(). Cleanup the td_savecrit field by moving it from MI to MD. Temporarily move cpu_critical*() from <arch>/include/cpufunc.h to <arch>/<arch>/critical.c (stage-2 will clean this up). Implement interrupt deferral for i386 that allows interrupts to remain enabled inside critical sections. This also fixes an IPI interlock bug, and requires uses of icu_lock to be enclosed in a true interrupt disablement. This is the stage-1 commit. Stage-2 will occur after stage-1 has stabilized, and will move cpu_critical*() into its own header file(s) + other things. This commit may break non-i386 architectures in trivial ways. This should be temporary. Reviewed by: core Approved by: core |
#
bf76ba78 |
|
21-Mar-2002 |
Benno Rice <benno@FreeBSD.org> |
Collect all functions for copying to and from userspace into the one file. This allows me to reimplement [sf]u{byte,word} as separate functions and not as calls to copy{in,out}. |
#
b5a8f767 |
|
05-Mar-2002 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
- Speedup 3DES by using assembly code for i386. - Sync des/blowfish to more recent openssl. Obtained from: KAME/NetBSD MFC after: 2 weeks |
#
7c629906 |
|
21-Oct-2001 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Move procfs_* from procfs_machdep.c into sys_process.c, and rename them to proc_* in the process; procfs_machdep.c is no longer needed. Run-tested on i386, build-tested on Alpha, untested on other platforms. |
#
00267919 |
|
26-Jun-2001 |
Benno Rice <benno@FreeBSD.org> |
Add -msoft-float to COPTS to stop GCC attempting to be "smart" and using floating point registers for various optimisation tweaks. |
#
c585bae1 |
|
17-Jun-2001 |
Benno Rice <benno@FreeBSD.org> |
The final commit for the first phase of PowerPC support. This adds the config stuff needed to build kernels. Reviewed by: obrien |
#
8923de59 |
|
13-Feb-2023 |
Piotr Kubaj <pkubaj@FreeBSD.org> |
ice(4): Update to 1.37.7-k Notable changes include: - DSCP QoS Support (leveraging support added in rG9c950139051298831ce19d01ea5fb33ec6ea7f89) - Improved PFC handling and TC queue assignments (now all remaining queues are assigned to TC 0 when more than one TC is enabled and the number of available queues does not evenly divide between them) - Support for dumping the internal FW state for additional debugging by Intel support - Support for allowing "No FEC" to be a valid state for the LESM to negotiate when using non-standard compliant modules Also includes various bug fixes and smaller enhancements, too. Signed-off-by: Eric Joyner <erj@FreeBSD.org> Reviewed by: erj@ Tested by: Jeff Pieper <jeffrey.pieper@intel.com> MFC after: 3 days Relnotes: yes Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D38109
|
#
2508da22 |
|
24-Jan-2023 |
Eric Joyner <erj@FreeBSD.org> |
ice_ddp: Update package to 1.3.30.0 This updated DDP is intended to be used with the forthcoming ice(4) driver update to 1.37.7-k. (But it will still work with the current version.) Co-authored-by: Piotr Kubaj <pkubaj@FreeBSD.org> Signed-off-by: Eric Joyner <erj@FreeBSD.org> MFC after: 1 week Sponsored by: Intel Corporation
|
#
8c6e5d8c |
|
07-Sep-2022 |
Andrew Turner <andrew@FreeBSD.org> |
Import an optimized str{n}cmp on arm64 These are from the Arm Optimized Routines and don't use the VFP so are safe to use in the kernel. Sponsored by: The FreeBSD Foundation
|
#
d1aefbc0 |
|
23-Jun-2022 |
Martin Matuska <mm@FreeBSD.org> |
zfs: fix static module build broken in 1f1e2261e
|
#
8a13362d |
|
01-Dec-2021 |
Eric Joyner <erj@FreeBSD.org> |
ice(4): Add RDMA Client Interface This allows the "irdma" driver to communicate with the ice(4) driver to allow it access to the underlying device's hardware resources as well as synchronize access to shared resources. This interface already existed in the standalone out-of-tree 1.34.2 driver; this commit adds and enables it in the in-kernel driver. Note: Adds hack to module Makefile to compile interface/.m files These are required for the RDMA client interface, but they don't build as-is like the normal .c files. The source directory doesn't seem to be included by default, so add lines that specifically add them as libraries so that ice_rdma.h can be found and the interface files will compile. Signed-off-by: Eric Joyner <erj@FreeBSD.org> MFC after: 1 week Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D30889
|
#
56429dae |
|
04-Mar-2022 |
Eric Joyner <erj@FreeBSD.org> |
ice(4): Update to 1.34.2-k - Adds FW logging support - Once enabled, this lets the firmware print event and error messages to the log, increasing the visibility into what the hardware is doing; this is useful for debugging - General bug fixes - Adds inital DCB support to the driver - Notably, this adds support for DCBX to the driver; now with the fw_lldp sysctl set to 1, the driver and adapter will adopt a DCBX configuration sent from a link partner - Adds statistcs sysctls for priority flow control frames - Adds new configuration sysctls for DCB-related features: (VLAN) user priority to TC mapping; ETS bandwidth allocation; priority flow control - Remove unused SR-IOV files (until support gets added) Signed-off-by: Eric Joyner <erj@FreeBSD.org> Tested by: jeffrey.e.pieper@intel.com MFC after: 3 days MFC with: 213e91399b, e438f0a975 Relnotes: yes Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D34024
|
#
960ce3f7 |
|
20-Feb-2022 |
Michal Meloun <mmel@FreeBSD.org> |
Fix a534b50e245d on powerpc. MFC with: 1bd3e8ba696633ccd7525030d951b58ade167814
|
#
e438f0a9 |
|
01-Dec-2021 |
Eric Joyner <erj@FreeBSD.org> |
ice_ddp: Update to 1.3.27.0 This is intended to be used with forthcoming ice(4) driver version 1.34.2. Signed-off-by: Eric Joyner <erj@FreeBSD.org> Sponsored by: Intel Corporation
|
#
a0f3abb0 |
|
20-Jan-2022 |
Piotr Kubaj <pkubaj@FreeBSD.org> |
powerpc: enable ice in GENERIC64LE Approved by: erj Differential Revision: https://reviews.freebsd.org/D33974
|
#
c583b025 |
|
23-Dec-2021 |
Brandon Bergren <bdragon@FreeBSD.org> |
[PowerPC] PowerMac timebase sync for G4 Summary: Disable timebase on (some) AIM platforms (tested on PowerMac G4) prior to synchronization. Some platforms use a GPIO to enable and disable timebase, while others use a platform function. This mirrors 0d69f00b on mpc85xx. Todo: * Implement various G5 timebase controls. * Print out platform code on unknown G5s so we can collect it. * Change API to be give/take pairs like Linux does so it's possible to do a software sync protocol. Reviewed By: #powerpc, jhibbits Subscribers: mikael, markmi_dsl-only.net, luporl, alfredo Tags: #powerpc Differential Revision: https://reviews.freebsd.org/D29136
|
#
ecbbe831 |
|
24-Nov-2021 |
Mark Johnston <markj@FreeBSD.org> |
netinet: Deduplicate most in_cksum() implementations in_cksum() and related routines are implemented separately for each platform, but only i386 and arm have optimized versions. Other platforms' copies of in_cksum.c are identical except for style differences and support for big-endian CPUs. Deduplicate the implementations for the rest of the platforms. This will make it easier to implement in_cksum() for unmapped mbufs. On arm and i386, define HAVE_MD_IN_CKSUM to mean that the MI implementation is not to be compiled. No functional change intended. Reviewed by: kp, glebius MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33095
|
#
451756d1 |
|
23-Aug-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
powerpc: retire bcmp Unused since ba96f37758412151 ("Use __builtin for various mem* and b* (e.g. bzero) routines.") Reviewed by: jhibbits Sponsored by: Rubicon Communications, LLC ("Netgate")
|
#
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 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
|
#
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 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
|
#
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 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
|
#
2e58ec01 |
|
18-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 variants that don't support superpages - Add missing hwpmc file, for when hwpmc is built into kernel
|
#
b75abea4 |
|
22-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 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
|
#
b4a7ce06 |
|
09-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_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
|
#
d3111144 |
|
05-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. 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
|
#
45b69dd6 |
|
26-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 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
|
#
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 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
|
#
051fc58c |
|
11-May-2020 |
Conrad Meyer <cem@FreeBSD.org> |
Revert r360944 and r360946 until reported issues can be resolved Reported by: cy
|
#
9cfae28e |
|
11-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: cem Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24773
|
#
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://reviews.freebsd.org/D24772
|
#
65bbba25 |
|
10-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. 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
|
#
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 communication feature, along with dual-port RAM accessible from both the CPU and GPIO CPLD, and 3 fan speed reporting registers.
|
#
c5568ba0 |
|
11-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.br) Differential Revision: https://reviews.freebsd.org/D23974
|
#
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 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
|
#
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. Platforms that don't need this won't included it.
|
#
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 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
|
#
9aafc7c0 |
|
02-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 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
|
#
1c8102d8 |
|
20-Dec-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpc: Only build mpc85xx i2c driver for mpc85xx No need to build it for every other platform.
|
#
a16111e6 |
|
09-Dec-2019 |
Leandro Lupori <luporl@FreeBSD.org> |
[PPC64] Enable opal console use as a GDB DBGPORT This change makes it possible to use OPAL console as a GDB debug port. Similar to uart and uart_phyp debug ports, it has to be enabled by setting the hw.uart.dbgport variable to the serial console node of the device tree. Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D22649
|
#
9e319462 |
|
07-Dec-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpc: Use builtins for fls/flsl Summary: There's no need to use the fallback fls() and flsl() libkern functions when the PowerISA includes instructions that already do the bulk of the work. Take advantage of this through the GCC builtins __builtin_clz() and __builtin_clzl(). Reviewed by: luporl Differential Revision: https://reviews.freebsd.org/D22340
|
#
4ceaf951 |
|
25-Nov-2019 |
Leandro Lupori <luporl@FreeBSD.org> |
[PPC64] Enable phyp vty use as a GDB DBGPORT This change makes it possible to use a POWER Hypervisor virtual terminal device (phyp vty) as a GDB debug port. Similar to the uart debug port, it has to be enabled by setting the hw.uart_phyp.dbgport variable to the vty node of the device tree. Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D22205
|
#
34ed25a8 |
|
15-Oct-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpc: Add AmigaOne platform, a subclass of MPC85xx Summary: The AmigaOne platform, encompassing the X5000 and A1222 at this time, is based on the mpc85xx platform, but includes some things not listed in the device tree. Some custom devices, like CPLD, could be added to the device tree with an overlay, or other means. However, some cannot easily be done, such as the power button interrupt. The directory will also become a location to add AmigaOne platform drivers, such as the aforementioned CPLD, and its children. Reviewed by: bdragon Differential Revision: https://reviews.freebsd.org/D21829
|
#
0ecc478b |
|
14-Oct-2019 |
Leandro Lupori <luporl@FreeBSD.org> |
[PPC64] Initial kernel minidump implementation Based on POWER9BSD implementation, with all POWER9 specific code removed and addition of new methods in PPC64 MMU interface, to isolate platform specific code. Currently, the new methods are implemented on pseries and PowerNV (D21643). Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D21551
|
#
d0c0856f |
|
10-Oct-2019 |
Andriy Gapon <avg@FreeBSD.org> |
emulate illumos membar_producer with atomic_thread_fence_rel membar_producer is supposed to be a store-store barrier. Also, in the code that FreeBSD has ported from illumos membar_producer is used only with regular stores to regular memory (with respect to caching). We do not have an MI primitive for the store-store barrier, so atomic_thread_fence_rel is the closest we have as it provides (load | store) -> store barrier. Previously, membar_producer was an empty function call on all 32-bit arm-s, 32-bit powerpc, riscv and all mips variants. I think that it was inadequate. On other platforms, such as amd64, arm64, i386, powerpc64, sparc64, membar_producer was implemented using stronger primitives than required for a store-store barrier with respect to regular memory access. For example, it used sfence on amd64 and lock-ed nop in i386 (despite TSO). On powerpc64 we now use recommended lwsync instead of eieio. On sparc64 FreeBSD uses TSO mode. On arm64/aarch64 we now use dmb sy instead of dmb ish. Not sure if this is an improvement, actually. After this change we can drop opensolaris_atomic.S for aarch64, amd64, powerpc64 and sparc64 as all required atomic operations have either direct or light-weight mapping to FreeBSD native atomic operations. Discussed with: kib MFC after: 4 weeks
|
#
1c56203b |
|
13-Sep-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpc64/powernv: Add opal NVRAM driver for PowerNV systems Add a very basic NVRAM driver for OPAL which can be used by the IBM powerpc-utils nvram utility, not to be confused with the base nvram utility, which only operates on powermac_nvram. The IBM utility handles all partitions itself, treating the nvram device as a plain store. An alternative would be to manage partitions in the kernel, and augment the base nvram utility to deal with different backing stores, but that complicates the driver significantly. Instead, present the same interface IBM's utlity expects, and we get the usage for free. Tested by: bdragon
|
#
f5a95d9a |
|
24-Jun-2019 |
Warner Losh <imp@FreeBSD.org> |
Remove NAND and NANDFS support NANDFS has been broken for years. Remove it. The NAND drivers that remain are for ancient parts that are no longer relevant. They are polled, have terrible performance and just for ancient arm hardware. NAND parts have evolved significantly from this early work and little to none of it would be relevant should someone need to update to support raw nand. This code has been off by default for years and has violated the vnode protocol leading to panics since it was committed. Numerous posts to arch@ and other locations have found no actual users for this software. Relnotes: Yes No Objection From: arch@ Differential Revision: https://reviews.freebsd.org/D20745
|
#
c363b16c |
|
20-Jun-2019 |
Conrad Meyer <cem@FreeBSD.org> |
sys: Remove DEV_RANDOM device option Remove 'device random' from kernel configurations that reference it (most). Replace perhaps mistaken 'nodevice random' in two MIPS configs with 'options RANDOM_LOADABLE' instead. Document removal in UPDATING; update NOTES and random.4. Reviewed by: delphij, markm (previous version) Approved by: secteam(delphij) Differential Revision: https://reviews.freebsd.org/D19918
|
#
5ca5dfe9 |
|
31-May-2019 |
Conrad Meyer <cem@FreeBSD.org> |
random(4): Fix RANDOM_LOADABLE build I introduced an obvious compiler error in r346282, so this change fixes that. Unfortunately, RANDOM_LOADABLE isn't covered by our existing tinderbox, and it seems like there were existing latent linking problems. I believe these were introduced on accident in r338324 during reduction of the boolean expression(s) adjacent to randomdev.c and hash.c. It seems the RANDOM_LOADABLE build breakage has gone unnoticed for nine months. This change correctly annotates randomdev.c and hash.c with !random_loadable to match the pre-r338324 logic; and additionally updates the HWRNG drivers in MD 'files.*', which depend on random_device symbols, with !random_loadable (it is invalid for the kernel to depend on symbols from a module). (The expression for both randomdev.c and hash.c was the same, prior to r338324: "optional random random_yarrow | random !random_yarrow !random_loadable". I.e., "random && (yarrow || !loadable)." When Yarrow was removed ("yarrow := False"), the expression was incorrectly reduced to "optional random" when it should have retained "random && !loadable".) Additionally, I discovered that virtio_random was missing a MODULE_DEPEND on random_device, which breaks kld load/link of the driver on RANDOM_LOADABLE kernels. Address that issue as well. PR: 238223 Reported by: Eir Nym <eirnym AT gmail.com> Reviewed by: delphij, markm Approved by: secteam(delphij) Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D20466
|
#
9e774e53 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove bm(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230
|
#
50886464 |
|
29-Apr-2019 |
Leandro Lupori <luporl@FreeBSD.org> |
[PPC64] Turn opal_flash.c into a device This change makes it easier to enable/disable the inclusion of OPAL flash in the kernel. Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D20098
|
#
8af4cc4d |
|
22-Mar-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powernv: Add Hypervisor Maintenance Interrupt handler Attempting to build www/firefox on POWER9 resulted in a HMI exception being thrown, a fatal trap currently. This is typically caused by timer facility errors, but examination of the Hypervisor Maintenance Exception Register (HMER) yielded only that an exception had recovered, with no information of the actual exception cause. When an HMI occurs, OPAL_HANDLE_HMI or OPAL_HANDLE_HMI2 must be called to handle the exception at the firmware level. If the exception is handled, we can continue. This adds only the preliminary handler, enough to prevent package building from panicking. An enhancement in the future is to use the flags returned by OPAL_HANDLE_HMI2 to print more useful error messages, and log maintenance events. Reviewed by: luporl MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D19634
|
#
bc94b700 |
|
22-Mar-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpc: Re-merge isa3 HPT with moea64 native HPT r345402 fixed the bug that led to the split of the ISA 3.0 HPT handling from the existing manager. The cause of the bug was gcc moving the register holding VPN to a different register (not r0), which triggered bizarre behaviors. With the fix, things work, so they can be re-merged. No performance lost with the merge.
|
#
6775dfdf |
|
28-Feb-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpc/powernv: Add OPAL flash device driver Firmware needed by petitboot, for example, GPU firmware, can be installed to a partition in the flash filesystem. This driver exposes the full flash given by the device tree, letting the user manage firmware, etc, from FreeBSD. To use the partitions provided by the flash module, the fdt_slicer module is needed, but the module isn't needed for raw access, so there's no direct dependency link in here. MFC after: 2 weeks
|
#
dac618a6 |
|
28-Feb-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpc/powernv: Add asynchronous token management for powernv The OPAL firmware only supports a finite number of in-flight asynchronous operations. Rather than have each subsystem try to manage its own, use a central management service to hand out tokens. More work can be done to improve asynchronous behavior, such as funneling things through a future OPAL heartbeat handler, but capabilities will be added as needed. Augment the existing consumers (i2c and sensors) to use this new API. MFC after: 4 weeks
|
#
61ebc359 |
|
21-Feb-2019 |
Bruce Evans <bde@FreeBSD.org> |
Move scterm_teken.c from 6 MD files lists to the MI files list so that it is easier to configure. It is MI, unlike some of the other syscons files already in the MI list. Move scvtb.c similarly. It is needed whenever sc is configured, and is more MI than most of the files already in the MI list. This only changes the combined list for arm64 and mips. These arches already cannot build sc or even NOTES.
|
#
d49fc192 |
|
01-Feb-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpc/powernv: Add a driver for the POWER9 XIVE interrupt controller The XIVE (External Interrupt Virtualization Engine) is a new interrupt controller present in IBM's POWER9 processor. It's a very powerful, very complex device using queues and shared memory to improve interrupt dispatch performance in a virtualized environment. This yields a ~10% performance improvment over the XICS emulation mode, measured in both buildworld, and 'dd' from nvme to /dev/null. Currently, this only supports native access. MFC after: 1 month
|
#
8763f217 |
|
14-Dec-2018 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpcspe: Don't require FPU_EMU for powerpcspe IEEE emulation Build only the necessary fpu_emu files for supporting the SPE IEEE-754 emulation exception handler. MFC after: 1 week
|
#
a8e3f99e |
|
27-Sep-2018 |
Mateusz Guzik <mjg@FreeBSD.org> |
amd64: implement memcmp in assembly Both the in-kernel C variant and libc asm variant have very poor performance. The former compiles to a single byte comparison loop, which breaks down even for small sizes. The latter uses rep cmpsq/b which turn out to have very poor throughput and are slower than a hand-coded 32-byte comparison loop. Depending on size this is about 3-4 times faster than the current routines. Reviewed by: kib Approved by: re (gjb) Differential Revision: https://reviews.freebsd.org/D17328
|
#
b14959da |
|
16-Aug-2018 |
Justin Hibbits <jhibbits@FreeBSD.org> |
random: Add PowerPC 'darn' instruction entropy source Summary: PowerISA 3.0 adds a 'darn' instruction to "deliver a random number". This driver was modeled after (rather, copied and gutted of) the Ivy Bridge rdrand driver. This uses the "Conditional Random Number" behavior to remove input bias. From the ISA reference the 'darn' instruction, and the random number generator backing it, conforms to the NIST SP800-90B and SP800-90C standards, compliant to the extent possible at the time the hardware was designed, and guarantees a minimum 0.5 bits of entropy per bit returned. Reviewed By: markm, secteam (delphij) Approved by: secteam (delphij) Differential Revision: https://reviews.freebsd.org/D16552
|
#
0bf0bb83 |
|
25-Jul-2018 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Support building IPMI as a module on powerpc64 This still only supports IPMI via OPAL on powerpc64, but now it can be tested with a GENERIC kernel.
|
#
3ddc2cde |
|
24-Jul-2018 |
Breno Leitao <leitao@FreeBSD.org> |
ofw: Load initrd file This is an OFW initrd module that would load the initrd from device tree parameters and give the to the md driver. With this patch, it is possible to pass a rootfs image through kexec in PowerNV mode (powerpc64). In order to user it, you should set the MD_ROOT_MEM option in your kernel configuration. Reviewed by: jhibbits Approved by: jhibbits (mentor) Differential Revision: https://reviews.freebsd.org/D15705
|
#
b99540b6 |
|
21-Jun-2018 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add the rest of the files for r335481 Missed hooking PMCR cpufreq(4) to the build, and adding the SPR to the header.
|
#
ebf95d96 |
|
14-Jun-2018 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Split the PowerISA 3.0 HPT implementation from historic PowerISA 3.0 makes several changes to not only the format of the HPT but also the behavior surrounding it. For instance, TLBIE no longer requires serialization. Removing this lock cuts buildworld time in half on a 18-core/72-thread POWER9 system, demonstrating that this lock is highly contended on such a system. There was odd behavior observed trying to make this change in a backwards-compatible manner in moea64_native.c, so the best option was to fully split it, and largely revert the original changes adding POWER9 support to the original file. Suggested by: nwhitehorn
|
#
1a3eaf6c |
|
21-May-2018 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add an IPMI attachment for PowerNV systems IPMI access on PowerNV systems is done through the OPAL firmware. This adds a simple attachment for communicating with the FSP/BMC on these machines. This has been tested on a Talos POWER9 workstation, only in the bootup phase, noting the successful attachment messages: ... ipmi0: IPMI device rev. 0, firmware rev. 2.00, version 2.0, device support mask 0 ipmi0: Number of channels 2 ... The ipmi device has not been added to GENERIC64, but may be after further testing. It may also eventually be added to the ipmi module at that point.
|
#
9c6ba29d |
|
21-May-2018 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Basic OPAL sensor support for POWER9 platforms Summary: PowerNV architectures (in the test case POWER9) export sensors via the device tree, which are accessed via OPAL calls. This adds sysctl nodes for each device in a generic fashion. New sysctl nodes are: dev.opal_sensor.N.sensor dev.opal_sensor.N.sensor_min dev.opal_sensor.N.sensor_max dev.opal_sensor.N.type dev.opal_sensor.N.label These are rooted at a parent attachment under opal, called opalsens. This does not add support for the "sensor groups" defined in the device tree. Reviewed by: breno.leitao_gmail.com Differential Revision: https://reviews.freebsd.org/D15362
|
#
baaa3c4d |
|
09-May-2018 |
Warner Losh <imp@FreeBSD.org> |
Simplify things a little Rather than include a copy for memmove to call bcopy to call memcpy (which handles overlapping copies), make memmove a strong reference to memcpy to save the two calls. Differential Revision: https://reviews.freebsd.org/D15374
|
#
5aa07b05 |
|
09-May-2018 |
Warner Losh <imp@FreeBSD.org> |
Move MI-ish bcopy routine to libkern riscv and powerpc have nearly identical bcopy.c that's supposed to be mostly MI. Move it to the MI libkern. Differential Revision: https://reviews.freebsd.org/D15374
|
#
9c11d8d4 |
|
17-Apr-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Remove the unused fuwintr() and suiwintr() functions. Half of implementations always failed (returned (-1)) and they were previously used in only one place. Reviewed by: kib, andrew Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D15102
|
#
98b158d4 |
|
27-Mar-2018 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Fix another optional standard. Build openpic_ofw again.
|
#
d9093074 |
|
15-Mar-2018 |
Wojciech Macek <wma@FreeBSD.org> |
Reverting r330925 for now
|
#
7c95bf1e |
|
14-Mar-2018 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Fix fat-fingering ("optional standard") and move all the OF code to being marked "standard", which is less confusing than having it conditional on AIM CPUs here, and then picked up through options FDT from conf/files on Book-E. Request by: jhibbits
|
#
94f513c8 |
|
14-Mar-2018 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
The expression (aim | fdt) is always true on PowerPC. The last PowerPC platform that can run without a device tree (PS3) still uses the OF_*() functions to check if one exists and OF_* is used unconditionally in core parts of the system like powerpc/machdep.c. Reflect this reality in files.powerpc, for example by changing occurrences of aim | fdt to standard.
|
#
22eedd96 |
|
14-Mar-2018 |
Wojciech Macek <wma@FreeBSD.org> |
PowerNV: Fix I2C to compile if FDT is disabled Submitted by: Wojciech Macek <wma@semihalf.com> Obtained from: Semihalf Sponsored by: IBM, QCM Technologies
|
#
4ffd72e3 |
|
01-Mar-2018 |
Wojciech Macek <wma@FreeBSD.org> |
PowerNV: Initial support for OPAL I2C transfers Add I2C OPAL driver and a set of dummy-ones to allow all I2C things on Power8 to attach. TODO: better async token management Submitted by: Wojciech Macek <wma@semihalf.com> Obtained from: Semihalf Sponsored by: IBM, QCM Technologies
|
#
6d13fd63 |
|
21-Feb-2018 |
Wojciech Macek <wma@FreeBSD.org> |
PowerNV: Put processor to power-save state in idle thread When processor enters power-save state it releases resources shared with other cpu threads which makes other cores working much faster. This patch also implements saving and restoring registers that might get corrupted in power-save state. Submitted by: Patryk Duda <pdk@semihalf.com> Obtained from: Semihalf Reviewed by: jhibbits, nwhitehorn, wma Sponsored by: IBM, QCM Technologies Differential revision: https://reviews.freebsd.org/D14330
|
#
ed03d62a |
|
12-Jan-2018 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Remove fdt fixups for powerpc, they are no longer needed. If a fixup really is needed, it should be fixed in u-boot, not in FreeBSD. Suggested by: nwhitehorn
|
#
e9f96ff4 |
|
12-Jan-2018 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Enable L2 cache on supported PowerQUICC and QorIQ platforms Some PowerQUICC and QorIQ platforms have a L2 cache managed via the memory-mapped configuration registers, and appear as a node in the device tree. This adds basic support to enable the cache.
|
#
ac9b4325 |
|
12-Jan-2018 |
Wojciech Macek <wma@FreeBSD.org> |
PowerNV: initial support for PCIe host controller Provide initial support for PCIe host controller as well as for IOMMU mapping. This commit allows proper bus enumeration, but does not guarantee DMA operations are working. Created by: Nathan Whitehorn <nwhitehorn@freebsd.org> Submitted by: Wojciech Macek <wma@semihalf.com> Sponsored by: FreeBSD Foundation
|
#
fb3855e0 |
|
11-Jan-2018 |
Wojciech Macek <wma@FreeBSD.org> |
PowerNV: initial support for OPAL OPAL is a dedicated firmware acting as a hypervisor. Add generic functions to provide all access. Created by: Nathan Whitehorn <nw@freebsd.org> Submitted by: Wojciech Macek <wma@freebsd.org>
|
#
2ad33187 |
|
28-Dec-2017 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Remove ELF note for Open Firmware. It is marked optional in a single 1996 draft of a never-finalized standard (CHRP) and is irrelevant in practice on FreeBSD since we load the kernel with loader(8) on Open Firmware platforms anyway. Moreover, loader(8), which is directly loaded by Open Firmware, has never had an equivalent note. MFC after: 2 weeks
|
#
809cd50f |
|
04-Nov-2017 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add Freescale QorIQ SATA controller support. The Freescale SATA controller has many similarities to AHCI controllers, so this driver is a heavily modified AHCI driver. Currently it seems to only do SATA 1.0 speeds (~100-150MB/s), so there is still room for improvement. Still to be done: * Address erratum SATA-A-006187 -- Spread Spectrum Support (intermittent non-recoverable transient data integrity error seen when SSC enabled). * Linux doesn't read the log page as it hangs on the P1022. See if that's applicable to this, and address accordingly. * Try to determine what's holding back performance, and address it. MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D6071
|
#
d99b73d8 |
|
20-Jul-2017 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Compile the atomic64 emulation for powerpcspe With this, ZFS builds for and runs (not quite stablely) on powerpcspe.
|
#
452adeee |
|
20-Jul-2017 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add cpufreq support for P1022 and MPC8536 P1022 and MPC8536 include a 'jog' feature for clock control (jog being a slower form of run mode). This is done by changing the PLL multiplier, and cannot be done if any core is in doze or sleep mode.
|
#
d139c624 |
|
01-Apr-2017 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add Freescale eSPI driver found on QorIQ SoCs
|
#
d9720179 |
|
19-Feb-2017 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add a driver for the RouterBoard RB800 User LED This may work on other RouterBoard PPC platforms, but I don't have any to test with.
|
#
fcf59617 |
|
06-Feb-2017 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Merge projects/ipsec into head/. Small summary ------------- o Almost all IPsec releated code was moved into sys/netipsec. o New kernel modules added: ipsec.ko and tcpmd5.ko. New kernel option IPSEC_SUPPORT added. It enables support for loading and unloading of ipsec.ko and tcpmd5.ko kernel modules. o IPSEC_NAT_T option was removed. Now NAT-T support is enabled by default. The UDP_ENCAP_ESPINUDP_NON_IKE encapsulation type support was removed. Added TCP/UDP checksum handling for inbound packets that were decapsulated by transport mode SAs. setkey(8) modified to show run-time NAT-T configuration of SA. o New network pseudo interface if_ipsec(4) added. For now it is build as part of ipsec.ko module (or with IPSEC kernel). It implements IPsec virtual tunnels to create route-based VPNs. o The network stack now invokes IPsec functions using special methods. The only one header file <netipsec/ipsec_support.h> should be included to declare all the needed things to work with IPsec. o All IPsec protocols handlers (ESP/AH/IPCOMP protosw) were removed. Now these protocols are handled directly via IPsec methods. o TCP_SIGNATURE support was reworked to be more close to RFC. o PF_KEY SADB was reworked: - now all security associations stored in the single SPI namespace, and all SAs MUST have unique SPI. - several hash tables added to speed up lookups in SADB. - SADB now uses rmlock to protect access, and concurrent threads can do SA lookups in the same time. - many PF_KEY message handlers were reworked to reflect changes in SADB. - SADB_UPDATE message was extended to support new PF_KEY headers: SADB_X_EXT_NEW_ADDRESS_SRC and SADB_X_EXT_NEW_ADDRESS_DST. They can be used by IKE daemon to change SA addresses. o ipsecrequest and secpolicy structures were cardinally changed to avoid locking protection for ipsecrequest. Now we support only limited number (4) of bundled SAs, but they are supported for both INET and INET6. o INPCB security policy cache was introduced. Each PCB now caches used security policies to avoid SP lookup for each packet. o For inbound security policies added the mode, when the kernel does check for full history of applied IPsec transforms. o References counting rules for security policies and security associations were changed. The proper SA locking added into xform code. o xform code was also changed. Now it is possible to unregister xforms. tdb_xxx structures were changed and renamed to reflect changes in SADB/SPDB, and changed rules for locking and refcounting. Reviewed by: gnn, wblock Obtained from: Yandex LLC Relnotes: yes Sponsored by: Yandex LLC Differential Revision: https://reviews.freebsd.org/D9352
|
#
eecaab52 |
|
01-Nov-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Merge i.MX and PowerPC SDHCI drivers Summary: i.MX5 and PowerPC use a very similar eSDHC controller, which is also similar to the uSDHC controller used by i.MX6. The imx_sdhci driver works almost completely with PowerPC, with some minor tweaks. There is one caveat with this: reset currently does not work on PowerPC, so has been #ifdef'd out until this can be tracked down and fixed. If resets are done the controller will timeout all data transactions. Without a reset, it appears to work just fine. This is part 3, following up r308186 and r308187. Test Plan: This has been tested on a PowerPC QorIQ P1022 board. It has not been tested on i.MX, but no regressions are expected. Reviewed By: imp Differential Revision: https://reviews.freebsd.org/D8407
|
#
dc9b124d |
|
21-Oct-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Create a new MACHINE_ARCH for Freescale PowerPC e500v2 Summary: The Freescale e500v2 PowerPC core does not use a standard FPU. Instead, it uses a Signal Processing Engine (SPE)--a DSP-style vector processor unit, which doubles as a FPU. The PowerPC SPE ABI is incompatible with the stock powerpc ABI, so a new MACHINE_ARCH was created to deal with this. Additionaly, the SPE opcodes overlap with Altivec, so these are mutually exclusive. Taking advantage of this fact, a new file, powerpc/booke/spe.c, was created with the same function set as in powerpc/powerpc/altivec.c, so it becomes effectively a drop-in replacement. setjmp/longjmp were modified to save the upper 32-bits of the now-64-bit GPRs (upper 32-bits are only accessible by the SPE). Note: This does _not_ support the SPE in the e500v1, as the e500v1 SPE does not support double-precision floating point. Also, without a new MACHINE_ARCH it would be impossible to provide binary packages which utilize the SPE. Additionally, no work has been done to support ports, work is needed for this. This also means no newer gcc can yet be used. However, gcc's powerpc support has been refactored which would make adding a powerpcspe-freebsd target very easy. Test Plan: This was lightly tested on a RouterBoard RB800 and an AmigaOne A1222 (P1022-based) board, compiled against the new ABI. Base system utilities (/bin/sh, /bin/ls, etc) still function appropriately, the system is able to boot multiuser. Reviewed By: bdrewery, imp Relnotes: yes Differential Revision: https://reviews.freebsd.org/D5683
|
#
1e6afa0e |
|
26-Sep-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add NXP/Freescale DIU driver for PowerPC SoCs Summary: This enables some features of the DIU, using a static configuration, specified either via a 'edid' property on the 'display' FDT node, or a 'video-mode' environment variable (bootarg). 'video-mode' was chosen because it matches u-boot's naming, so it can be set with: setenv bootargs video-mode=${video-mode} at the u-boot CLI. Mouse cursor is not supported currently, as a hardware cursor is not supported by framebuffer VT yet. Currently it only supports a 32bpp ARGB (actually BGRA) format, and only a single composite plane, at up to 1280x1024. Differential Revision: https://reviews.freebsd.org/D8022
|
#
6cedae09 |
|
02-Aug-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Merge MPC85XX and QorIQ config options Summary: MPC85XX and QorIQ are very similar. When the DPAA dTSEC driver was added, QORIQ_DPAA was brought in as a config option to support the differences in hardware register settings between QorIQ (e500mc-, e5500- based) SoCs and QUICC (e500v1/e500v2-based) SoCs, particularly in the Local Access Window (LAW) target settings. Unify these settings using macros to hide details and ease porting, and use a new function (mpc85xx_is_qoriq()) to distinguish between QorIQ and QUICC SoCs at runtime. An alternative to using the function could be to use a variable initialized at platform attach time, which may incur less overhead at runtime. Since it's not in the critical path once booted, this optimization doesn't seem necessary at first pass. Reviewed by: nwhitehorn MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D7294
|
#
8ba8cb91 |
|
23-May-2016 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Move the OFW iicbus code to dev/iicbus to stop polluting dev/ofw with unrelated code. Discussed with: nwhitehorn (a long time ago)
|
#
d4faefae |
|
01-Apr-2016 |
Zbigniew Bodek <zbb@FreeBSD.org> |
Fix PowerPC LINT build after r297392 PowerPC has real Open Firmware and does not necessarily need FDT. Make ofwpci.c only PCI dependent. Pointed out by: emaste Reviewed by: nwhitehorn Obtained from: Semihalf
|
#
c43a8674 |
|
29-Mar-2016 |
Zbigniew Bodek <zbb@FreeBSD.org> |
Reduce OFW PCI code duplication - involves ARM, PPC and SPARC64 Import portions of the PowerPC OF PCI implementation into new file "ofwpci.c", common for other platforms. The files ofw_pci.c and ofw_pci.h from sys/powerpc/ofw no longer exist. All required declarations are moved to sys/dev/ofw/ofwpci.h. This creates a new ofw_pci_write_ivar() function and modifies some others methods. Most functions contain existing ppc implementations in the majority unchanged. Now there is no need to have multiple identical copies of methods for various architectures. Requested by: jhibbits Reviewed by: jhibbits, marius Submitted by: Marcin Mazurek <mma@semihalf.com> Obtained from: Semihalf Sponsored by: Annapurna Labs Differential Revision: https://reviews.freebsd.org/D4879
|
#
bc7b9300 |
|
21-Dec-2015 |
Ian Lepore <ian@FreeBSD.org> |
Implement OF_decode_addr() for arm. Move most of powerpc's implementation into a new function that other platforms can share. This creates a new ofw_reg_to_paddr() function (in a new ofw_subr.c file) that contains most of the existing ppc implementation, mostly unchanged. The ppc code now calls the new MI code from the MD code, then creates a ppc-specific bus_space mapping from the results. The new arm implementation does the same in an arm-specific way. This also moves the declaration of OF_decode_addr() from ofw_machdep.h to openfirm.h, except on sparc64 which uses a different function signature. This will help all FDT platforms to set up early console access using OF_decode_addr().
|
#
68a71d75 |
|
29-Nov-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add Freescale QorIQ GPIO driver. Still missing interrupt support, to come later. Sponsored by: Alex Perez/Inertial Computing
|
#
5d89896c |
|
17-Nov-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add support for new LAW registers in QorIQ SoCs. QorIQ SoCs (e5500 core, P5 family) have 2 BARs for local access windows, while MPC85XX, and P1/P2 families use only a single BAR register. This also adds the QORIQ_DPAA option, mutually exclusive to MPC85XX, to handle this difference. Obtained from: Semihalf Sponsored by: Alex Perez/Inertial Computing
|
#
3d3e385e |
|
22-Oct-2015 |
Conrad Meyer <cem@FreeBSD.org> |
Add libkern ffsll() for parity with flsll() Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D3962
|
#
67da38c5 |
|
21-Sep-2015 |
Ed Maste <emaste@FreeBSD.org> |
Move kbd.c to main sys/conf/files list It is (optionally) used on all architectures. Sponsored by: The FreeBSD Foundation
|
#
5d6961b0 |
|
26-Aug-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Fix freescale sdhc driver, and add it to the files list. Also, add it to the mmc DRIVER_MODULE attachment list.
|
#
6aabc119 |
|
21-Aug-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Create a RouterBoard platform and use it to create a flash map Summary: The RouterBoard uses a predefined partition map which doesn't exist in the fdt. This change allows overriding the fdt slicer with a custom slicer, and uses this custom slicer to define the flash map on the RouterBoard RB800. D3305 converts the mpc85xx platform into a base class, so that systems based on the mpc85xx platform can add their own overrides. This change builds on D3305, and creates a RouterBoard (RB800) platform to initialize the slicer override. Reviewed By: nwhitehorn, imp Differential Revision: https://reviews.freebsd.org/D3345
|
#
3f3cffed |
|
05-Jul-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Merge booke and aim interrupt.c files. Summary: Both booke and AIM interrupt.c files contain nearly identical code. This merges the two files, to reduce duplication. Reviewers: #powerpc, marcel Reviewed By: marcel Subscribers: imp Differential Revision: https://reviews.freebsd.org/D2991
|
#
4f4d15f0 |
|
10-Jun-2015 |
Ruslan Bukin <br@FreeBSD.org> |
Allow DTrace to be compiled-in to the kernel. This will require for AArch64 as we dont have modules yet. Sponsored by: HEIF5 Sponsored by: ARM Ltd. Differential Revision: https://reviews.freebsd.org/D1997
|
#
809923ca |
|
11-May-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add a PCI bridge for the Freescale PCIe Root Complex Summary: The Freescale PCIe Root Complex shows up as a Processor class device, PowerPC subclass, so the generic PCI code ignores it for a bridge. This adds support for it. As part of this, update the Freescale PCI hostbridge driver, to allow probing beyond the root complex, instead of only allowing "proper" PCI-PCI bridges. Reviewers: #powerpc, marcel, nwhitehorn Reviewed By: nwhitehorn Subscribers: imp Differential Revision: https://reviews.freebsd.org/D2442 Relnotes: yes
|
#
98be38e7 |
|
04-May-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Implement a driver for the PowerPC-base RouterBoard (RB333/600/800/1100) Summary: This has been tested on the RB800, but should work on the RB333, RB600, and RB1100 as well. It's currently missing ECC support, but read and write are complete. Reviewers: imp Reviewed By: imp Subscribers: imp Differential Revision: https://reviews.freebsd.org/D2223
|
#
f23bfc68 |
|
29-Apr-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Also happened to miss this in r282264.
|
#
a7452468 |
|
18-Apr-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Implement hwpmc(4) for Freescale e500 core. This supports e500v1, e500v2, and e500mc. Tested only on e500v2, but the performance counters are identical across all, with e500mc having some additional events. Relnotes: Yes
|
#
c4f9a741 |
|
04-Apr-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add file missed in r281096.
|
#
a616b821 |
|
04-Apr-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Fix whitespace.
|
#
ca54502a |
|
04-Apr-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add mpc85xx_gpio to the build conf. Missed this in the previous commit.
|
#
ecaecbc7 |
|
27-Mar-2015 |
Ian Lepore <ian@FreeBSD.org> |
Make simplebus a base class of ofwbus. This allows the elimination of duplicated code in the two classes, and also allows devices in FDT-based systems to declare simplebus as their parent and still work correctly when the FDT data describes the device at the root of the tree rather than as a child of a simplebus (which is common for interrupt, clock, and power controllers). Differential Revision: https://reviews.freebsd.org/D1990 Submitted by: Michal Meloun
|
#
29d0137a |
|
09-Feb-2015 |
Rui Paulo <rpaulo@FreeBSD.org> |
Remove FreeBSD/wii. This port failed to gain traction and probably only a couple Wii consoles ran FreeBSD all the way to single user mode with an md(4). IPC support was never implemented, so it was impossible to use any peripheral Any further development, if any, will happen at https://github.com/rpaulo/wii. Discussed with: nathanw (a long time ago), jhibbits
|
#
64b83a05 |
|
14-Jan-2015 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add Altivec/VMX register support to ptrace. MFC after: 2 weeks Relnotes: yes
|
#
5cead939 |
|
14-Dec-2014 |
Rui Paulo <rpaulo@FreeBSD.org> |
Move ofw_cpu.c to sys/dev/ofw so that it can be used by other architectures. Differential Revision: https://reviews.freebsd.org/D1307 Reviewed by: jhibbits
|
#
e9152038 |
|
15-Oct-2014 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Move the adm1030 driver to the proper location, and rename it. For compatibility, 'device windtunnel' is still supported, but one should use 'device adm1030' instead, and this has been updated in GENERIC and NOTES.
|
#
c8d2ffd6 |
|
05-Aug-2014 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Merge all MD sf_buf allocators into one MI, residing in kern/subr_sfbuf.c The MD allocators were very common, however there were some minor differencies. These differencies were all consolidated in the MI allocator, under ifdefs. The defines from machine/vmparam.h turn on features required for a particular machine. For details look in the comment in sys/sf_buf.h. As result no MD code left in sys/*/*/vm_machdep.c. Some arches still have machine/sf_buf.h, which is usually quite small. Tested by: glebius (i386), tuexen (arm32), kevlo (arm32) Reviewed by: kib Sponsored by: Netflix Sponsored by: Nginx, Inc.
|
#
49588d0f |
|
10-May-2014 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Move the PS3 framebuffer console to use vt instead of syscons and adjust GENERIC64 for PowerPC to use vt with it. Much to my chagrin, PS3 support seems to have bitrotted somewhat since the last time I tried it. ehci panics on attach and interrupt handling seems to be faulty. This should be fixed soon...
|
#
f25e50cf |
|
14-Feb-2014 |
Andriy Gapon <avg@FreeBSD.org> |
provide fast versions of ffsl and flsl for i386; ffsll and flsll for amd64 Reviewed by: jhb MFC after: 10 days X-MFC note: consider thirdparty modules depending on these symbols Sponsored by: HybridCluster
|
#
65d08437 |
|
05-Feb-2014 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Move Open Firmware device root on PowerPC, ARM, and MIPS systems to a sub-node of nexus (ofwbus) rather than direct attach under nexus. This fixes FDT on x86 and will make coexistence with ACPI on ARM systems easier. SPARC is unchanged. Reviewed by: imp, ian
|
#
c017acc7 |
|
02-Feb-2014 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add driver for the ADT7460/ADT7467 fan controller found in later PowerBooks and iBooks. Original work by andreast. MFC after: 1 month
|
#
169dd953 |
|
31-Jan-2014 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add hwpmc(4) support for the PowerPC 970 class processors, direct events. This also fixes asserts on removal of the module for the mpc74xx. The PowerPC 970 processors have two different types of events: direct events and indirect events. Thus far only direct events are supported. I included some documentation in the driver on how indirect events work, but support is for the future. MFC after: 1 month
|
#
e1c161e7 |
|
30-Jan-2014 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Unbreak non-SMP builds. This was broken by r259284. Also, reorganize the code introduced in that revision a bit. Reviewed by: nwhitehorn MFC after: 3 weeks
|
#
4702d987 |
|
12-Dec-2013 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add PMU-based CPU frequency scaling. This method is used on most Titanium PowerBooks. MFC after: 1 month
|
#
27cf7d04 |
|
05-Dec-2013 |
Aleksandr Rybalko <ray@FreeBSD.org> |
Merge VT(9) project (a.k.a. newcons). Reviewed by: nwhitehorn MFC_to_10_after: re approval Sponsored by: The FreeBSD Foundation
|
#
43fdca95 |
|
05-Dec-2013 |
John Baldwin <jhb@FreeBSD.org> |
Fix debug printfs in FPU_EMU to compile on powerpc64 and enable it for powerpc64. This fixes the LINT64 kernel config. Approved by: nwhitehorn (the idea, not the actual patch)
|
#
49aba28a |
|
01-Dec-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Make uart_cpu_powerpc work on both FDT and OFW systems. This is the last remaining modification required to build kernels that work with both on PowerPC.
|
#
debe4455 |
|
17-Nov-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Split the function of the PCB_FPU flags into two: PCB_FPU now indicates that the actual FPU is enabled, while PCB_FPREGS indicates that the FPU state structure in the PCB is valid. This separation reflects the situation on FPU-less systems in which the FP state is used by the emulator but we don't actually want to try to turn on the non-existant FPU. Use this flag to save and restore FP regs properly on both AIM and Book-E. As a side effect, this sets up hard-FP and Altivec on Book-E CPUs with such abilities except for a trap handler to call enable_fpu()/enable_altivec().
|
#
817ba5c0 |
|
12-Nov-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Following the approach with ACPI DMAR on x86, split IOMMU handling into a variant PCI bus instead of trying to shoehorn it into the PCI host bridge adapter. Besides matching better the architecture on other platforms, this also allows systems with multiple partitionable endpoints per PCI host bridge to work correctly.
|
#
e39c26a9 |
|
11-Nov-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Use the same implementation of copyinout.c for both AIM and Book-E. This fixes some bugs in both implementations related to validity checks on mapping bounds.
|
#
bdac4360 |
|
11-Nov-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Follow up r223485, which made AIM use the ABI thread pointer instead of PCPU fields for curthread, by doing the same to Book-E. This closes some potential races switching between CPUs. As a side effect, it turns out the AIM and Book-E swtch.S implementations were the same to within a few registers, so move that to powerpc/powerpc. MFC after: 3 months
|
#
302acc2e |
|
11-Nov-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Rename the "bare" platform "mpc85xx", which is what it actually is, and add actual platform probing based on PVR. Still needs a little more work: in particular, the CCRS setup should move here. Also turn "bare" into a truly bare platform that doesn't pretend to know how to do anything except get the memory map. This should also be enhanced to process the FDT reserved memory list, but that is for another day.
|
#
629aa519 |
|
11-Nov-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Make tsec work with the device tree present on the RB800. The previous code assumed that the MDIO bus was a direct child of the Ethernet interface. It may not be and indeed on many device trees is not. While here, add proper locking for MII transactions, which may be on a bus shared by several MACs. Hardware donated by: Benjamin Perrault
|
#
178cdf9a |
|
25-Oct-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Convert e500 PCI driver to use common PPC PCI bus glue. No functional changes.
|
#
a8126ae5 |
|
23-Oct-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Factor out MI portions of the PowerPC nexus device into /sys/dev/ofw. The sparc64 driver will be modified to use this shortly.
|
#
17593f86 |
|
22-Oct-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Standards-conformance and code deduplication: - Use bus reference phandles in place of FDT offsets as IRQ domain keys - Unify the identical macio/fdt/mambo OpenPIC drivers into one - Be more forgiving (following ePAPR) about what we need from the device tree to identify an OpenPIC - Correctly map all IRQs into an interrupt domain - Set IRQ_*_CONFORM for interrupts on an unknown PIC type instead of failing attachment for that device.
|
#
e4cf0633 |
|
20-Oct-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Since the PS3 port was committed, the AIM nexus device works perfectly fine on all PowerPC platforms, whether or not they have Open Firmware. Remove some more duplication and have there be only one nexus driver.
|
#
228f09b3 |
|
20-Oct-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Replace the two almost-exactly-identical AIM and Book-E clock.c implementations with a single one after the application of a very small amount of #ifdef.
|
#
1cfdc971 |
|
20-Oct-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Unify the AIM and Book-E vm_machdep.c implementations, which previously differed only with respect to the AIM version not following style(9) and some additional features for 64-bit systems and machines with direct maps in the AIM implementation that are no-ops on Book-E (at least for now).
|
#
757e5b29 |
|
19-Oct-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add initial driver for POWER hypervisor interpartition ethernet. This is sufficient to pass traffic but needs some more work before merging to STABLE.
|
#
4f835517 |
|
02-Oct-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Only build the POWER hypervisor UART driver if device uart is included in the kernel config. Approved by: re (gjb)
|
#
391dff86 |
|
28-Sep-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add driver for the PAPR VSCSI virtual SCSI controller. This lets FreeBSD install directly into standard POWER LPARs, as found for example in QEMU. The core of this device is the SCSI RDMA protocol as also found in Infiniband. The SRP portions of the driver will be factored out and placed /sys/cam in the future to allow them to be used for IB storage. Thanks to Scott Long for a great deal of implementation help. Reviewed by: scottl Approved by: re (kib)
|
#
7a8d25c0 |
|
17-Sep-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Merge in support for PAPR-compliant (Power Architecture Platform Requirements) systems from the projects/pseries branch. This in principle includes all IBM POWER hardware released in the last 15 years with the exception of POWER3-based systems when run in 64-bit mode. The main development target, however, has been the PAPR logical partition support that is the default target in KVM on POWER and QEMU -- mileage may vary on actual hardware at present. Much of the heavy lifting here was done by Andreas Tobler. Approved by: re (kib)
|
#
98fa0351 |
|
05-Sep-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Fix build.
|
#
237abf0c |
|
28-Jun-2013 |
Davide Italiano <davide@FreeBSD.org> |
- Trim an unused and bogus Makefile for mount_smbfs. - Reconnect with some minor modifications, in particular now selsocket() internals are adapted to use sbintime units after recent'ish calloutng switch.
|
#
cb34ed44 |
|
20-May-2013 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add basic support for FDT to i386 & amd64. This change includes: 1. Common headers for fdt.h and ofw_machdep.h under x86/include with indirections under i386/include and amd64/include. 2. New modinfo for loader provided FDT blob. 3. Common x86_init_fdt() called from hammer_time() on amd64 and init386() on i386. 4. Split-off FDT specific low-level console functions from FDT bus methods for the uart(4) driver. The low-level console logic has been moved to uart_cpu_fdt.c and is used for arm, mips & powerpc only. The FDT bus methods are shared across all architectures. 5. Add dev/fdt/fdt_x86.c to hold the fdt_fixup_table[] and the fdt_pic_table[] arrays. Both are empty right now. FDT addresses are I/O ports on x86. Since the core FDT code does not handle different address spaces, adding support for both I/O ports and memory addresses requires some thought and discussion. It may be better to use a compile-time option that controls this. Obtained from: Juniper Networks, Inc.
|
#
b3caab66 |
|
30-Apr-2013 |
Brooks Davis <brooks@FreeBSD.org> |
MFP4 changes 222065 and 222068: Add a simplebus attachment for cfi(4)'s FDT support and move cfi_bus_fdt.c to sys/conf/files so non-ppc architectures are supported. Sponsored by: DARPA, AFRL
|
#
61e642bc |
|
23-Apr-2013 |
Rui Paulo <rpaulo@FreeBSD.org> |
wiigpio depends on options WII.
|
#
d3576a3f |
|
03-Nov-2012 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add the bus attachment for the embedded EHCI HC.
|
#
e3cdd5e1 |
|
24-Oct-2012 |
Warner Losh <imp@FreeBSD.org> |
Hoist the MI compat_freebsd32 files up into files from files.*.
|
#
5d26cae7 |
|
24-Oct-2012 |
Warner Losh <imp@FreeBSD.org> |
Move common fdt into files. Duplicate in files.powerpc the files shared with aim. Config is smart enough to cope with multiple lines of the same path with different options. This reduces the needless duplication.
|
#
915f83e6 |
|
21-Oct-2012 |
Rui Paulo <rpaulo@FreeBSD.org> |
Make the Wii GPIO driver a separate device.
|
#
2e564269 |
|
17-Oct-2012 |
Attilio Rao <attilio@FreeBSD.org> |
Disconnect non-MPSAFE SMBFS from the build in preparation for dropping GIANT from VFS. In addition, disconnect also netsmb, which is a base requirement for SMBFS. In the while SMBFS regular users can use FUSE interface and smbnetfs port to work with their SMBFS partitions. Also, there are ongoing efforts by vendor to support in-kernel smbfs, so there are good chances that it will get relinked once properly locked. This is not targeted for MFC.
|
#
31ec0f7a |
|
21-Aug-2012 |
Adrian Chadd <adrian@FreeBSD.org> |
Initial support for running FreeBSD on the Nintendo Wii. We're able to reach single user mode using a memory disk device as the file system. This port includes the framebuffer driver, the PIC driver, a platform driver and the GPIO driver. The IPC driver (to talk to IOS kernels) is not yet written but there's a placeholder for it. There are still some MMU problems and to get a working system you need to patch locore32.S. Since we haven't found the best way yet to address that problem, we're not committing those changes yet. The problem is related to the different BAT layout on the Wii and to the fact that the Homebrew loader doesn't clean up the special registers (including the 8 BATs) before passing control to us. You'll need a Wii with Homebrew loader and a TV that can do NTSC (for now). Submitted by: Margarida Gouveia
|
#
9c3fbfbd |
|
19-Aug-2012 |
Andreas Tobler <andreast@FreeBSD.org> |
Add a new sound driver for PowerMacs, found here on my Quad G5. It allows simple playback and volume control like the other Mac drivers, not more.
|
#
a894f6a0 |
|
19-Aug-2012 |
Andreas Tobler <andreast@FreeBSD.org> |
Add a new temperature driver for certain PowerMacs. Found here on my Quad G5.
|
#
d0ec68d4 |
|
03-Aug-2012 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add backlight support for nVidia-based PowerBooks/iBooks/iMacs. Approved by: nwhitehorn (mentor) MFC after: 9.1-RELEASE
|
#
7c45c9e4 |
|
02-Jul-2012 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add a driver for the Freescale FCM module in the localbus controller. This driver does not yet handle multiple chip selects properly. Note that the NAND infrastructure does not perform full page reads or writes, which means that this driver cannot make use of the hardware ECC that is otherwise present.
|
#
aea81038 |
|
22-Jun-2012 |
Konstantin Belousov <kib@FreeBSD.org> |
Implement mechanism to export some kernel timekeeping data to usermode, using shared page. The structures and functions have vdso prefix, to indicate the intended location of the code in some future. The versioned per-algorithm data is exported in the format of struct vdso_timehands, which mostly repeats the content of in-kernel struct timehands. Usermode reading of the structure can be lockless. Compatibility export for 32bit processes on 64bit host is also provided. Kernel also provides usermode with indication about currently used timecounter, so that libc can fall back to syscall if configured timecounter is unknown to usermode code. The shared data updates are initiated both from the tc_windup(), where a fast task is queued to do the update, and from sysctl handlers which change timecounter. A manual override switch kern.timecounter.fast_gettime allows to turn off the mechanism. Only x86 architectures export the real algorithm data, and there, only for tsc timecounter. HPET counters page could be exported as well, but I prefer to not further glue the kernel and libc ABI there until proper vdso-based solution is developed. Minimal stubs neccessary for non-x86 architectures to still compile are provided. Discussed with: bde Reviewed by: jhb Tested by: flo MFC after: 1 month
|
#
aa6bc7dc |
|
30-May-2012 |
Rafal Jaworowski <raj@FreeBSD.org> |
Extract vendor specific Book-E pieces into separate files and have a common skeleton (maybe we should kobj-tize this one day). Note the PPC4xx bit is not connected to the build yet. Obtained from: AppliedMicro, Semihalf.
|
#
17f4cae4 |
|
27-May-2012 |
Rafal Jaworowski <raj@FreeBSD.org> |
Let us manage differences of Book-E PowerPC variations i.e. vendor / implementation specific vs. the common architecture definition. Bring PPC4XX defines (PSL, SPR, TLB). Note the new definitions under BOOKE_PPC4XX are not used in the code yet. This change set is not supposed to affect existing E500 support, it's just another reorg step before bringing support for E500mc, E5500 and PPC465. Obtained from: AppliedMicro, Freescale, Semihalf
|
#
0a67fa33 |
|
26-May-2012 |
Rafal Jaworowski <raj@FreeBSD.org> |
Move OpenPIC FDT bus glue to a shared location, so that other PowerPC platforms can use it, not only MPC85XX. This is just reorg, no functional changes.
|
#
a1f8f448 |
|
22-Apr-2012 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Remove dead code. The routines in atomic.S did not work properly anyway, and were everywhere unused. If we turn out to need them, they should be reimplemented. MFC after: 2 weeks
|
#
88c7c434 |
|
27-Mar-2012 |
Peter Wemm <peter@FreeBSD.org> |
Allow (with a license warning) "options ZFS" to work in static kernels. The 'make depend' rules have to use custom -I paths for the special compat includes for the opensolaris/zfs headers. This option will pull in the couple of files that are shared with dtrace, but they appear to correctly use the MODULE_VERSION/MODULE_DEPEND rules so loader should do the right thing, as should kldload. Reviewed by: pjd (glanced at)
|
#
3cc28bd9 |
|
26-Feb-2012 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add backlight control to ATI-graphics PowerBooks and iBooks. Approved by: nwhitehorn (mentor) MFC after: 1 week
|
#
b490f4d7 |
|
04-Feb-2012 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Missed file in r230993.
|
#
b6faf3cf |
|
16-Oct-2011 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add support for special keys (volume/brightness/eject) on Apple laptops with ADB keyboards. Submitted by: Justin Hibbits <jrh29 at alumni dot cwru dot edu> MFC after: 9.0-RELEASE
|
#
9f2c359f |
|
13-Aug-2011 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add support for the Blu-Ray drive found in the Sony Playstation 3 and fix some realted minor bugs in PS3 internal storage support. Submitted by: glevand <geoffrey.levand@mail.ru> Approved by: re (bz)
|
#
9ba8a927 |
|
19-Jun-2011 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add an OHCI driver to complement the EHCI one. The infrastructure to attach both to the parent ps3bus was in r223313. This driver itself comes from the ps3 project branch.
|
#
0d317057 |
|
19-Jun-2011 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Driver for PS3's internal hard disk. Hopefully this can be CAM-ified in the future, but presents a set of simple block devices for now. With (forthcoming) boot loader support or vfs.root.mountfrom, allows booting PS3s from disk. Submitted by: glevand <geoffrey.levand@mail.ru>
|
#
03c6aeca |
|
04-Jun-2011 |
Andreas Tobler <andreast@FreeBSD.org> |
Add new fan controller driver for the G4 MDD PowerMac. Submitted and tested by Justin Hibbits. Approved by: nwhitehorn (mentor)
|
#
0d7136ba |
|
02-Jun-2011 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Missed file in r222613.
|
#
d188174a |
|
29-May-2011 |
Andreas Tobler <andreast@FreeBSD.org> |
Add a new driver, the ad7417, to read temperatures and voltages on some PowerMac's. Approved by: nwhitehorn (mentor)
|
#
84d77676 |
|
28-May-2011 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Factor out the SMU fan management code into a new module (powermac_thermal) that will connect all of the various sensors and fan control modules on Apple hardware with software-controlled fans (e.g. all G5 systems). MFC after: 1 month
|
#
70df4233 |
|
19-Apr-2011 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Compile in in_cksum* implementations for both IPv6 and IPv6. While in_pseudo() etc. is often used in offloading feature support, in_cksum() is mostly used to fix some broken hardware. Keeping both around for the moment allows us to compile NIC drivers even in an IPv6 only environment without the need to mangle them with #ifdef INETs in a way they are not prepared for. This will leave some dead code paths that will not be exercised for IPv6. Reviewed by: gnn Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC after: 3 days
|
#
2fea6431 |
|
17-Jan-2011 |
Jung-uk Kim <jkim@FreeBSD.org> |
Add reader/writer lock around mem_range_attr_get() and mem_range_attr_set(). Compile sys/dev/mem/memutil.c for all supported platforms and remove now unnecessary dev_mem_md_init(). Consistently define mem_range_softc from mem.c for all platforms. Add missing #include guards for machine/memdev.h and sys/memrange.h. Clean up some nearby style(9) nits. MFC after: 1 month
|
#
03479763 |
|
05-Jan-2011 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Import support for the Sony Playstation 3 using the OtherOS feature available on firmwares 3.15 and earlier. Caveats: Support for the internal SATA controller is currently missing, as is support for framebuffer resolutions other than 720x480. These deficiencies will be remedied soon. Special thanks to Peter Grehan for providing the hardware that made this port possible, and thanks to Geoff Levand of Sony Computer Entertainment for advice on the LV1 hypervisor.
|
#
bef5da7f |
|
03-Dec-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add an abstraction layer to the 64-bit AIM MMU's page table manipulation logic to support modifying the page table through a hypervisor. This uses KOBJ inheritance to provide subclasses of the base 64-bit AIM MMU class with additional methods for page table manipulation. Many thanks to Peter Grehan for suggesting this design and implementing the MMU KOBJ inheritance mechanism.
|
#
e2326639 |
|
03-Dec-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Provide a simple IOMMU framework on PowerPC, which is required to support PPC hypervisors.
|
#
fe3b4685 |
|
11-Nov-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Remove use of a separate ofw_pmap on 32-bit CPUs. Many Open Firmware mappings need to end up in the kernel anyway since the kernel begins executing in OF context. Separating them adds needless complexity, especially since the powerpc64 and mmu_oea64 code gave up on it a long time ago. As a side effect, the PPC ofw_machdep code is no longer AIM-specific, so move it to powerpc/ofw.
|
#
50fd2a5b |
|
31-Oct-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add a driver for the Apple Uninorth AGP host bridge found in all PowerPC Macintoshes with an AGP bus.
|
#
a7d5f7eb |
|
19-Oct-2010 |
Jamie Gritton <jamie@FreeBSD.org> |
A new jail(8) with a configuration file, to replace the work currently done by /etc/rc.d/jail.
|
#
da89fa28 |
|
15-Oct-2010 |
Andreas Tobler <andreast@FreeBSD.org> |
Add three new drivers for fan control and temperature reading on the PowerMac7,2. - The fcu driver lets us read and write the fan RPMs for all fans in the PowerMac7,2. This driver is PowerMac specific. - The ds1775 is a driver to read the temperature for the drive bay sensor. - The max6690 is another driver to read temperatures. Here it is used to read the inlet, the backside and the U3 heatsink temperature. An additional driver, the ad7417, will follow later. Thanks to nwhitehorn for guiding me through this driver development. Approved by: nwhitehorn (mentor)
|
#
eecadc70 |
|
03-Oct-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add a memory-range interface to /dev/mem on PowerPC using PAT attributes. Unlike actual MTRR, this only controls the mapping attributes for subsequent mmap() of /dev/mem. Nonetheless, the support is sufficiently MTRR-like that Xorg can use it, which translates into an enormous increase in graphics performance on PowerPC. MFC after: 2 weeks
|
#
707c2fb9 |
|
10-Sep-2010 |
Alexander Motin <mav@FreeBSD.org> |
Update PowerPC event timer code to use new event timers infrastructure. Reviewed by: nwitehorn Tested by: andreast H/W donated by: Gheorghe Ardelean
|
#
b2a237be |
|
31-Aug-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Restructure how reset and poweroff are handled on PowerPC systems, since the existing code was very platform specific, and broken for SMP systems trying to reboot from KDB. - Add a new PLATFORM_RESET() method to the platform KOBJ interface, and migrate existing reset functions into platform modules. - Modify the OF_reboot() routine to submit the request by hand to avoid the IPIs involved in the regular openfirmware() routine. This fixes reboot from KDB on SMP machines. - Move non-KDB reset and poweroff functions on the Powermac platform into the relevant power control drivers (cuda, pmu, smu), instead of using them through the Open Firmware backdoor. - Rename platform_chrp to platform_powermac since it has become increasingly Powermac specific. When we gain support for IBM systems, we will grow a new platform_chrp.
|
#
895051e3 |
|
19-Aug-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
FPU EMU is 32-bit only for now, so mark it as a powerpc-only feature. This fixes powerpc64 LINT.
|
#
2c16c8d7 |
|
31-Jul-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add support for the IBM Full-System Simulator (Mambo). This code has been developed against the 970 and Cell simulators.
|
#
c3e289e1 |
|
12-Jul-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
MFppc64: Kernel sources for 64-bit PowerPC, along with build-system changes to keep 32-bit kernels compiling (build system changes for 64-bit kernels are coming later). Existing 32-bit PowerPC kernel configurations must be updated after this change to specify their architecture.
|
#
cc81c44d |
|
12-Jul-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Unify ABI-related bits of the Book-E and AIM machdep routines (exec_setregs, etc.) in order to simplify the addition of 64-bit support, and possible future extension of the Book-E code to handle hard floating point and Altivec. MFC after: 1 month
|
#
d1d3233e |
|
11-Jul-2010 |
Rafal Jaworowski <raj@FreeBSD.org> |
Convert Freescale PowerPC platforms to FDT convention. 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
|
#
9efb0787 |
|
05-Jun-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add a driver for the CPU temperature sensors attached over I2C on the PowerMac 11,2.
|
#
502a50e4 |
|
22-May-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
MFC r208149,208285: Add support for the U4 PCI-Express bridge chipset used in late-generation Powermac G5 systems. MSI and several other things are not presently supported. The U3/U4 internal device support portions of this change were contributed by Andreas Tobler.
|
#
ca2c1931 |
|
16-May-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add support for the U4 PCI-Express bridge chipset used in late-generation Powermac G5 systems. MSI and several other things are not presently supported. The U3/U4 internal device support portions of this change were contributed by Andreas Tobler. MFC after: 1 week
|
#
9b934d09 |
|
03-Sep-2009 |
Ed Schouten <ed@FreeBSD.org> |
Move libteken out of the syscons directory. I initially committed libteken to sys/dev/syscons/teken, but now that I'm working on a console driver myself, I noticed this was not a good decision. Move it to sys/teken to make it easier for other drivers to use a terminal emulator. Also list teken.c in sys/conf/files, instead of listing it in all the files.arch files separately.
|
#
1016f143 |
|
22-Jun-2009 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add cpufreq support on the PowerPC G5, along with a skeleton SMU driver in order to slew CPU voltage during frequency changes. The OpenBSD SMU driver was an extremely helpful reference for this.
|
#
f2396192 |
|
22-Jun-2009 |
Rafal Jaworowski <raj@FreeBSD.org> |
Keep file list sorted.
|
#
f07ef6e4 |
|
22-Jun-2009 |
Rafal Jaworowski <raj@FreeBSD.org> |
DS1553 RTC module driver. On the MPC8555CDS system it hangs off of the LBC bus. Obtained from: Semihalf
|
#
757cb6db |
|
22-Jun-2009 |
Rafal Jaworowski <raj@FreeBSD.org> |
Integrated I2C controller driver (found in MPC85xx and other SOC parts). Obtained from: Freescale, Semihalf
|
#
02b553ca |
|
06-Jun-2009 |
Rafal Jaworowski <raj@FreeBSD.org> |
Initial version of the sec(4) driver for the integrated security engine found in Freescale system-on-chip devices. The following algorithms and schemes are currently supported: - 3DES, AES, DES - MD5, SHA1, SHA256, SHA384, SHA512 Reviewed by: philip Obtained from: Freescale, Semihalf
|
#
9eb9db93 |
|
31-May-2009 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Introduce support for cpufreq on PowerPC with the dynamic frequency switching capabilities of the MPC7447A and MPC7448.
|
#
28bb01e5 |
|
21-May-2009 |
Rafal Jaworowski <raj@FreeBSD.org> |
Initial support for SMP on PowerPC MPC85xx. Tested with Freescale dual-core MPC8572DS development system. Obtained from: Freescale, Semihalf
|
#
b40ce02a |
|
13-May-2009 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Factor out platform dependent things unrelated to device drivers into a new platform module. These are probed in early boot, and have the responsibility of determining the layout of physical memory, determining the CPU timebase frequency, and handling the zoo of SMP mechanisms found on PowerPC. Reviewed by: marcel, raj Book-E parts by: raj
|
#
ac741ae5 |
|
23-Apr-2009 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add suppport for ISA and ISA interrupts to make the ATA controller in the VIA southbridge functional in the CDS (Configurable Development System) for MPC85XX. The embedded USB controllers look operational but the interrupt steering is still wrong.
|
#
8446b206 |
|
05-Apr-2009 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add an Open Firmware access module for real-mode OF accesses to the PowerPC build. This is required for the IBM Mambo simulator, as well as a variety of non-Apple PowerPC hardware.
|
#
7bf5cfed |
|
04-Apr-2009 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Modularize the Macintosh built-in ATA along the lines of the rest of the ATA system as an optional atamacio device. PR: powerpc/133161 Submitted by: Bruce Cran
|
#
27457a80 |
|
03-Apr-2009 |
Marcel Moolenaar <marcel@FreeBSD.org> |
PowerPC, meet kernel core dumps. The support is based on a generic dumper that creates an ELF core file and uses PMAP functions to scan and iterate over memory chunks, as well as handle memory mappings used during dumping. the PMAP layer can choose to return physical memory chunks or virtual memory chunks. For minidumps, the chunks should be virtual. The default MMU I/F implementation for the scan_md() method returns NULL. Thus, when a PMAP implementation does not implement the required methods, an empty core file is created. Here, empty means having an ELF header only. Obtained from: Juniper Networks
|
#
1c96bdd1 |
|
03-Apr-2009 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add support for 64-bit PowerPC CPUs operating in the 64-bit bridge mode provided, for example, on the PowerPC 970 (G5), as well as on related CPUs like the POWER3 and POWER4. This also adds support for various built-in hardware found on Apple G5 hardware (e.g. the IBM CPC925 northbridge). Reviewed by: grehan
|
#
802cb57e |
|
28-Feb-2009 |
Ed Schouten <ed@FreeBSD.org> |
Add memmove() to the kernel, making the kernel compile with Clang. When copying big structures, LLVM generates calls to memmove(), because it may not be able to figure out whether structures overlap. This caused linker errors to occur. memmove() is now implemented using bcopy(). Ideally it would be the other way around, but that can be solved in the future. On ARM we don't do add anything, because it already has memmove(). Discussed on: arch@ Reviewed by: rdivacky
|
#
cd7a30c4 |
|
20-Feb-2009 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Include altivec.c, missed on previous commit r188860. This should unbreak the build.
|
#
8486eb86 |
|
25-Jan-2009 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add support for the I2S and davbus audio controllers found in Apple PowerPC hardware. Submitted by: Marco Trillo
|
#
a9cade51 |
|
14-Jan-2009 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Driver for Apple Keywest I2C controllers found in MacIO ASICs. Used for power and thermal control, as well as GPIOs on Xserves and controlling sound codecs for Apple built-in audio. Submitted by: Marco Trillo Obtained from: NetBSD
|
#
3bb481ff |
|
14-Jan-2009 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Import an Open Firmware I2C bus module. This attaches firmware device tree indicated I2C devices, and provides an ofw_bus interface for driver probing. This should be MI, but is currently provided only on PowerPC due to lack of sparc64 hardware with an I2C controller. Discussed on: freebsd-arch
|
#
b2b734e7 |
|
13-Jan-2009 |
Rafal Jaworowski <raj@FreeBSD.org> |
Rework BookE pmap towards multi-core support. o Eliminate tlb0[] (a s/w copy of TLB0) - The table contents cannot be maintained reliably in multiple MMU environments, where asynchronous events (invalidations from other cores) can change our local TLB0 contents underneath. - Simplify and optimize TLB flushing: system wide invalidations are performed using tlbivax instruction (propagates to other cores), for local MMU invalidations a new optimized routine (assembly) is introduced. o Improve and simplify TID allocation and management. - Let each core keep track of its TID allocations. - Simplify TID recycling, eliminate dead code. - Drop the now unused powerpc/booke/support.S file. o Improve page tables management logic. o Simplify TLB1 manipulation routines. o Other improvements and polishing. Obtained from: Freescale, Semihalf
|
#
b4b1c516 |
|
01-Jan-2009 |
Ed Schouten <ed@FreeBSD.org> |
Replace syscons terminal renderer by a new renderer that uses libteken. Some time ago I started working on a library called libteken, which is terminal emulator. It does not buffer any screen contents, but only keeps terminal state, such as cursor position, attributes, etc. It should implement all escape sequences that are implemented by the cons25 terminal emulator, but also a fair amount of sequences that are present in VT100 and xterm. A lot of random notes, which could be of interest to users/developers: - Even though I'm leaving the terminal type set to `cons25', users can do experiments with placing `xterm-color' in /etc/ttys. Because we only implement a subset of features of xterm, this may cause artifacts. We should consider extending libteken, because in my opinion xterm is the way to go. Some missing features: - Keypad application mode (DECKPAM) - Character sets (SCS) - libteken is filled with a fair amount of assertions, but unfortunately we cannot go into the debugger anymore if we fail them. I've done development of this library almost entirely in userspace. In sys/dev/syscons/teken there are two applications that can be helpful when debugging the code: - teken_demo: a terminal emulator that can be started from a regular xterm that emulates a terminal using libteken. This application can be very useful to debug any rendering issues. - teken_stress: a stress testing application that emulates random terminal output. libteken has literally survived multiple terabytes of random input. - libteken also includes support for UTF-8, but unfortunately our input layer and font renderer don't support this. If users want to experiment with UTF-8 support, they can enable `TEKEN_UTF8' in teken.h. If you recompile your kernel or the teken_demo application, you can hold some nice experiments. - I've left PC98 the way it is right now. The PC98 platform has a custom syscons renderer, which supports some form of localised input. Maybe we should port PC98 to libteken by the time syscons supports UTF-8? - I've removed the `dumb' terminal emulator. It has been broken for years. It hasn't survived the `struct proc' -> `struct thread' conversion. - To prevent confusion among people that want to hack on libteken: unlike syscons, the state machines that parse the escape sequences are machine generated. This means that if you want to add new escape sequences, you have to add an entry to the `sequences' file. This will cause new entries to be added to `teken_state.h'. - Any rendering artifacts that didn't occur prior to this commit are by accident. They should be reported to me, so I can fix them. Discussed on: current@, hackers@ Discussed with: philip (at 25C3)
|
#
91416fb2 |
|
19-Dec-2008 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Modularize the Open Firmware client interface to allow run-time switching of OFW access semantics, in order to allow future support for real-mode OF access and flattened device frees. OF client interface modules are implemented using KOBJ, in a similar way to the PPC PMAP modules. Because we need Open Firmware to be available before mutexes can be used on sparc64, changes are also included to allow KOBJ to be used very early in the boot process by only using the mutex once we know it has been initialized. Reviewed by: marius, grehan
|
#
33644623 |
|
01-Dec-2008 |
Sam Leffler <sam@FreeBSD.org> |
Switch to ath hal source code. Note this removes the ath_hal module; the ath module now brings in the hal support. Kernel config files are almost backwards compatible; supplying device ath_hal gives you the same chip support that the binary hal did but you must also include options AH_SUPPORT_AR5416 to enable the extended format descriptors used by 11n parts. It is now possible to control the chip support included in a build by specifying exactly which chips are to be supported in the config file; consult ath_hal(4) for information.
|
#
b4dbc599 |
|
26-Oct-2008 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add ADB support. This provides support for the external ADB bus on the PowerMac G3 as well as the internal ADB keyboard and mice in PowerBooks and iBooks. This also brings in Mac GPIO support, for which we should eventually have a better interface. Obtained from: NetBSD (CUDA and PMU drivers)
|
#
e00251b7 |
|
25-Oct-2008 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add a driver for flash memory that implements to the Common Flash Memory Interface (CFI). The flash memory can be read and written to through /dev/cfi# and an ioctl() exists so processes can read the query information. The driver supports the AMD and Intel command set, though only the AMD command has been tested. Obtained from: Juniper Networks, Inc.
|
#
08077f58 |
|
25-Oct-2008 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add a driver for the Local Bus Controller. Obtained from: Juniper Networks, Inc.
|
#
d7f03759 |
|
19-Oct-2008 |
Ulf Lilleengen <lulf@FreeBSD.org> |
- Import the HEAD csup code which is the basis for the cvsmode work.
|
#
51d163d3 |
|
14-Oct-2008 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Convert PowerPC AIM PCI and nexus busses to standard OFW bus interface. This simplifies certain device attachments (Kauai ATA, for instance), and makes possible others on new hardware. On G5 systems, there are several otherwise standard PCI devices (Serverworks SATA) that will not allow their interrupt properties to be written, so this information must be supplied directly from Open Firmware. Obtained from: sparc64
|
#
b7382e09 |
|
27-Sep-2008 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Add DMA support for Apple built-in ATA controllers. Tested by: grehan, marcotrillo@gmail.com MFC after: 1 month
|
#
321e12c8 |
|
26-Aug-2008 |
Rafal Jaworowski <raj@FreeBSD.org> |
tsec: Refactor driver's structure. Split the driver into the core functionality part (sys/dev/tsec/if_tsec.c) and the bus attachment (sys/dev/tsec/if_tsec_ocp.c). This lets better integrate and maintain the driver in other environments with different attachment abstractions (there is at least one other FreeBSD port -- MPC83xx -- which uses this TSEC driver, but with different local bus model i.e. some OF derivative). While there, clean up and fix minor cosmetics. Obtained from: Semihalf
|
#
cf99524a |
|
07-Jun-2008 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add support for the Apple Big Mac (BMAC) Ethernet controller, found on various Apple G3 models. Submitted by: Nathan Whitehorn
|
#
7d8ccad7 |
|
07-Jun-2008 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add support for Apple's Descriptor-Based DMA (DBDMA) engine. The DMA engine is usful to various existing drivers, such as ata(4) and scc(4), and is used bhy the soon to be added bm(4). Submitted by: Nathan Whitehorn
|
#
1c17588f |
|
29-Apr-2008 |
Marcel Moolenaar <marcel@FreeBSD.org> |
mp_machdep.c is only conditional upon smp, not aim. If booke grows support for smp, mp_machdep.c needs to be included as well.
|
#
12640815 |
|
27-Apr-2008 |
Marcel Moolenaar <marcel@FreeBSD.org> |
MFp4: SMP support
|
#
a1cd472a |
|
26-Apr-2008 |
Rafal Jaworowski <raj@FreeBSD.org> |
Introduce a dedicated file for MPC85xx-specific routines. Move cpu_reset() there, as it's not relevant to Book-E specification, but is an implementation detail, directly dependent on the given SoC version.
|
#
321578e3 |
|
03-Mar-2008 |
Rafal Jaworowski <raj@FreeBSD.org> |
Connect MPC85XX to the PowerPC build. The kernel config file is KERNCONF=MPC85XX, so the usual procedure applies: 1. make buildworld TARGET_ARCH=powerpc 2. make buildkernel TARGET_ARCH=powerpc TARGET_CPUTYPE=e500 KERNCONF=MPC85XX This default config uses kernel-level FPU emulation. For the soft-float world approach: 1. make buildworld TARGET_ARCH=powerpc TARGET_CPUTYPE=e500 2. disable FPU_EMU option in sys/powerpc/conf/MPC85XX 3. make buildkernel TARGET_ARCH=powerpc TARGET_CPUTYPE=e500 KERNCONF=MPC85XX Approved by: cognet (mentor) MFp4: e500
|
#
4bbf0886 |
|
23-Feb-2008 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Hook-up the FPU emulator. It's optional upon FPU_EMU.
|
#
104954fe |
|
30-Jan-2008 |
Peter Grehan <grehan@FreeBSD.org> |
Enable ofwdump on powerpc (finally). Tested on G3 & G4 machines. Submitted by: Dan Stekloff <dsteklof at c i s c o dot com> Discussed with: marcel
|
#
de2fa7b8 |
|
19-Dec-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Redefine bus_space_tag_t on PowerPC from a 32-bit integral to a pointer to struct bus_space. The structure contains function pointers that do the actual bus space access. The reason for this change is that previously all bus space accesses were little endian (i.e. had an explicit byte-swap for multi-byte accesses), because all busses on Macs are little endian. The upcoming support for Book E, and in particular the E500 core, requires support for big-endian busses because all embedded peripherals are in the native byte-order. With this change, there's no distinction between I/O port space and memory mapped I/O. PowerPC doesn't have I/O port space. Busses assign tags based on the byte-order only. For that purpose, two global structures exist (bs_be_tag and bs_le_tag), of which the address can be taken to get a valid tag. Obtained from: Juniper, Semihalf
|
#
bd71bd37 |
|
15-Dec-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Make files under src/sys/powerpc/aim, as well as Open Firmware related files dependent upon option/cpu AIM. This is in preparation of adding support for Book-E (e500) support. Obtained from: Juniper, Semihalf
|
#
dd3456c0 |
|
14-Dec-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Sort.
|
#
47abecea |
|
14-Dec-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Update file list after repocopying select files from src/sys/powerpc/powerpc to src/sys/powerpc/aim.
|
#
3c90d1ea |
|
02-Dec-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson)
|
#
a9d185b2 |
|
25-Oct-2007 |
David E. O'Brien <obrien@FreeBSD.org> |
Align.
|
#
b2630c29 |
|
02-Jul-2007 |
George V. Neville-Neil <gnn@FreeBSD.org> |
Commit the change from FAST_IPSEC to IPSEC. The FAST_IPSEC option is now deprecated, as well as the KAME IPsec code. What was FAST_IPSEC is now IPSEC. Approved by: re Sponsored by: Secure Computing
|
#
9f94082e |
|
06-Apr-2007 |
Yoshihiro Takahashi <nyan@FreeBSD.org> |
sort.
|
#
89c40e5f |
|
05-Apr-2007 |
Alexander Kabaev <kan@FreeBSD.org> |
Be more conservative and compile libkern/memset.c only on architectures than need it. These are i386, amd64 and powerpc so far.
|
#
1d3aed33 |
|
07-Feb-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Evolve the ctlreq interface added to geom_gpt into a generic partitioning class that supports multiple schemes. Current schemes supported are APM (Apple Partition Map) and GPT. Change all GEOM_APPLE anf GEOM_GPT options into GEOM_PART_APM and GEOM_PART_GPT (resp). The ctlreq interface supports verbs to create and destroy partitioning schemes on a disk; to add, delete and modify partitions; and to commit or undo changes made.
|
#
2c298b17 |
|
17-Dec-2006 |
Matt Jacob <mjacob@FreeBSD.org> |
opt_ah.h ends up copied into a kernelcompile directory in some aches as a read-only file. In a number of cases this has led to compiles failing- usually due to some strange NFS drift which thinks that the opt_ah.h in the compile directory is out of date wrt the source it is copied from. When the copy is executed again, it fails because the target is read-only. Oops. Modify the compile hooks avoid this. Discussed with a while back with: Sam Leffler
|
#
663cf7fe |
|
23-Oct-2006 |
Ruslan Ermilov <ru@FreeBSD.org> |
Move MI parts of syscons into MI "files".
|
#
9302d5e0 |
|
24-Aug-2006 |
Peter Grehan <grehan@FreeBSD.org> |
Remove file that snuck in accidentally in Marcel's gdb commit.
|
#
512b2fb1 |
|
24-Aug-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add skeletal support for GDB. In particular gdb_cpu_getreg() needs implementing to make GDB support usable.
|
#
e5d34218 |
|
01-Aug-2006 |
Maxim Sobolev <sobomax@FreeBSD.org> |
Add device to access and modify Open Firmware NVRAM settings in PowerPC-based Apple's machines and small utility to do it from userland modelled after the similar utility in Darwin/OSX. Only tested on 1.25GHz G4 Mac Mini. MFC after: 1 month
|
#
b895d145 |
|
26-Jul-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Remove zs(4). It has been replaced by scc(4) & uart(4).
|
#
cd320bc9 |
|
26-Jul-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Replace sio_iobus.c with uart_iobus.c.
|
#
1773f778 |
|
08-Jun-2006 |
Sam Leffler <sam@FreeBSD.org> |
add glue for ath_hal MFC after: 1 month
|
#
d94607de |
|
24-Apr-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Revert previous commit. It's not part of the ppc(4) changes.
|
#
cea4d875 |
|
24-Apr-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
o Move ISA specific code from ppc.c to ppc_isa.c -- a bus front- end for isa(4). o Add a seperate bus frontend for acpi(4) and allow ISA DMA for it when ISA is configured in the kernel. This allows acpi(4) attachments in non-ISA configurations, as is possible for ia64. o Add a seperate bus frontend for pci(4) and detect known single port parallel cards. o Merge PC98 specific changes under pc98/cbus into the MI driver. The changes are minor enough for conditional compilation and in this form invites better abstraction. o Have ppc(4) usabled on all platforms, now that ISA specifics are untangled enough.
|
#
2825701d |
|
31-Mar-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add the MacIO attachment for scc(4).
|
#
ce8f0013 |
|
30-Mar-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Allow uart(4) to be built on PowerPC.
|
#
8d96e455 |
|
05-Mar-2006 |
Yaroslav Tykhiy <ytykhiy@gmail.com> |
Retire NETSMBCRYPTO as a kernel option and make its functionality enabled by default in NETSMB and smbfs.ko. With the most of modern SMB providers requiring encryption by default, there is little sense left in keeping the crypto part of NETSMB optional at the build time. This will also return smbfs.ko to its former properties users are rather accustomed to. Discussed with: freebsd-stable, re (scottl) Not objected by: bp, tjr (silence) MFC after: 5 days
|
#
a8e06f2a |
|
27-Nov-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
Make config(8) understand ORed dependecies in "files*" and improve tracking of known devices. Bump config(8) version.
|
#
d03dab65 |
|
22-Nov-2005 |
Marius Strobl <marius@FreeBSD.org> |
Move zs.c from files to files.powerpc as zs(4) by now is only supported on powerpc (more or less...). That way people updating from FreeBSD 5 to FreeBSD 6 and beyond on sparc64 will get an error from config(8) rather than a mysterious compile error when they have a stale 'device zs' in their kernel config file. MFC after: 2 weeks
|
#
bba6f0a9 |
|
22-Nov-2005 |
Marius Strobl <marius@FreeBSD.org> |
- Add a new method ofw_bus_default_get_devinfo() that allows to retrieve a newly introduced struct ofw_bus_devinfo which can hold the OFW info of a device recallable via the ofw_bus KOBJ interface. Introduce a set of functions ofw_bus_gen_get_*() which use ofw_bus_default_get_devinfo() to provide generic subroutines for implementing the rest of the ofw_bus KOBJ interface in a bus driver. This is inspired by bus_get_resource_list() and bus_generic_rl_*_resource() and allows to reduce code duplication in bus drivers as they only have to provide an ofw_bus_default_get_devinfo() implementation in order to provide the ofw_bus KOBJ interface via ofw_bus_gen_get_*(). - While here add a comment to ofw_bus_if.m describing the intention of the ofw_bus KOBJ interface. Reviewed by: marcel
|
#
f9c702db |
|
07-Nov-2005 |
Peter Grehan <grehan@FreeBSD.org> |
Insert a layer of indirection to the pmap code, using a kobj for the interface. This allows run-time selection of MMU code, based on CPU-type detection, or tunable-overrides when testing new code. Pre-requisite for G5 support. conf/files.powerpc - remove pmap.c - add mmu_if.h, mmu_oea.c, pmap_dispatch.c powerpc/include/mmuvar.h - definitions for MMU implementations powerpc/include/pmap.h - remove pmap_pte_spill declaration - add pmap_mmu_install declaration - size the phys_avail array - pmap_bootstrapped is now global-scope powerpc/powerpc/machdep.c - call kobj_machdep_init early in the boot sequence to allow kobj usage prior to SI_SUB_LOCK - install the OEA pmap code. This will be moved to CPU-specific init code in the future. powerpc/powerpc/mmu_if.m - Kobj MMU interface definitions powerpc/powerpc/pmap_dispatch.c - central dispatch for pmap calls - contains the global mmu kobj and the routine to locate the the mmu implementation and init the kobj
|
#
b16d349f |
|
11-Jun-2005 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Refactor the NETSMBCRYPTO option so that it does the same on all platforms. ARM is excluded as it doesn't yet have any crypto sources. Approved by: re (dwhite) MFC after: 1 day
|
#
f263522a |
|
09-Jun-2005 |
Joseph Koshy <jkoshy@FreeBSD.org> |
MFP4: - Implement sampling modes and logging support in hwpmc(4). - Separate MI and MD parts of hwpmc(4) and allow sharing of PMC implementations across different architectures. Add support for P4 (EMT64) style PMCs to the amd64 code. - New pmcstat(8) options: -E (exit time counts) -W (counts every context switch), -R (print log file). - pmc(3) API changes, improve our ability to keep ABI compatibility in the future. Add more 'alias' names for commonly used events. - bug fixes & documentation.
|
#
c6a37e84 |
|
04-Apr-2005 |
John Baldwin <jhb@FreeBSD.org> |
Divorce critical sections from spinlocks. Critical sections as denoted by critical_enter() and critical_exit() are now solely a mechanism for deferring kernel preemptions. They no longer have any affect on interrupts. This means that standalone critical sections are now very cheap as they are simply unlocked integer increments and decrements for the common case. Spin mutexes now use a separate KPI implemented in MD code: spinlock_enter() and spinlock_exit(). This KPI is responsible for providing whatever MD guarantees are needed to ensure that a thread holding a spin lock won't be preempted by any other code that will try to lock the same lock. For now all archs continue to block interrupts in a "spinlock section" as they did formerly in all critical sections. Note that I've also taken this opportunity to push a few things into MD code rather than MI. For example, critical_fork_exit() no longer exists. Instead, MD code ensures that new threads have the correct state when they are created. Also, we no longer try to fixup the idlethreads for APs in MI code. Instead, each arch sets the initial curthread and adjusts the state of the idle thread it borrows in order to perform the initial context switch. This change is largely a big NOP, but the cleaner separation it provides will allow for more efficient alternative locking schemes in other parts of the kernel (bare critical sections rather than per-CPU spin mutexes for per-CPU data for example). Reviewed by: grehan, cognet, arch@, others Tested on: i386, alpha, sparc64, powerpc, arm, possibly more
|
#
c0763d37 |
|
16-Aug-2004 |
Suleiman Souhlal <ssouhlal@FreeBSD.org> |
Add /dev/mem and /dev/kmem to powerpc. Approved by: grehan (mentor)
|
#
26280d88 |
|
12-Aug-2004 |
Marius Strobl <marius@FreeBSD.org> |
- Introduce an ofw_bus kobj-interface for retrieving the OFW node and a subset ("compatible", "device_type", "model" and "name") of the standard properties in drivers for devices on Open Firmware supported busses. The standard properties "reg", "interrupts" und "address" are not covered by this interface because they are only of interest in the respective bridge code. There's a remaining standard property "status" which is unclear how to support properly but which also isn't used in FreeBSD at present. This ofw_bus kobj-interface allows to replace the various (ebus_get_node(), ofw_pci_get_node(), etc.) and partially inconsistent (central_get_type() vs. sbus_get_device_type(), etc.) existing IVAR ones with a common one. This in turn allows to simplify and remove code-duplication in drivers for devices that can hang off of more than one OFW supported bus. - Convert the sparc64 Central, EBus, FHC, PCI and SBus bus drivers and the drivers for their children to use the ofw_bus kobj-interface. The IVAR- interfaces of the Central, EBus and FHC are entirely replaced by this. The PCI bus driver used its own kobj-interface and now also uses the ofw_bus one. The IVARs special to the SBus, e.g. for retrieving the burst size, remain. Beware: this causes an ABI-breakage for modules of drivers which used the IVAR-interfaces, i.e. esp(4), hme(4), isp(4) and uart(4), which need to be recompiled. The style-inconsistencies introduced in some of the bus drivers will be fixed by tmm@ in a generic clean-up of the respective drivers later (he requested to add the changes in the "new" style). - Convert the powerpc MacIO bus driver and the drivers for its children to use the ofw_bus kobj-interface. This invloves removing the IVARs related to the "reg" property which were unused and a leftover from the NetBSD origini of the code. There's no ABI-breakage caused by this because none of these driver are currently built as modules. There are other powerpc bus drivers which can be converted to the ofw_bus kobj-interface, e.g. the PCI bus driver, which should be done together with converting powerpc to use the OFW PCI code from sparc64. - Make the SBus and FHC front-end of zs(4) and the sparc64 eeprom(4) take advantage of the ofw_bus kobj-interface and simplify them a bit. Reviewed by: grehan, tmm Approved by: re (scottl) Discussed with: tmm Tested with: Sun AX1105, AXe, Ultra 2, Ultra 60; PPC cross-build on i386
|
#
cd445f61 |
|
12-Jul-2004 |
Peter Grehan <grehan@FreeBSD.org> |
db_memrw.c has been subsumed into db_interface.c ala sparc64
|
#
e700eaa0 |
|
10-Jul-2004 |
Peter Grehan <grehan@FreeBSD.org> |
Fix build for non-WITNESS case spotted by: Suleiman Souhlal <refugee@segfaulted.com>
|
#
010b69ba |
|
23-Mar-2004 |
Alan Cox <alc@FreeBSD.org> |
Add an implementation of uiomove_fromphys() for PowerPC. This implementation uses the direct virtual-to-physical mapping. Discussed with: grehan
|
#
321fd460 |
|
12-Feb-2004 |
Peter Grehan <grehan@FreeBSD.org> |
Work-in-progress for the 'Kauai' ATA device in Mac notebooks. The device seems to be the macio ATA cell with a PCI front-end, and has no relation to PIIX-style ATA/PCI devices.
|
#
db55e39a |
|
28-Jan-2004 |
Peter Grehan <grehan@FreeBSD.org> |
Implement UMA_MD_SMALL_ALLOC, since the BAT registers allow direct addressing of memory. Makes a substantial improvement for apps that stress the limited amount of KVM on PPC (e.g. untarring the ports tree). uma_machdep.c stolen from amd64/ia64.
|
#
473795dc |
|
20-Jan-2004 |
Peter Grehan <grehan@FreeBSD.org> |
Add syscons files, and also generate a syscons font since Apple SVGA adapters don't have one available in their ROMs.
|
#
f8735aa3 |
|
15-Jan-2004 |
Peter Grehan <grehan@FreeBSD.org> |
- add openpic macio and psim/iobus attachments - alpha sort powermac files
|
#
1de30b60 |
|
13-Jan-2004 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Add ffsl(), fls() flsl() to platforms that don't already have them.
|
#
c8718f79 |
|
28-Jun-2003 |
Peter Grehan <grehan@FreeBSD.org> |
Hook grackle system controller/heathrow interrupt controller to PPC build.
|
#
5d1b6a85 |
|
28-Feb-2003 |
Ruslan Ermilov <ru@FreeBSD.org> |
Standardize handling of locore.[sS] etc. files. Submitted by: jake, bde, ru
|
#
84188b7c |
|
23-Feb-2003 |
Peter Grehan <grehan@FreeBSD.org> |
Add apple partition map GEOM module
|
#
d674899b |
|
06-Feb-2003 |
Benno Rice <benno@FreeBSD.org> |
Add a driver that attaches to the gpio node of macio and allows you to enter DDB when the interrupt button (aka the "programmer's switch") is pressed. This isn't unfortunately an NMI, but it's a handy way to get into DDB quickly if needed.
|
#
fb954d9d |
|
04-Feb-2003 |
Benno Rice <benno@FreeBSD.org> |
Add cpu.c. This contains one exported function, cpu_setup(), which handles setup of and printing information about cpus. Obtained from: NetBSD (parts)
|
#
308d2886 |
|
01-Feb-2003 |
Benno Rice <benno@FreeBSD.org> |
Build glue for zs_macio.
|
#
e263f030 |
|
28-Jan-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
NO_GEOM cleanup: remove subr_disklabel.c from powerpc and x86_64.
|
#
e24f6473 |
|
21-Jan-2003 |
Peter Grehan <grehan@FreeBSD.org> |
Convert remaining .s files to .S Approved by: benno
|
#
03cb4028 |
|
17-Jan-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove subr_diskslice.c and subr_diskmbr.c which I can find no trace of why should be needed in the powerpc files. Not compile tested.
|
#
2a2c7962 |
|
17-Jan-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move subr_disklabel.c and subr_diskslice.c from being MI to MD files, so that they can be left out where they are unneeded.
|
#
a65a2806 |
|
08-Jan-2003 |
Benno Rice <benno@FreeBSD.org> |
Add a pcib variant to allow us to fix up interrupt assignments. We probably want to do something wrt bus enumeration as well at some point.
|
#
e1f89bae |
|
18-Sep-2002 |
Peter Grehan <grehan@FreeBSD.org> |
- added macio and psim files - removed unused extintr.c Approved by: benno
|
#
99bc8c72 |
|
09-Jul-2002 |
Benno Rice <benno@FreeBSD.org> |
Add setjmp (needed for DDB).
|
#
45b4eca5 |
|
09-Jul-2002 |
Benno Rice <benno@FreeBSD.org> |
Add DDB support.
|
#
98f8e6c0 |
|
09-Jul-2002 |
Benno Rice <benno@FreeBSD.org> |
Driver for the Apple UniNorth Host-PCI bridge. This is in a PowerMac-specific subdirectory as it is hoped that we will support more than just the PowerMac platform.
|
#
3008110e |
|
09-Jul-2002 |
Benno Rice <benno@FreeBSD.org> |
Add ofw_pci.c in the pci case.
|
#
25b60a3b |
|
08-Jul-2002 |
Benno Rice <benno@FreeBSD.org> |
1) Add busdma machdep code. 2) Add bus_pio.h and bus_memio.h (which do nothing). Submitted by: Peter Grehan <peterg@ptree32.com.au> (1)
|
#
ca019208 |
|
09-Jul-2002 |
Benno Rice <benno@FreeBSD.org> |
Driver for OpenPIC compatible interrupt controllers. It's fairly PowerMac specific at the moment, but that should be fixable.
|
#
f6a7723d |
|
09-Jul-2002 |
Benno Rice <benno@FreeBSD.org> |
Add interrupt handling support code. I've tried to make this fairly platform-independant as some PowerPC platforms may not have openpic-style interrupt controllers. This may not have the best performance but it works for now.
|
#
825467ca |
|
29-Jun-2002 |
Benno Rice <benno@FreeBSD.org> |
Add in_cksum.c
|
#
6c2a0625 |
|
29-Jun-2002 |
Benno Rice <benno@FreeBSD.org> |
Many fixes to low-level trap and interrupt handling: - Tidy up clock code. Don't repeatedly call hardclock(). - Remove intrnames, decrnest and intrcnt from locore.s - Coalesce all trap handling into a single stub that then calls a dispatch function. Submitted by: Peter Grehan <peterg@ptree32.com.au>
|
#
289fc68d |
|
13-May-2002 |
Benno Rice <benno@FreeBSD.org> |
Build the fpu support routines.
|
#
b23e18d6 |
|
30-Apr-2002 |
Benno Rice <benno@FreeBSD.org> |
Add sigcode.S
|
#
2819d0ad |
|
14-Apr-2002 |
Benno Rice <benno@FreeBSD.org> |
Add ofwd to the GENERIC config for powerpc.
|
#
d74ac681 |
|
26-Mar-2002 |
Matthew Dillon <dillon@FreeBSD.org> |
Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt disablement assumptions in kern_fork.c by adding another API call, cpu_critical_fork_exit(). Cleanup the td_savecrit field by moving it from MI to MD. Temporarily move cpu_critical*() from <arch>/include/cpufunc.h to <arch>/<arch>/critical.c (stage-2 will clean this up). Implement interrupt deferral for i386 that allows interrupts to remain enabled inside critical sections. This also fixes an IPI interlock bug, and requires uses of icu_lock to be enclosed in a true interrupt disablement. This is the stage-1 commit. Stage-2 will occur after stage-1 has stabilized, and will move cpu_critical*() into its own header file(s) + other things. This commit may break non-i386 architectures in trivial ways. This should be temporary. Reviewed by: core Approved by: core
|
#
bf76ba78 |
|
21-Mar-2002 |
Benno Rice <benno@FreeBSD.org> |
Collect all functions for copying to and from userspace into the one file. This allows me to reimplement [sf]u{byte,word} as separate functions and not as calls to copy{in,out}.
|
#
b5a8f767 |
|
05-Mar-2002 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
- Speedup 3DES by using assembly code for i386. - Sync des/blowfish to more recent openssl. Obtained from: KAME/NetBSD MFC after: 2 weeks
|
#
7c629906 |
|
21-Oct-2001 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Move procfs_* from procfs_machdep.c into sys_process.c, and rename them to proc_* in the process; procfs_machdep.c is no longer needed. Run-tested on i386, build-tested on Alpha, untested on other platforms.
|
#
00267919 |
|
26-Jun-2001 |
Benno Rice <benno@FreeBSD.org> |
Add -msoft-float to COPTS to stop GCC attempting to be "smart" and using floating point registers for various optimisation tweaks.
|
#
c585bae1 |
|
17-Jun-2001 |
Benno Rice <benno@FreeBSD.org> |
The final commit for the first phase of PowerPC support. This adds the config stuff needed to build kernels. Reviewed by: obrien
|