#
267654 |
|
19-Jun-2014 |
gjb |
Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
263817 |
|
27-Mar-2014 |
ray |
MFC 219886, 226100, 226111, 226341, 242529, 259015, 259016, 259019, 259049, 259071, 259102, 259110, 259129, 259130, 259178, 259179, 259203, 259221, 259261, 259532, 259615, 259650, 259651, 259667, 259680, 259727, 259761, 259772, 259776, 259777, 259830, 259882, 259915, 260160, 260449, 260450, 260688, 260888, 260953, 261269, 261547, 261551, 261552, 261553, 261585 o Merge vt(4) virtual terminal (a.k.a. newcons) to stable/9. o Merge teken updates. o Add few more tty methods required by vt(4). o Update syscons(4) to work with fresh teken.
Sponsored by: The FreeBSD Foundation
|
#
240815 |
|
22-Sep-2012 |
kib |
MFC r237433: Implement mechanism to export some kernel timekeeping data to usermode, using shared page.
MFC r237474: Stop updating the struct vdso_timehands from even handler executed in the scheduled task from tc_windup(). Do it directly from tc_windup in interrupt context.
|
#
239928 |
|
30-Aug-2012 |
jhibbits |
MFC r239027
Add backlight support for nVidia-based PowerBooks/iBooks/iMacs.
|
#
235060 |
|
05-May-2012 |
nwhitehorn |
MFC r230993,230994,230995,230999,231003,231026,231046,231149,231908: Reduce code duplication in Open Firmware based PCI bus drivers, implement infrastructure for NEW_PCIB, and switch to using NEW_PCIB by default.
|
#
232677 |
|
07-Mar-2012 |
jhibbits |
MFC r232177:
Add backlight control to ATI-graphics PowerBooks and iBooks.
Approved by: nwhitehorn (mentor)
|
#
230751 |
|
29-Jan-2012 |
jhibbits |
MFC r226449:
Add support for special keys (volume/brightness/eject) on Apple laptops with ADB keyboards.
Approved by: nwhitehorn (mentor)
|
#
225736 |
|
22-Sep-2011 |
kensmith |
Copy head to stable/9 as part of 9.0-RELEASE release cycle.
Approved by: re (implicit)
|
#
224857 |
|
13-Aug-2011 |
nwhitehorn |
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)
|
#
223314 |
|
19-Jun-2011 |
nwhitehorn |
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.
|
#
223313 |
|
19-Jun-2011 |
nwhitehorn |
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>
|
#
222686 |
|
04-Jun-2011 |
andreast |
Add new fan controller driver for the G4 MDD PowerMac. Submitted and tested by Justin Hibbits.
Approved by: nwhitehorn (mentor)
|
#
222617 |
|
02-Jun-2011 |
nwhitehorn |
Missed file in r222613.
|
#
222449 |
|
29-May-2011 |
andreast |
Add a new driver, the ad7417, to read temperatures and voltages on some PowerMac's.
Approved by: nwhitehorn (mentor)
|
#
222429 |
|
28-May-2011 |
nwhitehorn |
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
|
#
220885 |
|
20-Apr-2011 |
bz |
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
|
#
217515 |
|
17-Jan-2011 |
jkim |
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
|
#
217044 |
|
06-Jan-2011 |
nwhitehorn |
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.
|
#
216174 |
|
04-Dec-2010 |
nwhitehorn |
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.
|
#
216154 |
|
03-Dec-2010 |
nwhitehorn |
Provide a simple IOMMU framework on PowerPC, which is required to support PPC hypervisors.
|
#
215163 |
|
12-Nov-2010 |
nwhitehorn |
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.
|
#
214603 |
|
31-Oct-2010 |
nwhitehorn |
Add a driver for the Apple Uninorth AGP host bridge found in all PowerPC Macintoshes with an AGP bus.
|
#
213904 |
|
15-Oct-2010 |
andreast |
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)
|
#
213383 |
|
03-Oct-2010 |
nwhitehorn |
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
|
#
212453 |
|
11-Sep-2010 |
mav |
Update PowerPC event timer code to use new event timers infrastructure.
Reviewed by: nwitehorn Tested by: andreast H/W donated by: Gheorghe Ardelean
|
#
212054 |
|
31-Aug-2010 |
nwhitehorn |
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.
|
#
211521 |
|
19-Aug-2010 |
nwhitehorn |
FPU EMU is 32-bit only for now, so mark it as a powerpc-only feature. This fixes powerpc64 LINT.
|
#
210677 |
|
31-Jul-2010 |
nwhitehorn |
Add support for the IBM Full-System Simulator (Mambo). This code has been developed against the 970 and Cell simulators.
|
#
209975 |
|
13-Jul-2010 |
nwhitehorn |
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.
|
#
209950 |
|
12-Jul-2010 |
nwhitehorn |
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
|
#
209908 |
|
11-Jul-2010 |
raj |
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
|
#
208842 |
|
05-Jun-2010 |
nwhitehorn |
Add a driver for the CPU temperature sensors attached over I2C on the PowerMac 11,2.
|
#
208149 |
|
16-May-2010 |
nwhitehorn |
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
|
#
196775 |
|
03-Sep-2009 |
ed |
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.
|
#
194679 |
|
23-Jun-2009 |
nwhitehorn |
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.
|
#
194633 |
|
22-Jun-2009 |
raj |
Keep file list sorted.
|
#
194632 |
|
22-Jun-2009 |
raj |
DS1553 RTC module driver. On the MPC8555CDS system it hangs off of the LBC bus.
Obtained from: Semihalf
|
#
194630 |
|
22-Jun-2009 |
raj |
Integrated I2C controller driver (found in MPC85xx and other SOC parts).
Obtained from: Freescale, Semihalf
|
#
193579 |
|
06-Jun-2009 |
raj |
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
|
#
193156 |
|
31-May-2009 |
nwhitehorn |
Introduce support for cpufreq on PowerPC with the dynamic frequency switching capabilities of the MPC7447A and MPC7448.
|
#
192532 |
|
21-May-2009 |
raj |
Initial support for SMP on PowerPC MPC85xx.
Tested with Freescale dual-core MPC8572DS development system.
Obtained from: Freescale, Semihalf
|
#
192067 |
|
13-May-2009 |
nwhitehorn |
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
|
#
191450 |
|
24-Apr-2009 |
marcel |
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.
|
#
190747 |
|
05-Apr-2009 |
nwhitehorn |
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.
|
#
190696 |
|
04-Apr-2009 |
nwhitehorn |
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
|
#
190684 |
|
04-Apr-2009 |
marcel |
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
|
#
190681 |
|
03-Apr-2009 |
nwhitehorn |
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
|
#
189170 |
|
28-Feb-2009 |
ed |
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
|
#
188879 |
|
21-Feb-2009 |
nwhitehorn |
Include altivec.c, missed on previous commit r188860. This should unbreak the build.
|
#
187692 |
|
25-Jan-2009 |
nwhitehorn |
Add support for the I2S and davbus audio controllers found in Apple PowerPC hardware.
Submitted by: Marco Trillo
|
#
187262 |
|
15-Jan-2009 |
nwhitehorn |
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
|
#
187261 |
|
15-Jan-2009 |
nwhitehorn |
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
|
#
187149 |
|
13-Jan-2009 |
raj |
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
|
#
186681 |
|
01-Jan-2009 |
ed |
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)
|
#
186347 |
|
19-Dec-2008 |
nwhitehorn |
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
|
#
185522 |
|
01-Dec-2008 |
sam |
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.
|
#
184299 |
|
26-Oct-2008 |
nwhitehorn |
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)
|
#
184251 |
|
25-Oct-2008 |
marcel |
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.
|
#
184250 |
|
25-Oct-2008 |
marcel |
Add a driver for the Local Bus Controller.
Obtained from: Juniper Networks, Inc.
|
#
183882 |
|
14-Oct-2008 |
nwhitehorn |
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
|
#
183409 |
|
27-Sep-2008 |
nwhitehorn |
Add DMA support for Apple built-in ATA controllers.
Tested by: grehan, marcotrillo@gmail.com MFC after: 1 month
|
#
182189 |
|
26-Aug-2008 |
raj |
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
|
#
179645 |
|
07-Jun-2008 |
marcel |
Add support for the Apple Big Mac (BMAC) Ethernet controller, found on various Apple G3 models.
Submitted by: Nathan Whitehorn
|
#
179644 |
|
07-Jun-2008 |
marcel |
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
|
#
178686 |
|
29-Apr-2008 |
marcel |
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.
|
#
178628 |
|
27-Apr-2008 |
marcel |
MFp4: SMP support
|
#
178596 |
|
26-Apr-2008 |
raj |
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.
|
#
176776 |
|
03-Mar-2008 |
raj |
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
|
#
176493 |
|
23-Feb-2008 |
marcel |
Hook-up the FPU emulator. It's optional upon FPU_EMU.
|
#
175841 |
|
30-Jan-2008 |
grehan |
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
|
#
174782 |
|
19-Dec-2007 |
marcel |
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
|
#
174634 |
|
15-Dec-2007 |
marcel |
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
|
#
174602 |
|
14-Dec-2007 |
marcel |
Sort.
|
#
174600 |
|
14-Dec-2007 |
marcel |
Update file list after repocopying select files from src/sys/powerpc/powerpc to src/sys/powerpc/aim.
|
#
174195 |
|
02-Dec-2007 |
rwatson |
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)
|
#
172967 |
|
25-Oct-2007 |
obrien |
Align.
|
#
171167 |
|
03-Jul-2007 |
gnn |
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
|
#
168424 |
|
06-Apr-2007 |
nyan |
sort.
|
#
168414 |
|
06-Apr-2007 |
kan |
Be more conservative and compile libkern/memset.c only on architectures than need it. These are i386, amd64 and powerpc so far.
|
#
166551 |
|
07-Feb-2007 |
marcel |
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.
|
#
165319 |
|
18-Dec-2006 |
mjacob |
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
|
#
163629 |
|
23-Oct-2006 |
ru |
Move MI parts of syscons into MI "files".
|
#
161593 |
|
24-Aug-2006 |
grehan |
Remove file that snuck in accidentally in Marcel's gdb commit.
|
#
161588 |
|
24-Aug-2006 |
marcel |
Add skeletal support for GDB. In particular gdb_cpu_getreg() needs implementing to make GDB support usable.
|
#
160892 |
|
01-Aug-2006 |
sobomax |
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
|
#
160724 |
|
26-Jul-2006 |
marcel |
Remove zs(4). It has been replaced by scc(4) & uart(4).
|
#
160723 |
|
26-Jul-2006 |
marcel |
Replace sio_iobus.c with uart_iobus.c.
|
#
159445 |
|
08-Jun-2006 |
sam |
add glue for ath_hal
MFC after: 1 month
|
#
158006 |
|
24-Apr-2006 |
marcel |
Revert previous commit. It's not part of the ppc(4) changes.
|
#
158005 |
|
24-Apr-2006 |
marcel |
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.
|
#
157352 |
|
01-Apr-2006 |
marcel |
Add the MacIO attachment for scc(4).
|
#
157317 |
|
30-Mar-2006 |
marcel |
Allow uart(4) to be built on PowerPC.
|
#
156326 |
|
05-Mar-2006 |
yar |
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
|
#
152862 |
|
27-Nov-2005 |
ru |
Make config(8) understand ORed dependecies in "files*" and improve tracking of known devices. Bump config(8) version.
|
#
152685 |
|
22-Nov-2005 |
marius |
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
|
#
152683 |
|
22-Nov-2005 |
marius |
- 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
|
#
152179 |
|
08-Nov-2005 |
grehan |
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
|
#
147307 |
|
11-Jun-2005 |
marcel |
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
|
#
147191 |
|
09-Jun-2005 |
jkoshy |
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.
|
#
144637 |
|
04-Apr-2005 |
jhb |
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
|
#
133855 |
|
16-Aug-2004 |
ssouhlal |
Add /dev/mem and /dev/kmem to powerpc.
Approved by: grehan (mentor)
|
#
133589 |
|
12-Aug-2004 |
marius |
- 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
|
#
132062 |
|
12-Jul-2004 |
grehan |
db_memrw.c has been subsumed into db_interface.c ala sparc64
|
#
131957 |
|
10-Jul-2004 |
grehan |
Fix build for non-WITNESS case
spotted by: Suleiman Souhlal <refugee@segfaulted.com>
|
#
127333 |
|
23-Mar-2004 |
alc |
Add an implementation of uiomove_fromphys() for PowerPC. This implementation uses the direct virtual-to-physical mapping.
Discussed with: grehan
|
#
125735 |
|
12-Feb-2004 |
grehan |
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.
|
#
125184 |
|
28-Jan-2004 |
grehan |
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.
|
#
124773 |
|
21-Jan-2004 |
grehan |
Add syscons files, and also generate a syscons font since Apple SVGA adapters don't have one available in their ROMs.
|
#
124542 |
|
15-Jan-2004 |
grehan |
- add openpic macio and psim/iobus attachments - alpha sort powermac files
|
#
124481 |
|
13-Jan-2004 |
des |
Add ffsl(), fls() flsl() to platforms that don't already have them.
|
#
116966 |
|
28-Jun-2003 |
grehan |
Hook grackle system controller/heathrow interrupt controller to PPC build.
|
#
111684 |
|
28-Feb-2003 |
ru |
Standardize handling of locore.[sS] etc. files.
Submitted by: jake, bde, ru
|
#
111384 |
|
23-Feb-2003 |
grehan |
Add apple partition map GEOM module
|
#
110439 |
|
06-Feb-2003 |
benno |
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.
|
#
110386 |
|
05-Feb-2003 |
benno |
Add cpu.c. This contains one exported function, cpu_setup(), which handles setup of and printing information about cpus.
Obtained from: NetBSD (parts)
|
#
110182 |
|
01-Feb-2003 |
benno |
Build glue for zs_macio.
|
#
109990 |
|
28-Jan-2003 |
phk |
NO_GEOM cleanup: remove subr_disklabel.c from powerpc and x86_64.
|
#
109674 |
|
21-Jan-2003 |
grehan |
Convert remaining .s files to .S
Approved by: benno
|
#
109448 |
|
17-Jan-2003 |
phk |
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.
|
#
109428 |
|
17-Jan-2003 |
phk |
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.
|
#
109001 |
|
09-Jan-2003 |
benno |
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.
|
#
103622 |
|
19-Sep-2002 |
grehan |
- added macio and psim files - removed unused extintr.c
Approved by: benno
|
#
99731 |
|
10-Jul-2002 |
benno |
Add setjmp (needed for DDB).
|
#
99730 |
|
10-Jul-2002 |
benno |
Add DDB support.
|
#
99663 |
|
09-Jul-2002 |
benno |
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.
|
#
99662 |
|
09-Jul-2002 |
benno |
Add ofw_pci.c in the pci case.
|
#
99657 |
|
09-Jul-2002 |
benno |
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)
|
#
99654 |
|
09-Jul-2002 |
benno |
Driver for OpenPIC compatible interrupt controllers. It's fairly PowerMac specific at the moment, but that should be fixable.
|
#
99651 |
|
09-Jul-2002 |
benno |
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.
|
#
99041 |
|
29-Jun-2002 |
benno |
Add in_cksum.c
|
#
99032 |
|
29-Jun-2002 |
benno |
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>
|
#
96500 |
|
13-May-2002 |
benno |
Build the fpu support routines.
|
#
95790 |
|
30-Apr-2002 |
benno |
Add sigcode.S
|
#
94756 |
|
15-Apr-2002 |
benno |
Add ofwd to the GENERIC config for powerpc.
|
#
93264 |
|
27-Mar-2002 |
dillon |
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
|
#
92916 |
|
21-Mar-2002 |
benno |
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}.
|
#
91671 |
|
05-Mar-2002 |
ume |
- Speedup 3DES by using assembly code for i386. - Sync des/blowfish to more recent openssl.
Obtained from: KAME/NetBSD MFC after: 2 weeks
|
#
85297 |
|
21-Oct-2001 |
des |
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.
|
#
78875 |
|
27-Jun-2001 |
benno |
Oops, this was meant to be done in a later commit but I goofed.
This commit was meant to add entries for extintr.c (used partially by the new clock/timecounter which is coming in a later commit) and entries for bits of DDB source, which is also coming soon.
|
#
78874 |
|
27-Jun-2001 |
benno |
Add -msoft-float to COPTS to stop GCC attempting to be "smart" and using floating point registers for various optimisation tweaks.
|
#
78388 |
|
17-Jun-2001 |
benno |
The final commit for the first phase of PowerPC support.
This adds the config stuff needed to build kernels.
Reviewed by: obrien
|