History log of /freebsd-10.3-release/sys/powerpc/ofw/ofw_syscons.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 296373 04-Mar-2016 marius

- Copy stable/10@296371 to releng/10.3 in preparation for 10.3-RC1
builds.
- Update newvers.sh to reflect RC1.
- Update __FreeBSD_version to reflect 10.3.
- Update default pkg(8) configuration to use the quarterly branch.

Approved by: re (implicit)

# 266019 14-May-2014 ian

MFC r258268, r258271, r258272, r258274, r258275, r258427, r258694, r258696,
r258697, r258757

Do not assume a value for #address-cells when parsing the OF translations
map. This allows the kernel to get farther with OpenBIOS on 64-bit CPUs.

Actually look up #address-cells instead of assuming it is correlated with
the Uninorth version number.

#interrupt-cells belongs to the iparent, not the device parent.

Add a sysctl to allow disabling resetting the OF syscons.

For PCI<->PCI bridges, #address-cells may be 3.

Make RTAS calls, which call setfault() to recover from machine checks,
preserve any existing fault buffer.

badaddr() is used only in the grackle PCI driver, so move its definition
there. Clean up a spurious setfault() declaration as well.

This [phyp_console] driver doesn't need the /options node, so don't check
for it.

Use the Open Firmware-based CPU frequency determination as a generic
fallback if we can't measure CPU frequency. This is also useful on a
variety of embedded systems using FDT.


# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


# 255904 26-Sep-2013 nwhitehorn

Allow Open Firmware syscons to attach to devices without an "address"
property such as those found on some real and emulated IBM systems. The
approach, which is taken from Linux, is to scan through the PCI bars
until we find one large enough to contain the linear framebuffer and
which is ideally prefetchable if no "address" property can be found.
This makes the graphical console work with the pSeries target in QEMU.

Approved by: re (delphij)


# 255642 17-Sep-2013 nwhitehorn

Only attach if properties we need (address, in particular) are present.
This is the correct version of r255420.

Approved by: re (kib)


# 255421 09-Sep-2013 nwhitehorn

Revert r255420. This seems to break some Powermac systems and will be
revisited much later.

Pointy hat to: me
Approved by: re (kib, implicit due to breakage 10 minutes ago)


# 255420 09-Sep-2013 nwhitehorn

Attach only on hardware that is actually supported as opposed to hardware
that seems like it has some of the problems we might want.

Approved by: re (kib)


# 253979 06-Aug-2013 jhibbits

Micro-optimize OFW syscons 8-bit blank.

MFC after: 1 week


# 239479 21-Aug-2012 adrian

Don't probe the openfirmware framebuffer if the system is a Wii or it
will crash.

Submitted by: Margarida Gouveia


# 230992 04-Feb-2012 nwhitehorn

Avoid warnings about duplicate modules.

MFC after: 2 weeks


# 227309 07-Nov-2011 ed

Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.

The SYSCTL_NODE macro defines a list that stores all child-elements of
that node. If there's no SYSCTL_DECL macro anywhere else, there's no
reason why it shouldn't be static.


# 213336 01-Oct-2010 nwhitehorn

Map the Open Firmware framebuffer console with write combining turned on,
and set memory attributes appropriately for mmap() calls on /dev/console.
Xorg no longer uses /dev/console to mmap the framebuffer, so framebuffer
write combining support in X will arrive in the next patch.


# 209804 08-Jul-2010 nwhitehorn

Make ofw_syscons work on 64-bit systems.


# 209222 15-Jun-2010 nwhitehorn

Modify the console mouse pointer drawing routine to use single-byte writes
instead of 4-byte ones. Because the mouse pointer can start part way
through a character cell, 4-byte memory operations are not necessarily
aligned, triggering a fatal alignment exception when the console pointer
was moved on PowerPC G5 systems.

MFC after: 3 days


# 205795 28-Mar-2010 nwhitehorn

Set hw.ofwfb.relax_mmap=1 by default. While these checks may be a good
idea in principle, X does not work without them on basically any hardware,
and this is probably the most frequent problem people run into on PowerPC.

Prodded by: rnoland
MFC after: 1 week


# 201223 29-Dec-2009 rnoland

Update d_mmap() to accept vm_ooffset_t and vm_memattr_t.

This replaces d_mmap() with the d_mmap2() implementation and also
changes the type of offset to vm_ooffset_t.

Purge d_mmap2().

All driver modules will need to be rebuilt since D_VERSION is also
bumped.

Reviewed by: jhb@
MFC after: Not in this lifetime...


# 190681 04-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


# 186055 13-Dec-2008 nwhitehorn

Allow OFW syscons to restore itself when the X server exits or there is a VT switch
by redoing the Open Firmware card initialization calls in ofwfb_set_mode(). This
uses the same trick (setting V_ADP_MODECHANGE) to arrange this as machfb(4) and
creatorfb(4).


# 186050 13-Dec-2008 nwhitehorn

Add support for a console mouse pointer on Open Firmware syscons.

MFC after: 7.1-RELEASE


# 183901 15-Oct-2008 nwhitehorn

Prevent the OF syscons module from trying to attach to real devices on the
nexus by only attaching to a device with no OF node.


# 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


# 183317 23-Sep-2008 sobomax

Improve rev 183168, so that if /chosen/stdout is connected to the serial
port by OF the syscons won't take over console. Only attach syscons to "screen"
if /chosen/stdout is not connected, which could be the case when loader(8)
is booted directly from the OF. This fixes Marcel's Xserver.

Reported by: marcel


# 183168 19-Sep-2008 sobomax

When attaching framebuffer to "/chosen/stdout" node fails, try attaching
to "screen" node directly. The problem is that by default OF on some (all?)
Macs either doesn't provide "/chosen/stdout" or redirects it somewhere,
unless you boot in manual mode via CMD-ALT-O-F. It's nice to see normal
FreeBSD boot output instead of blank gray screen.


# 150686 28-Sep-2005 marius

Add a font width argument to vi_load_font_t, vi_save_font_t and vi_putm_t
and do some preparations for handling 12x22 fonts (currently lots of code
implies and/or hardcodes a font width of 8 pixels). This will be required
on sparc64 which uses a default font size of 12x22 in order to add font
loading and saving support as well as to use a syscons(4)-supplied mouse
pointer image.
This API breakage is committed now so it can be MFC'ed in time for 6.0
and later on upcoming framebuffer drivers destined for use on sparc64
and which are expected to rely on using font loading internally and on
a syscons(4)-supplied mouse pointer image can be easily MFC'ed to
RELENG_6 rather than requiring a backport.

Tested on: i386, sparc64, make universe
MFC after: 1 week


# 149116 16-Aug-2005 grehan

Remove unnecessary and alarming printf.

MFC after: 1 day


# 146462 21-May-2005 grehan

Quick hack-o-rama to allow the Xorg Radeon driver to start up. It
tries to mmap memory outside of the available BARs, so allow the
range checks to be relaxed with a sysctl.


# 143830 19-Mar-2005 grehan

Optimize putc routine to write 2 ints instead of 8 chars to uncached
framebuffer memory. Speeds up system time of large ascii file cat
by 4x.

Inspired by: Linux scrolling so damned fast.


# 142414 25-Feb-2005 grehan

Mods for Xorg server:

- store assigned PCI addresses at cninit time for later mmap range
check
- implement set_border to scrub X remnants when switching back to VTYs
- implement mmap, only allowing addresses within the range of the
console adapter.


# 133809 16-Aug-2004 grehan

Advertise that color is supported so that syscons doesn't come up
in monochrome mode when run as init.


# 131671 06-Jul-2004 grehan

Add 32-bit framebuffer support. Tested on PearPC at lo-res, too painful
to watch at hi-res.


# 131102 25-Jun-2004 grehan

Catchup to now-required <sys/module.h> for PowerPC


# 124771 21-Jan-2004 grehan

A syscons implementation using the 8-bit framebuffer set up by
OpenFirmware. Not at all optimized, but provides a PC-style
user-experience.

Tested on revA imac, B&W G3, 2k iBook, and G4 eMac.