[U-Boot] [PATCH 0/19] x86: ivybridge: Add graphics support
Simon Glass
sjg at chromium.org
Sat Nov 15 04:56:26 CET 2014
This series adds a graphics driver and support for execution of the VGA
option ROM. This option ROM is required on ivybridge for the graphics to
work, at least until someone creates the equivalent source code.
Option ROMs can be run using U-Boot's BIOS emulator, but on x86 it is also
possible to run then natively. This is something of a pain to arrange due
to all the environment that is required (16-bit to 32-bit calls, etc.) but
it can be done, so this series adds that feature too.
Video mode selection is useful as it allows different resolutions to be
selected. This series adds support for VESA modes and a way of selecting
the mode to use in U-Boot.
These options are enabled for chromebook_link, which now boots to a prompt
complete with a functioning LCD. A resolution 0f 1280x1024 is selected by
default.
While the Chrome OS EC works correctly, the keyboard does not as yet. Also
U-Boot is currently very slow, taking about 2 seconds to boot to a prompt
when video is enabled. These problems will be the subject of future work.
Simon Glass (19):
x86: Add a definition of asmlinkage
Introduce a header file for the BIOS emulator
x86: Add GDT descriptors for option ROMs
x86: Add vesa mode configuration options
Add support for Vesa BIOS extensions
x86: Add support for running option ROMs natively
pci: Add general support for execution of video ROMs
x86: video: Add video driver for bare x86 boards
x86: Allow an option ROM to be built into U-Boot
x86: Add initial video device init for Intel GMA
x86: dts: Add video information to the device tree
x86: config: Enable video support for chromebook_link
bios_emulator: Allow x86 to use the emulator
bios_emulator: Add vesa support and allow ROMs to be passed in as data
bios_emulator: Allow a custom interrupt handler to be installed
bios_emulator: Add an option to enable debugging
bios_emulator: Always print errors when opcode decode fails
x86: chromebook_link: Enable the x86 emulator
x86: chromebook_link: Enable the Chrome OS EC
Makefile | 3 +
arch/x86/Kconfig | 149 +++++
arch/x86/cpu/cpu.c | 9 +-
arch/x86/cpu/ivybridge/Makefile | 1 +
arch/x86/cpu/ivybridge/bd82x6x.c | 13 +-
arch/x86/cpu/ivybridge/gma.c | 756 ++++++++++++++++++++++++++
arch/x86/cpu/ivybridge/gma.h | 157 ++++++
arch/x86/dts/link.dts | 13 +
arch/x86/include/asm/arch-ivybridge/bd82x6x.h | 2 +
arch/x86/include/asm/processor.h | 31 +-
arch/x86/lib/Makefile | 3 +
arch/x86/lib/bios.c | 348 ++++++++++++
arch/x86/lib/bios.h | 98 ++++
arch/x86/lib/bios_asm.S | 281 ++++++++++
arch/x86/lib/bios_interrupts.c | 219 ++++++++
board/google/chromebook_link/link.c | 4 +
doc/device-tree-bindings/video/intel-gma.txt | 40 ++
drivers/bios_emulator/Makefile | 2 +-
drivers/bios_emulator/atibios.c | 198 +++++--
drivers/bios_emulator/besys.c | 100 ++--
drivers/bios_emulator/bios.c | 4 +-
drivers/bios_emulator/biosemui.h | 2 +-
drivers/bios_emulator/include/biosemu.h | 53 +-
drivers/bios_emulator/include/x86emu.h | 7 +-
drivers/bios_emulator/include/x86emu/debug.h | 20 +-
drivers/bios_emulator/include/x86emu/regs.h | 2 +-
drivers/bios_emulator/x86emu/debug.c | 10 +-
drivers/bios_emulator/x86emu/decode.c | 24 +-
drivers/bios_emulator/x86emu/ops.c | 58 +-
drivers/bios_emulator/x86emu/ops2.c | 4 +-
drivers/bios_emulator/x86emu/sys.c | 5 +
drivers/pci/Makefile | 2 +-
drivers/pci/pci_rom.c | 276 ++++++++++
drivers/video/Makefile | 1 +
drivers/video/ati_radeon_fb.c | 2 +-
drivers/video/x86_fb.c | 37 ++
include/bios_emul.h | 65 +++
include/common.h | 3 +
include/configs/chromebook_link.h | 19 +-
include/fdtdec.h | 1 +
include/pci_rom.h | 58 ++
include/vbe.h | 103 ++++
include/video_fb.h | 2 +-
lib/fdtdec.c | 1 +
44 files changed, 2950 insertions(+), 236 deletions(-)
create mode 100644 arch/x86/cpu/ivybridge/gma.c
create mode 100644 arch/x86/cpu/ivybridge/gma.h
create mode 100644 arch/x86/lib/bios.c
create mode 100644 arch/x86/lib/bios.h
create mode 100644 arch/x86/lib/bios_asm.S
create mode 100644 arch/x86/lib/bios_interrupts.c
create mode 100644 doc/device-tree-bindings/video/intel-gma.txt
create mode 100644 drivers/pci/pci_rom.c
create mode 100644 drivers/video/x86_fb.c
create mode 100644 include/bios_emul.h
create mode 100644 include/pci_rom.h
create mode 100644 include/vbe.h
--
2.1.0.rc2.206.gedb03e5
More information about the U-Boot
mailing list