If booted in frame buffer mode, board-qemu currently calls hv-logical-load and hv-logical-store for every pixel when enabling or disabling the cursor. This is suboptimal when writing one char at a time to the console since terminal-write always toggles the cursor. And this is precisely what grub is doing when the user wants to edit a menu entry... the result is an incredibly slow and barely usable interface.
This series introduces per-board helpers to be used by the frame buffer code, so that board-qemu may have its own accelarated implementation: - the first patch is preliminary cleanup, before moving code out to helpers. - the second patch introduces a helper to invert a memory region byte-per-byte: this fixes the unbearable slowliness of grub editing mode. - the third patch introduces a similar helper with a a quad-word pace: it doesn't bring any speed improvement since board-qemu already uses hv-logical-memop, but it allows to "unify hcall-invert-screen and fb8-invert-screen again". Please comment. --- Greg Kurz (3): fbuffer: simplify address computations in fb8-toggle-cursor fbuffer: introduce the invert-region helper fbuffer: introduce the invert-region-x helper board-js2x/slof/helper.fs | 9 +++++++++ board-qemu/slof/helper.fs | 7 +++++++ board-qemu/slof/pci-device_1234_1111.fs | 10 +--------- slof/fs/fbuffer.fs | 8 +++----- 4 files changed, 20 insertions(+), 14 deletions(-) -- Greg _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev