10355 uts: new-font project. Use terminus Unicode fonts for console.

Review Request #1431 — Created Feb. 8, 2019 and submitted

uts: gfx_private 8x16 font rework
uts: tem update to new font structure
uts: font build rules update for new fonts
uts: early boot update for new font structure
uts: gfx_private update for new font structure
uts: use font module from boot loader
uts: tem attributes
uts: replace uts/fommon/font with common/font
mv font.h from boot to uts
i86pc: font_info is now in font.h
uts: do not clear boot screen

  • 0
  • 0
  • 12
  • 1
  • 13
Description From Last Updated
  1. Is it worth checking with Peter re SPARC?

  2. usr/src/uts/common/io/tem.c (Diff revision 1)

    Instead just modify tem_initialized() to return boolean?

  3. usr/src/uts/common/sys/font.h (Diff revision 1)

    nit: "as a module"

  4. usr/src/uts/common/sys/font.h (Diff revision 1)

    nit "make a copy"

  5. usr/src/uts/common/sys/font.h (Diff revision 1)

    nit: "cannot"

  6. usr/src/uts/common/sys/tem_impl.h (Diff revision 1)

    nit: missing closing bracket

  7. usr/src/uts/common/sys/tem_impl.h (Diff revision 1)

    not a fan of this being moved to randomly above the defines - why?

    1. Can not remember any more, fixed anyhow.

  8. usr/src/uts/common/sys/tem_impl.h (Diff revision 1)

    spacing nit

  9. nit "Currently", s/consoler/console/

  10. Please delete this now-out-of-date comment

  11. sizeof needs spaces

  12. nit: spaces for sizeof

  13. This check is just plain weird for this way around the conversion, and can never be the case. Remove?

    Dunno if you want to fix up the boot version too?

    1. Why I have it in place is that, this patch currently is built around the built in default CP437 table; but if someone is really insisting on using vga text and [we] will implement mapping table upload from userland, then this kind check is needed anyhow. It should be pretty easy task to implement uploading both custom font and code page mappings for vga text.

      For this very specific map, yes, we do start from char 0 and the condition c < base is always false.

    2. I get that it might make sense in a more generalized mapper, but right now you have two hard-coded maps. I don't see any advantage to having it there now?

    3. removed:)

  14. usr/src/uts/i86pc/os/ddi_impl.c (Diff revision 1)

    Thanks for this sort of comment, they can be very helpful :)

  2. usr/src/uts/common/sys/font.h (Diff revision 2)

    Please use __packed instead.
    See here: usr/src/uts/common/sys/ccompile.h: line 151.

    1. This one is problem because font.h is shared between loader, dboot, kernel. Perhaps we should have consitional #include lines for stamd.h and ccompile.h, but I am not sure.

    2. Ok, I drop this issue.
  1. Ship It!
  1. Ship It!
Review request changed

Status: Closed (submitted)