[PATCHv2/RFC 0/8] i386 VESA framebuffer support

Gedare Bloom gedare at rtems.org
Thu Nov 20 14:54:59 UTC 2014


Committed, please verify. There were 3 whitespace errrors (newline at
EOF) if you care to find and fix them.

-Gedare

On Thu, Nov 20, 2014 at 9:00 AM, Jan Dolezal <dolezj21 at fel.cvut.cz> wrote:
> Framebuffer driver for i386 PC686BSP utilizing VESA BIOS EXTENSIONS
> to initialize graphics mode during startup of RTEMS executive.
> Temporary switch to realmode is used for Video BIOS invocation.
>
> The implementation has been tested with microwindows from RTEMS Graphics
> Toolkit using QEMU {cirrus, std} and on real hardware - Intel Crestline
> integrated graphic, NVidia GeForce 6600GT, AMD Radeon HD 7770 and some
> other cards.
>
> changes since v1:
>     - header namespace: <bsptblsizes.h> -> <bsp/tblsizes.h> [PATCH 1/8]
>     - names and implementation of converting functions between realmode
>         pointer and physical address and back [PATCH 2/8]
>     - GDTR manipulation functions parameters changed to use explicit
>         width types [PATCH 3/8]
>     - using macro RTEMS_INLINE_ROUTINE where applicable
>     - defined macro RTEMS_COMPILER_PACKED_ATTRIBUTE [PATCH 4/8]
>     - i386_raw_gdt_entry() present bit used as protection from using
>         entry if it is not completely written [PATCH 5/8]
>     - renamed realmode interface related files from int16* to realmode_int*
>       [PATCH 6/8]
>     - renamed and merged functions for obtaining realmode buffer
>         from *primary_buffer* to *default_buffer* [PATCH 6/8]
>     - edid.h - more portable - removed bitfields, using only byte size types
>              - dropped support for EDID v2 since it is deprecated
>                by v1.3 (2/2000) and may appear only as an extension
>                according to E-EDID (7/2006)
>             [PATCH 7/8]
>     - struct modeParams typedefed [PATCH 8/8]
>
> changes proposed by and applied thanks to Gedare Bloom and Pavel Pisa
>
> Jan Dolezal (8):
>   i386/pc386: configurable size of descriptor tables
>   score: i386: functions converting real mode pointer to physical
>     address and back
>   i386: GDTR manipulation functions parameters changed to use explicit
>     width types
>   cpukit: basedefs: macro for packed attribute
>   i386: global descriptor table manipulation functions
>   i386/shared/realmode_int: real mode interrupt interface
>   i386/pc386/include: header files for VESA BIOS EXTENSIONS and VESA
>     Extended Display Identification Data
>   i386/pc386: VESA based frame buffer utilizing real mode interrupt 10h
>
>  c/src/lib/libbsp/i386/pc386/Makefile.am            |  10 +
>  c/src/lib/libbsp/i386/pc386/configure.ac           |  18 +
>  c/src/lib/libbsp/i386/pc386/console/fb_vesa_rm.c   | 858 +++++++++++++++++++++
>  c/src/lib/libbsp/i386/pc386/include/bsp.h          |   6 +-
>  c/src/lib/libbsp/i386/pc386/include/edid.h         | 513 ++++++++++++
>  c/src/lib/libbsp/i386/pc386/include/fb_vesa.h      | 131 ++++
>  c/src/lib/libbsp/i386/pc386/include/tblsizes.h     |  25 +
>  c/src/lib/libbsp/i386/pc386/include/vbe3.h         | 463 +++++++++++
>  c/src/lib/libbsp/i386/pc386/preinstall.am          |  22 +
>  c/src/lib/libbsp/i386/pc386/start/start.S          |   8 +
>  c/src/lib/libbsp/i386/pc386/startup/ldsegs.S       |  18 +-
>  c/src/lib/libbsp/i386/shared/irq/idt.c             | 156 +++-
>  .../libbsp/i386/shared/realmode_int/realmode_int.c | 406 ++++++++++
>  .../libbsp/i386/shared/realmode_int/realmode_int.h |  85 ++
>  c/src/lib/libcpu/i386/cpu.h                        |  95 ++-
>  c/src/lib/libcpu/i386/idtr.S                       |   6 +-
>  cpukit/score/cpu/i386/cpu_asm.S                    |  43 ++
>  cpukit/score/cpu/i386/rtems/score/i386.h           |  32 +
>  cpukit/score/include/rtems/score/basedefs.h        |  10 +
>  19 files changed, 2853 insertions(+), 52 deletions(-)
>  create mode 100644 c/src/lib/libbsp/i386/pc386/console/fb_vesa_rm.c
>  create mode 100644 c/src/lib/libbsp/i386/pc386/include/edid.h
>  create mode 100644 c/src/lib/libbsp/i386/pc386/include/fb_vesa.h
>  create mode 100644 c/src/lib/libbsp/i386/pc386/include/tblsizes.h
>  create mode 100644 c/src/lib/libbsp/i386/pc386/include/vbe3.h
>  create mode 100644 c/src/lib/libbsp/i386/shared/realmode_int/realmode_int.c
>  create mode 100644 c/src/lib/libbsp/i386/shared/realmode_int/realmode_int.h
>
> --
> 1.9.1
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel



More information about the devel mailing list