Home | History | Annotate | Download | only in dev
History log of /src/sys/arch/luna68k/dev/lunafb.c
RevisionDateAuthorComments
 1.49  03-Oct-2022  tsutsui Remove global hwplanecount and use ri_depth in struct rasops instead.

No functional change.
 1.48  01-Oct-2022  tsutsui Set an actual framebuffer depth (bpp) to rasops ri_depth.

The previous value was derived from OpenBSD/luna88k but
it has not been referenced even via ioctl(2).
 1.47  25-Sep-2022  isaki lunafb: Improve drawing performance using VRAM ROP features.
- Drawing a character on 4bpp normally needs 4 times writes, but by using
VRAM ROP actively, it can be reduced to write only once.
The same goes for copyrows. If the whole row consists of only two colors
(one foreground and one background), it can be copied by reading once and
writing once, regardless of the number of planes. Only if the row consists
of more than two colors, it will be copied plane by plane.
- On 8bpp board, it acts as 4bpp (16 colors).
- On 4bpp board on the real LUNA-I(68030/20MHz), monochrome scroll is about
4 times faster even without asm. Using asm improves it by additional 5%
(asm is enabled by default).
- By tsutsui@-san's report, even color scroll is about about 2 times faster
on his 8bpp board on the real LUNA-II(68040).
This was first developped by Y.Sugahara back in late 2019, and was modified
a lot by me in 2022.
http://mail-index.netbsd.org/port-luna68k/2022/09/23/msg000072.html
 1.46  14-Jul-2022  tsutsui Misc KNF and cosmetics.
 1.45  14-Jul-2022  tsutsui Fix pasto.
 1.44  03-Jul-2022  andvar fix various typos in comments, mainly s/pallete/palette/.
 1.43  07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.42  24-Apr-2021  thorpej branches: 1.42.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.41  22-Sep-2019  rin branches: 1.41.10;
Correct size of framebuffer; page offset appears only once,
not every color depths.

Pointed out by Araki Ken. Thanks!
 1.40  23-Jul-2019  rin branches: 1.40.2;
For drivers whose framebuffer is located not page-aligned, permit
offset of mmap up to (length of framebuffer) + (page offset of base
address of framebuffer). This is necessary in order to map the
highest page of framebuffer correctly, see,
http://cvsweb.netbsd.org/bsdweb.cgi/xsrc/external/mit/xf86-video-wsfb/dist/src/wsfb_driver.c#rev1.35
 1.39  30-Jun-2019  tsutsui Pull OpenBSD/luna88k board.h to define SX9100 board device addresses.

Also replace magic addresses with macro where appropriate.
 1.38  30-Jun-2019  tsutsui Misc KNF.
 1.37  24-Jan-2018  riastradh branches: 1.37.4;
Fix integer overflows noted by Silvio Cesare of InfoSect.

Someone^TM should name these idioms so we can eliminate this class of
copypasta bug.
 1.36  04-Oct-2014  tsutsui Pull LUNA's framebuffer improvements by Kenji Aoyama from OpenBSD/luna88k.

http://marc.info/?l=openbsd-cvs&m=141199909120631&w=2
>> Use raster(logic) operation, or ROP, function on LUNA frame buffer.
>> It makes 4bpp wscons putchar ~20% faster.

This Makes 4bpp wscons putchar ~30% on LUNA-II.

Also use the similar ROP in 1bpp putchar and cursor functions
and the 1bpp putchar is also ~5% faster.
While here, reduce diffs from OpenBSD a bit.

Tested on all 1bpp/4bpp/8bpp framebuffers.
 1.35  25-Jul-2014  tsutsui branches: 1.35.2;
Implement WSDISPLAYIO_SMODE ioctl for proper mmap and colormap handling.

- allow mmap framebuffer memories only in WSDISPLAYIO_DUMBFB
- initialize palette for ANSI text colors on back to WSDISPLAYIO_MODE_EMUL

Tested on LUNA with 4bpp framebuffer.
 1.34  24-Jul-2014  tsutsui Add consistent prefix to a softc member name.
 1.33  18-Jul-2014  tsutsui Use kmem(9) instead of malloc(9).
 1.32  18-Jul-2014  tsutsui Use C99 struct initialization for wsdisplay_accessops.
 1.31  13-Jul-2014  tsutsui Setup Bt458 color palette to support ANSI color text on 8bpp framebuffer.

Mostly taken from OpenBSD/luna88k. Also sync some comments.
Tested on LUNA-II, and mlterm-fb with 8bpp wallpaper also works fine.

Thanks to Kenji Aoyama (OpenBSD/luna88k maintainer) for providing
his spare 8bpp board.
 1.30  30-Dec-2013  tsutsui branches: 1.30.2;
Pull a fix of Bt458 (8bpp framebuffer) initialization from OpenBSD/luna88k.

http://marc.info/?l=openbsd-cvs&m=138838884202196
>> Correct initialization of Bt458, used in LUNA's 8bpp frame buffer.
>>
>> According to the manual, the address register does not automatically
>> increment when we access to the control registers. Also we disable
>> overlay planes, because we do not use them.
 1.29  28-Dec-2013  tsutsui Add preleminary support of 4bpp LUNA framebuffer.

Changes details:
- prepare and switch 4bpp rasops functions that read/write all 4 planes
and also handle both fg and bg colors
- make 1bpp ops use first plane on write rather than common bitmap plane
(which is prepared for multiple plane write with raster ops)
- prepare 4bpp allocattr function to handle ANSI 16 color text
- split omrasops_init() function for each bpp
- move struct hwcmap from softc to hwdevconfig to sync palette values
on initialization
- allow mmap(2) against all available planes

Now we can use ANSI 16 color text console and also can
demonstrate mlterm-fb with color sixel graphics and wallpaper.
XXX: Xserver needs much more work.
 1.28  14-Dec-2013  tsutsui Initialize capabilities in struct wsscreen_descr per omrasops settings.

Now REVERSE characters are drawn properly.
 1.27  19-Jul-2013  tsutsui Properly initialize the palette for while on black even on 1bpp framebuffer.
Preparing for demonstration in Open Source Conference 2013 Kyoto.
 1.26  20-Jul-2012  tsutsui branches: 1.26.2; 1.26.4; 1.26.10;
Switch luna68k wscons framebuffer driver to using rasops(9) APIs instead of
deprecated rcons(4). This allows "options FONT_foo" in kernel config files.
Mostly taken from OpenBSD/luna88k, but unnecessary MI rasops(9) stuff is
omitted since omrasops.c has own raster wsdisplay_emulops functions.
Tested on LUNA with 4bpp fb and LUNA-II with 1bpp fb.
 1.25  27-Jul-2011  tsutsui branches: 1.25.2; 1.25.8;
KNF, use uintNN_t, tab/space cosmetics etc.
 1.24  27-Jul-2011  tsutsui - split device_t/softc and use device_t and cfdata_t etc.
- use aprint_normal(9)
- include "ioconf.h" for struct cfdriver decls
No crash on LUNA.
 1.23  21-Jul-2011  tsutsui Add and return WSKBD_TYPE_LUNA and WSDISPLAY_TYPE_LUNA on WS*_GTYPE ioctls.

XXX: should we still sync <sys/dev/wsconsio.h> and src/sbin/wsconsctl/util.c?
 1.22  21-Jul-2011  tsutsui Changes put for luna68k X.Org mono server demo at OSC 2011 Kansai @ Kyoto:
- sprinkle volatile around register access
- initialize pallete for WHITE on BLACK text
- add WSDISPLAYIO_LINEBYTES ioctl(2)
- fix index count in omsetcmap()
- make omfbmmap() return cookie for OMFB_FB_RADDR to make
X.Org wsfb driver work on 1bpp framebuffer memory
(XXX: should revisit later)
- make WSDISPLAYIO_GINFO always return 1bpp to avoid pallete mangled
by X.Org server initialization
(XXX: should revisit later)
 1.21  18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.20  16-Mar-2009  dsl ANSIfy functions with function-pointer arguments
 1.19  14-Mar-2009  dsl ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.18  14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.17  14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.16  28-Apr-2008  martin branches: 1.16.8; 1.16.14;
Remove clause 3 and 4 from TNF licenses
 1.15  04-Mar-2007  christos branches: 1.15.40; 1.15.42; 1.15.44;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.14  12-Apr-2006  jmmv branches: 1.14.14;
Add an extra cookie to the ioctl and mmap wsdisplay accessops that points
to the screen on which they are being called. The driver cannot guess
this by itself but it is needed to implement, at least, the getwschar and
putwschar functions in the correct place. There are no functional changes
yet.

Tested on i386 (vga, vga_raster, machfb, vesafb), macppc and sparc64.
Suggested and reviewed by macallan@.
 1.13  11-Dec-2005  christos branches: 1.13.4; 1.13.6; 1.13.8; 1.13.10; 1.13.12;
merge ktrace-lwp.
 1.12  13-Nov-2003  chs branches: 1.12.16;
eliminate uvm_useracc() in favor of checking the return value of
copyin() or copyout().

uvm_useracc() tells us whether the mapping permissions allow access to
the desired part of an address space, and many callers assume that
this is the same as knowing whether an attempt to access that part of
the address space will succeed. however, access to user space can
fail for reasons other than insufficient permission, most notably that
paging in any non-resident data can fail due to i/o errors. most of
the callers of uvm_useracc() make the above incorrect assumption. the
rest are all misguided optimizations, which optimize for the case
where an operation will fail. we'd rather optimize for operations
succeeding, in which case we should just attempt the access and handle
failures due to insufficient permissions the same way we handle i/o
errors. since there appear to be no good uses of uvm_useracc(), we'll
just remove it.
 1.11  02-Apr-2003  thorpej branches: 1.11.2;
Use PAGE_SIZE rather than NBPG.
 1.10  02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.9  06-Aug-2002  itojun integer overflow. from silvio@qualys.com
 1.8  04-Jul-2002  junyoung alloc_attr -> allocattr

Approved by Matthias Drochner.
 1.7  17-Mar-2002  atatat branches: 1.7.4; 1.7.6;
Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command". ERESTART is -1, which can lead to
confusion. ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4. No ioctl code should now return -1 anywhere. The
ioctl() system call is now properly restartable.
 1.6  29-Jun-2000  mrg branches: 1.6.2; 1.6.6; 1.6.10;
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.5  26-Jun-2000  simonb Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes. Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
 1.4  12-Jan-2000  nisimura branches: 1.4.4;
- Fix an error in clearing entire screen.
- Add 3 byte long mouse event parsing.
- Fix errors in comments.
 1.3  08-Jan-2000  nisimura Kludge to avoid a panic in badaddr() when no framebuffer is installed.
 1.2  06-Jan-2000  nisimura Fix a typo of screen size; pointed by tsubai.
 1.1  05-Jan-2000  nisimura Introduce NetBSD/luna68k port into CVS repository.
 1.4.4.2  04-Sep-2002  itojun pullup (itojun)

sys/arch/amiga/dev/grf_cv3d.c 1.11
sys/arch/hpcmips/dev/mq200.c 1.21
sys/arch/i386/i386/sys_machdep.c 1.64
sys/arch/luna68k/dev/lunafb.c 1.9
sys/arch/sparc/dev/bt_subr.c via patch
sys/arch/sparc64/dev/bt_subr.c via patch
sys/arch/sun3/dev/bt_subr.c via patch
sys/compat/ibcs2/ibcs2_stat.c 1.21-1.23
sys/dev/sun/bt_subr.c 1.3
sys/dev/tc/cfb.c 1.34
sys/dev/tc/sfb.c 1.53
sys/dev/tc/xcfb.c 1.29
integer overflow. reported by silvio@qualys.com
 1.4.4.1  30-Jun-2000  simonb Pull up mmap paddr_t/off_t changes from trunk.
 1.6.10.4  18-Oct-2002  nathanw Catch up to -current.
 1.6.10.3  13-Aug-2002  nathanw Catch up to -current.
 1.6.10.2  01-Aug-2002  nathanw Catch up to -current.
 1.6.10.1  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.6.6.3  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.6.6.2  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.6.6.1  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.2.2  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.6.2.1  29-Jun-2000  bouyer file lunafb.c was added on branch thorpej_scsipi on 2000-11-20 20:10:25 +0000
 1.7.6.1  07-Aug-2002  lukem Pull up revision 1.9 (requested by itojun in ticket #616):
integer overflow. from silvio@qualys.com
 1.7.4.2  31-Aug-2002  gehenna catch up with -current.
 1.7.4.1  16-Jul-2002  gehenna catch up with -current.
 1.11.2.4  25-Jan-2005  skrll Adapt to branch.
 1.11.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.11.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.11.2.1  03-Aug-2004  skrll Sync with HEAD
 1.12.16.2  03-Sep-2007  yamt sync with head.
 1.12.16.1  21-Jun-2006  yamt sync with head.
 1.13.12.1  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.13.10.1  19-Apr-2006  elad sync with head - hopefully this will work
 1.13.8.1  24-May-2006  yamt sync with head.
 1.13.6.1  22-Apr-2006  simonb Sync with head.
 1.13.4.1  09-Sep-2006  rpaulo sync with head
 1.14.14.1  12-Mar-2007  rmind Sync with HEAD.
 1.15.44.2  04-May-2009  yamt sync with head.
 1.15.44.1  16-May-2008  yamt sync with head.
 1.15.42.1  18-May-2008  yamt sync with head.
 1.15.40.1  02-Jun-2008  mjf Sync with HEAD.
 1.16.14.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.16.8.1  28-Apr-2009  skrll Sync with HEAD.
 1.25.8.3  09-Nov-2014  msaitoh Pull up following revision(s) (requested by tsutsui in ticket #1182):
sys/arch/luna68k/conf/files.luna68k: revision 1.24
sys/arch/luna68k/conf/GENERIC: revision 1.113 via patch
sys/arch/luna68k/dev/omrasops.c: revision 1.17-1.19
sys/arch/luna68k/dev/lunaws.c: revision 1.30
sys/arch/luna68k/dev/omkbdmap.c: revision 1.1-1.2
sys/arch/luna68k/dev/omkbdmap.h: revision 1.1
sys/arch/luna68k/dev/lunafb.c: revision 1.31-1.36
sys/arch/luna68k/dev/omrasopsvar.h: revision 1.3
- Setup Bt458 color palette to support ANSI color text on 8bpp framebuffer.
Mostly taken from OpenBSD/luna88k. Also sync some comments.
Tested on LUNA-II, and mlterm-fb with 8bpp wallpaper also works fine.
Thanks to Kenji Aoyama (OpenBSD/luna88k maintainer) for providing
his spare 8bpp board.
- Use C99 struct initialization for wsdisplay_accessops.
- Use kmem(9) instead of malloc(9).
- Pull LUNA's keyboard driver changes from OpenBSD/luna88k. Now LUNA's
keyboard works on Xorg server without tweaks by xmodmap(1) etc.
- split keyboard mapping definitions to new files, omkbdmap.[ch]
- add WSDISPLAY_COMPAT_RAWKBD support
(actually the name is wrong; it doesn't emit raw keycode but
converts MD code into PS/2 one as "raw keycode on x86" for Xorg server)
- allow to enter into ddb by CTRL+ALT(zenmen)+ESC
- remove unnecessary return values
- Add consistent prefix to a softc member name.
- Implement WSDISPLAYIO_SMODE ioctl for proper mmap and colormap handling.
Tested on LUNA with 4bpp framebuffer.
- allow mmap framebuffer memories only in WSDISPLAYIO_DUMBFB
- initialize palette for ANSI text colors on back to WSDISPLAYIO_MODE_EMUL
- Pull readability changes from OpenBSD/luna88k.
Tested on LUNA-II with 8bpp framebuffer.
- prepare and use unpack_attr() function to get fg and bg from attribute
- use proper variable names to clarify meanings
- Put dumb optimizations to avoid conditionals in putchar drawing loops.
~10% improvements of time cat results on LUNA-II 8bpp framebuffer.
- Fix unintended RCS Id substitution.
- Pull LUNA's framebuffer improvements by Kenji Aoyama from OpenBSD/luna88k.
This Makes 4bpp wscons putchar ~30% on LUNA-II.
http://marc.info/?l=openbsd-cvs&m=141199909120631&w=2
> Use raster(logic) operation, or ROP, function on LUNA frame buffer.
> It makes 4bpp wscons putchar ~20% faster.
Also use the similar ROP in 1bpp putchar and cursor functions
and the 1bpp putchar is also ~5% faster.
While here, reduce diffs from OpenBSD a bit.
Tested on all 1bpp/4bpp/8bpp framebuffers.
- Add options WSDISPLAY_COMPAT_RAWKBD for Xorg server.
 1.25.8.2  12-Jan-2014  bouyer Pull up following revision(s) (requested by tsutsui in ticket #1005):
sys/arch/luna68k/dev/omrasops.c: revision 1.15
sys/arch/luna68k/dev/omrasops.c: revision 1.16
sys/arch/luna68k/dev/lunafb.c: revision 1.27
sys/arch/luna68k/dev/lunafb.c: revision 1.28
sys/arch/luna68k/dev/lunafb.c: revision 1.29
sys/arch/luna68k/dev/lunafb.c: revision 1.30
sys/arch/luna68k/dev/omrasopsvar.h: revision 1.2
sys/arch/luna68k/dev/omrasops.c: revision 1.14
Properly initialize the palette for while on black even on 1bpp framebuffer.
Preparing for demonstration in Open Source Conference 2013 Kyoto.
Fix off by one in copyrows() backward case.
Make omrasops copycols() op work even if columns are not 32 bit aligned.
This means command line editing works properly in any cases.
The bitcopy strategies for 1bpp copycols() op are taken from
recently fixed MI sys/dev/rasops/rasops_bitops.h.
GETBITS() and PUTBITS() m68k asm macro are taken from hp300.
Tested on both 1bpp (on LUNA-II) and 4bpp (on LUNA) framebuffers.
Initialize capabilities in struct wsscreen_descr per omrasops settings.
Now REVERSE characters are drawn properly.
Add preleminary support of 4bpp LUNA framebuffer.
Changes details:
- prepare and switch 4bpp rasops functions that read/write all 4 planes
and also handle both fg and bg colors
- make 1bpp ops use first plane on write rather than common bitmap plane
(which is prepared for multiple plane write with raster ops)
- prepare 4bpp allocattr function to handle ANSI 16 color text
- split omrasops_init() function for each bpp
- move struct hwcmap from softc to hwdevconfig to sync palette values
on initialization
- allow mmap(2) against all available planes
Now we can use ANSI 16 color text console and also can
demonstrate mlterm-fb with color sixel graphics and wallpaper.
XXX: Xserver needs much more work.
Pull a fix of Bt458 (8bpp framebuffer) initialization from OpenBSD/luna88k.
http://marc.info/?l=openbsd-cvs&m=138838884202196
> Correct initialization of Bt458, used in LUNA's 8bpp frame buffer.
>
> According to the manual, the address register does not automatically
> increment when we access to the control registers. Also we disable
> overlay planes, because we do not use them.
 1.25.8.1  25-Jul-2012  martin Pull up following revision(s) (requested by tsutsui in ticket #444):
sys/arch/luna68k/conf/GENERIC: revision 1.99
sys/arch/luna68k/dev/lunafb.c: revision 1.26
sys/arch/luna68k/luna68k/locore.s: revision 1.48
sys/arch/luna68k/dev/lunaws.c: revision 1.24
sys/arch/luna68k/dev/omron_rfont.h: file removal
sys/arch/luna68k/dev/omrasopsvar.h: revision 1.1
sys/arch/luna68k/dev/omrasops.c: revision 1.12
sys/arch/luna68k/dev/omrasops.c: revision 1.13
sys/arch/luna68k/conf/INSTALL: revision 1.6
Use & not && to mask bits. From OpenBSD/luna88k
Fix typo in comment. From OpenBSD/luna88k.
Switch luna68k wscons framebuffer driver to using rasops(9) APIs instead of
deprecated rcons(4). This allows "options FONT_foo" in kernel config files.
Mostly taken from OpenBSD/luna88k, but unnecessary MI rasops(9) stuff is
omitted since omrasops.c has own raster wsdisplay_emulops functions.
Tested on LUNA with 4bpp fb and LUNA-II with 1bpp fb.
Make reboot(2) actually work (don't access %sp after MMU is turned off).
Also cleanup spaces and #if 0'ed code. Tested on both LUNA and LUNA-II.
Should be pulled up to netbsd-6.
 1.25.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.25.2.1  30-Oct-2012  yamt sync with head
 1.26.10.1  23-Jul-2013  riastradh sync with HEAD
 1.26.4.2  18-May-2014  rmind sync with head
 1.26.4.1  28-Aug-2013  rmind sync with head
 1.26.2.2  03-Dec-2017  jdolecek update from HEAD
 1.26.2.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.30.2.1  10-Aug-2014  tls Rebase.
 1.35.2.1  05-Oct-2014  martin Pull up following revision(s) (requested by tsutsui in ticket #130):
sys/arch/luna68k/dev/omrasops.c: revision 1.17
sys/arch/luna68k/dev/omrasops.c: revision 1.18
sys/arch/luna68k/dev/omrasops.c: revision 1.19
sys/arch/luna68k/dev/omrasopsvar.h: revision 1.3
sys/arch/luna68k/dev/lunafb.c: revision 1.36
Pull readability changes from OpenBSD/luna88k.
- prepare and use unpack_attr() function to get fg and bg from attribute
- use proper variable names to clarify meanings
Tested on LUNA-II with 8bpp framebuffer.
Put dumb optimizations to avoid conditionals in putchar drawing loops.
~10% improvements of time cat results on LUNA-II 8bpp framebuffer.
Pull LUNA's framebuffer improvements by Kenji Aoyama from OpenBSD/luna88k.
http://marc.info/?l=openbsd-cvs&m=141199909120631&w=2
> Use raster(logic) operation, or ROP, function on LUNA frame buffer.
> It makes 4bpp wscons putchar ~20% faster.
This Makes 4bpp wscons putchar ~30% on LUNA-II.
Also use the similar ROP in 1bpp putchar and cursor functions
and the 1bpp putchar is also ~5% faster.
While here, reduce diffs from OpenBSD a bit.
Tested on all 1bpp/4bpp/8bpp framebuffers.
 1.37.4.1  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.40.2.1  03-Oct-2019  martin Pull up following revision(s) (requested by rin in ticket #271):

sys/arch/luna68k/dev/lunafb.c: revision 1.41

Correct size of framebuffer; page offset appears only once,
not every color depths.

Pointed out by Araki Ken. Thanks!
 1.41.10.1  21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.42.8.1  04-Aug-2021  thorpej Adapt to CFARGS().

RSS XML Feed