summaryrefslogtreecommitdiffstats
path: root/sys/conf/files.powerpc
Commit message (Collapse)AuthorAgeFilesLines
* Introduce support for cpufreq on PowerPC with the dynamic frequencynwhitehorn2009-05-311-0/+3
| | | | switching capabilities of the MPC7447A and MPC7448.
* Initial support for SMP on PowerPC MPC85xx.raj2009-05-211-0/+1
| | | | | | Tested with Freescale dual-core MPC8572DS development system. Obtained from: Freescale, Semihalf
* Factor out platform dependent things unrelated to device drivers into anwhitehorn2009-05-141-0/+4
| | | | | | | | | | 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
* Add suppport for ISA and ISA interrupts to make the ATAmarcel2009-04-241-0/+2
| | | | | | | 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.
* Add an Open Firmware access module for real-mode OF accesses to the PowerPCnwhitehorn2009-04-051-0/+1
| | | | | build. This is required for the IBM Mambo simulator, as well as a variety of non-Apple PowerPC hardware.
* Modularize the Macintosh built-in ATA along the lines of the rest of thenwhitehorn2009-04-041-3/+3
| | | | | | | ATA system as an optional atamacio device. PR: powerpc/133161 Submitted by: Bruce Cran
* PowerPC, meet kernel core dumps. The support is basedmarcel2009-04-041-0/+1
| | | | | | | | | | | | | | | | | | 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
* Add support for 64-bit PowerPC CPUs operating in the 64-bit bridge modenwhitehorn2009-04-041-2/+3
| | | | | | | | | | 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
* Add memmove() to the kernel, making the kernel compile with Clang.ed2009-02-281-0/+1
| | | | | | | | | | | | 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
* Include altivec.c, missed on previous commit r188860. This should unbreak thenwhitehorn2009-02-211-0/+1
| | | | build.
* Add support for the I2S and davbus audio controllers found in Apple PowerPCnwhitehorn2009-01-251-0/+5
| | | | | | hardware. Submitted by: Marco Trillo
* Driver for Apple Keywest I2C controllers found in MacIO ASICs. Used fornwhitehorn2009-01-151-0/+1
| | | | | | | | 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
* Import an Open Firmware I2C bus module. This attaches firmware device treenwhitehorn2009-01-151-0/+1
| | | | | | | | 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
* Rework BookE pmap towards multi-core support.raj2009-01-131-1/+0
| | | | | | | | | | | | | | | | | | | | | | | 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
* Replace syscons terminal renderer by a new renderer that uses libteken.ed2009-01-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* Modularize the Open Firmware client interface to allow run-time switchingnwhitehorn2008-12-201-0/+2
| | | | | | | | | | | | 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
* Switch to ath hal source code. Note this removes the ath_halsam2008-12-011-10/+0
| | | | | | | | | | | | | | | | | 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.
* Add ADB support. This provides support for the external ADB bus on the PowerMacnwhitehorn2008-10-261-0/+8
| | | | | | | | 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)
* Add a driver for flash memory that implements to the Common Flashmarcel2008-10-251-0/+1
| | | | | | | | | | 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.
* Add a driver for the Local Bus Controller.marcel2008-10-251-0/+1
| | | | Obtained from: Juniper Networks, Inc.
* Convert PowerPC AIM PCI and nexus busses to standard OFW bus interface. Thisnwhitehorn2008-10-141-1/+1
| | | | | | | | | | | 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
* Add DMA support for Apple built-in ATA controllers.nwhitehorn2008-09-271-0/+1
| | | | | Tested by: grehan, marcotrillo@gmail.com MFC after: 1 month
* tsec: Refactor driver's structure.raj2008-08-261-0/+1
| | | | | | | | | | | | 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
* Add support for the Apple Big Mac (BMAC) Ethernet controller,marcel2008-06-071-0/+1
| | | | | | found on various Apple G3 models. Submitted by: Nathan Whitehorn
* Add support for Apple's Descriptor-Based DMA (DBDMA) engine. The DMAmarcel2008-06-071-0/+1
| | | | | | | 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
* mp_machdep.c is only conditional upon smp, not aim. If booke growsmarcel2008-04-301-1/+1
| | | | support for smp, mp_machdep.c needs to be included as well.
* MFp4: SMP supportmarcel2008-04-271-0/+1
|
* Introduce a dedicated file for MPC85xx-specific routines. Move cpu_reset()raj2008-04-261-0/+1
| | | | | there, as it's not relevant to Book-E specification, but is an implementation detail, directly dependent on the given SoC version.
* Connect MPC85XX to the PowerPC build.raj2008-03-031-2/+20
| | | | | | | | | | | | | | | | | 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
* Hook-up the FPU emulator. It's optional upon FPU_EMU.marcel2008-02-231-0/+10
|
* Enable ofwdump on powerpc (finally). Tested on G3 & G4 machines.grehan2008-01-311-0/+1
| | | | | Submitted by: Dan Stekloff <dsteklof at c i s c o dot com> Discussed with: marcel
* Redefine bus_space_tag_t on PowerPC from a 32-bit integral tomarcel2007-12-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | 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
* Make files under src/sys/powerpc/aim, as well as Open Firmware relatedmarcel2007-12-161-22/+22
| | | | | | | files dependent upon option/cpu AIM. This is in preparation of adding support for Book-E (e500) support. Obtained from: Juniper, Semihalf
* Sort.marcel2007-12-141-52/+42
|
* Update file list after repocopying select files frommarcel2007-12-141-14/+14
| | | | src/sys/powerpc/powerpc to src/sys/powerpc/aim.
* Break out stack(9) from ddb(4):rwatson2007-12-021-0/+1
| | | | | | | | | | | | | | | | | | | | - 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)
* Align.obrien2007-10-251-7/+7
|
* Commit the change from FAST_IPSEC to IPSEC. The FAST_IPSECgnn2007-07-031-2/+2
| | | | | | | | 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
* sort.nyan2007-04-061-1/+1
|
* Be more conservative and compile libkern/memset.c only on architectureskan2007-04-061-0/+1
| | | | than need it. These are i386, amd64 and powerpc so far.
* Evolve the ctlreq interface added to geom_gpt into a genericmarcel2007-02-071-1/+0
| | | | | | | | | | | 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.
* opt_ah.h ends up copied into a kernelcompile directory in somemjacob2006-12-181-1/+1
| | | | | | | | | | | 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
* Move MI parts of syscons into MI "files".ru2006-10-231-7/+0
|
* Remove file that snuck in accidentally in Marcel's gdb commit.grehan2006-08-251-1/+0
|
* Add skeletal support for GDB. In particular gdb_cpu_getreg() needsmarcel2006-08-241-0/+2
| | | | implementing to make GDB support usable.
* Add device to access and modify Open Firmware NVRAM settings insobomax2006-08-011-0/+2
| | | | | | | | | 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
* Remove zs(4). It has been replaced by scc(4) & uart(4).marcel2006-07-261-2/+0
|
* Replace sio_iobus.c with uart_iobus.c.marcel2006-07-261-1/+1
|
* add glue for ath_halsam2006-06-081-0/+11
| | | | MFC after: 1 month
* Revert previous commit. It's not part of the ppc(4) changes.marcel2006-04-241-1/+0
|
OpenPOWER on IntegriCloud