Home | History | Annotate | Download | only in oea
History log of /src/sys/arch/powerpc/oea/ofw_rascons.c
RevisionDateAuthorComments
 1.18  17-Aug-2021  andvar fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.17  07-Jul-2020  rin rascons_init_rasops(): Initialize color palette only for macppc.
Fix build failure for ofppc.
 1.16  07-Jul-2020  rin It turned out that using some Open Firmware routines causes the system
freeze after calling OF_quiesce().

This is why setting color palette crash the system for some Power Mac G5
models, like PowerMac11,2.

Therefore, stop using color-palette and backlight callbacks for genfb(4)
in this case.

Also, postpone OF_quiesce() after rascons_init_rasops(), and initialize
color palette there if OF is going to be quiesced and color depth is 8.

Now, color palette for wscons is initialized correctly for PowerMac11,2.
 1.15  07-Jul-2020  rin Fix boot failure for PowerMac11,2 when ``auto-boot?'' is true.

For some machines like PowerMac11,2, Open Firmware does not correctly
initialize console-related variables, like font-adr and line#, when
``auto-boot?'' is true; -1 is returned instead of correct values.

Fall back to wsfont embedded in kernel in this case. Also, do not use
line# if it is negative.
 1.14  16-Mar-2020  macallan make the ROM font usable on G5s:
- copy the font data into a buffer instead of just pointing at the ROM
- don't blindly assume the font's width
- don't try to center output ourselves - rasops_init() will do it for us
- provide a hook to add the ROM font to wsfont when we're ready
 1.13  03-Sep-2018  riastradh Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int. The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER! Some subsystems have

#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX. Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate. But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all. (Who knows, maybe in some cases integer
truncation is actually intended!)
 1.12  02-Mar-2018  macallan branches: 1.12.2; 1.12.4;
add a comment to explain why we defer wsdisplay_preattach() in bridge mode
 1.11  02-Mar-2018  macallan defer scribbling into video memory until after re-enabling the MMU if
we're in bridge mode.
With this NetBSD boots on PCI-X G5s
 1.10  23-Feb-2018  sevan Remove OFB_ENABLE_CACHE
from <macallan>
"it is outdated, genfb and friends don't need or use it, and it makes no sense
on accelerated drivers either. It tries to BAT-map the framebuffer cacheable,
which works on most macs but makes a few models lock up. Genfb doesn't have that
problem and is faster too."
 1.9  11-Apr-2013  macallan branches: 1.9.28;
for some reason we can't use the ROM font on G5, so disable it with
options OFWOEA_WSCONS_NO_ROM_FONT
from Phileas Fogg
 1.8  01-Feb-2012  matt branches: 1.8.6;
Use kmem instead of malloc. Remove unneeded <sys/malloc.h> includes.
 1.7  01-Feb-2012  matt Enable XBSEN and HIGHBAT for OEA 7455 and related CPUs.
The BAT entries now have a resolution of 8MB. (Adjacent entries are merged
up to a total of 2GB per entry).
 1.6  01-Jul-2011  dyoung branches: 1.6.2; 1.6.6;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.5  06-May-2010  macallan set RI_NO_AUTO when initializing the early console - we're so early that
kmem_alloc() can't be used and we don't really need box drawing characters
for the OF font anyway
 1.4  10-Mar-2010  kiyohara branches: 1.4.2;
Remove white-spaces.
 1.3  18-Mar-2009  cegger branches: 1.3.2;
Ansify function definitions w/o arguments. Generated with sed.
 1.2  03-Mar-2008  phx branches: 1.2.4; 1.2.12; 1.2.18; 1.2.26;
Removed the check for device_type==display in rascons_cnattach(). It is not
required, because this function will be called for display-consoles only,
and it allows SmartFirmware to attach a rascons console.
Approved by garbled.
 1.1  26-Nov-2007  garbled branches: 1.1.2; 1.1.4; 1.1.8; 1.1.10; 1.1.18; 1.1.20; 1.1.24;
Apply a set of patches from Frank Wille to make the genfb attachment work
better on ofppc. In doing so, we also move a few functions around in
macppc and the generic ofw powerpc stuff to allow better sharing of code.
Also, introduce a model_init function.

move ofb_cons.c from macppc/dev to powerpc/oea and rename it to rascons.
This gets rid of some naming confusion, and makes it OFW-MI rather than
macppc specific.
 1.1.24.1  03-Apr-2008  mjf Sync with HEAD.
 1.1.20.1  24-Mar-2008  keiichi sync with head.
 1.1.18.3  23-Mar-2008  matt sync with HEAD
 1.1.18.2  09-Jan-2008  matt sync with HEAD
 1.1.18.1  26-Nov-2007  matt file ofw_rascons.c was added on branch matt-armv6 on 2008-01-09 01:47:52 +0000
 1.1.10.2  08-Dec-2007  mjf Sync with HEAD.
 1.1.10.1  26-Nov-2007  mjf file ofw_rascons.c was added on branch mjf-devfs on 2007-12-08 18:17:40 +0000
 1.1.8.3  17-Mar-2008  yamt sync with head.
 1.1.8.2  07-Dec-2007  yamt sync with head
 1.1.8.1  26-Nov-2007  yamt file ofw_rascons.c was added on branch yamt-lazymbuf on 2007-12-07 17:25:56 +0000
 1.1.4.2  03-Dec-2007  ad Sync with HEAD.
 1.1.4.1  26-Nov-2007  ad file ofw_rascons.c was added on branch vmlocking on 2007-12-03 19:04:01 +0000
 1.1.2.2  27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.1.2.1  26-Nov-2007  joerg file ofw_rascons.c was added on branch jmcneill-pm on 2007-11-27 19:35:51 +0000
 1.2.26.1  26-Jan-2011  matt Change battable to have a granularity of 8MB.
 1.2.18.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.2.12.1  28-Apr-2009  skrll Sync with HEAD.
 1.2.4.2  11-Aug-2010  yamt sync with head.
 1.2.4.1  04-May-2009  yamt sync with head.
 1.3.2.2  17-Aug-2010  uebayasi Sync with HEAD.
 1.3.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.4.2.1  30-May-2010  rmind sync with head
 1.6.6.1  18-Feb-2012  mrg merge to -current.
 1.6.2.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.6.2.1  17-Apr-2012  yamt sync with head
 1.8.6.1  23-Jun-2013  tls resync from head
 1.9.28.1  26-Feb-2018  snj Pull up following revision(s) (requested by sevan in ticket #578):
sys/arch/macppc/conf/GENERIC: 1.341
sys/arch/macppc/conf/MAMBO: 1.28
sys/arch/macppc/conf/POWERMAC: 1.69
sys/arch/macppc/conf/POWERMAC_G5: 1.30
sys/arch/powerpc/oea/ofw_rascons.c: 1.10
Remove OFB_ENABLE_CACHE
from <macallan>
"it is outdated, genfb and friends don't need or use it, and it makes no
sense on accelerated drivers either. It tries to BAT-map the framebuffer
cacheable, which works on most macs but makes a few models lock up.
Genfb doesn't have that problem and is faster too."
 1.12.4.2  08-Apr-2020  martin Merge changes from current as of 20200406
 1.12.4.1  10-Jun-2019  christos Sync with HEAD
 1.12.2.1  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)

RSS XML Feed